1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
// check-pass #![feature(generic_associated_types)] pub trait Trait { type Assoc<'a> where Self: 'a; } pub trait Foo<T: Trait> where for<'a> T::Assoc<'a>: Clone {} pub struct Type; impl<T: Trait> Foo<T> for Type where for<'a> T::Assoc<'a>: Clone {} fn main() {}