1 // check-pass 2 3 #![feature(generic_associated_types)] 4 5 trait Marker {} 6 7 impl Marker for u32 {} 8 9 trait MyTrait { 10 type Item<'a>; 11 } 12 13 struct MyStruct; 14 15 impl MyTrait for MyStruct { 16 type Item<'a> = u32; 17 } 18 ty_check<T>() where T: MyTrait, for<'a> T::Item<'a>: Marker19fn ty_check<T>() 20 where 21 T: MyTrait, 22 for<'a> T::Item<'a>: Marker 23 {} 24 main()25fn main() { 26 ty_check::<MyStruct>(); 27 } 28