// A value parameter declared `T: Type` (WITHOUT the `$` generic sigil) used in // a type position is rejected with a hint to write `$T: Type`. Previously the // type resolver silently fabricated a 0-field struct named `T`, so the call // compiled and rendered as `T{}` at runtime with no diagnostic. // Regression (issue 0064). Expected: one error per `T` use site; exit 1. idwrap :: (T: Type, f: Closure() -> T) -> T { return f(); } main :: () -> i32 { return idwrap(i32, closure(() -> i32 { return 7; })); }