//@ check-pass pub trait Trait<'a> { type Assoc; } pub struct Type; impl<'a> Trait<'a> for Type { type Assoc = (); } pub fn break_me(f: F) where T: for<'b> Trait<'b>, F: for<'b> FnMut(>::Assoc), { break_me::; } fn main() {}