//@ check-pass #![feature(type_alias_impl_trait)] fn opaque<'a: 'a>() -> impl Sized {} fn assert_static(_: T) {} fn test_closure() { let closure = |_| { assert_static(opaque()); }; closure(&opaque()); } mod helper { pub type Opaque2 = impl Sized; pub type Opaque<'a> = Opaque2; fn define<'a>() -> Opaque<'a> {} } use helper::*; fn test_tait(_: &Opaque<'_>) { None::<&'static Opaque<'_>>; } fn main() {}