I tried this code:
#![feature(lazy_type_alias)]
type Foo<T> = u32;
This current fails but I believe it should compile. I Imagine the reason we currently forbid this on stable is that as we have no representation for free type aliases in Ty any unused arguments to free type aliases would never be seen. With free type aliases having a proper representation as part of Ty under this feature gate it ought to be possible to soundly support this?
Tested on: nightly rust 1.88.0 2025-04-07 e643f59
I tried this code:
This current fails but I believe it should compile. I Imagine the reason we currently forbid this on stable is that as we have no representation for free type aliases in
Tyany unused arguments to free type aliases would never be seen. With free type aliases having a proper representation as part ofTyunder this feature gate it ought to be possible to soundly support this?Tested on: nightly rust 1.88.0 2025-04-07 e643f59