1 // check-pass 2 3 pub trait Trait<'a> { 4 type Assoc; 5 } 6 7 pub struct Type; 8 9 impl<'a> Trait<'a> for Type { 10 type Assoc = (); 11 } 12 break_me<T, F>(f: F) where T: for<'b> Trait<'b>, F: for<'b> FnMut(<T as Trait<'b>>::Assoc),13pub fn break_me<T, F>(f: F) 14 where 15 T: for<'b> Trait<'b>, 16 F: for<'b> FnMut(<T as Trait<'b>>::Assoc), 17 { 18 break_me::<Type, fn(_)>; 19 } 20 main()21fn main() {} 22