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),13 pub 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()21 fn main() {}
22