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