//@ check-pass trait Foo<'a> { type Input; } impl Foo<'_> for F { type Input = u32; } fn needs_super Fn(>::Input) + for<'a> Foo<'a>>(_: F) {} fn main() { needs_super(|_: u32| {}); }