```rust trait Super { type SAssoc; } trait Trait<'a>: Super<SAssoc = <Self as Trait<'a>>::TAssoc> { type TAssoc; } fn unconstrained_lt<T: for<'a> Trait<'a>>(x: <T as Super>::SAssoc) {} ``` The function argument of `unconstrained_lt` normalizes to `<T as Trait<'unconstrained>>::TAssoc`