trait Tr { type Assoc; } struct W(T); impl Tr for W { type Assoc = u32; } impl Tr for W { type Assoc = i32; } fn needs_unit>() {} fn main() { needs_unit::>(); //~^ ERROR type mismatch resolving ` as Tr>::Assoc == ()` }