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