1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// check-pass // pretty-expanded FIXME #23616 trait Base { fn dummy(&self) { } } trait AssocA { type X: Base; fn dummy(&self) { } } trait AssocB { type Y: Base; fn dummy(&self) { } } impl<T: AssocA> AssocB for T { type Y = <T as AssocA>::X; } fn main() {}