1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
trait Bar { type Ok; type Sibling: Bar2<Ok=Self::Ok>; } trait Bar2 { type Ok; } struct Foo; struct Foo2; impl Bar for Foo { type Ok = (); type Sibling = Foo2; //~^ ERROR type mismatch resolving `<Foo2 as Bar2>::Ok == ()` } impl Bar2 for Foo2 { type Ok = u32; } fn main() {}