//@ check-pass // Make sure we don't crash with a cycle error during coherence. #![feature(specialization)] //~ WARN the feature `specialization` is incomplete trait Trait { type Assoc; } impl Trait for Vec { default type Assoc = (); } impl Trait for Vec { type Assoc = u8; } impl Trait for String { type Assoc = (); } impl Trait< as Trait>::Assoc> for String {} fn main() {}