trait Trait { type Foo; } impl Trait for () { type Foo = u32; //~^ error: type `Foo` has an incompatible generic parameter for trait } fn main() {}