1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
pub trait Super { type Assoc; } impl Super for () { type Assoc = u8; } pub trait Test {} impl<T> Test for T where T: Super<Assoc = ()> {} fn test() -> impl Test { //~^ERROR type mismatch resolving `<() as Super>::Assoc == ()` () } fn main() { let a = test(); }