// 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 AssocB for T { type Y = ::X; } fn main() {}