trait Proj { type Assoc; } impl Proj for T { type Assoc = T; } struct Fail, U>(T); impl Fail { const C: () = (); } fn main() { Fail::::C //~^ ERROR: type mismatch }