// check-pass #![feature(type_alias_impl_trait)] type Opaque = impl Sized; fn defining() -> Opaque {} struct Ss<'a, T>(&'a Opaque); fn test<'a, T>(_: Ss<'a, T>) { // test that we have an implied bound `Opaque: 'a` from fn signature None::<&'a Opaque>; } fn main() {}