//@ check-pass
trait Base {
fn dummy(&self) { }
}
trait AssocA {
type X: Base;
trait AssocB {
type Y: Base;
impl<T: AssocA> AssocB for T {
type Y = <T as AssocA>::X;
fn main() {}