1 2 3 4 5 6 7 8 9 10 11 12 13 14
//@ check-pass #![feature(type_alias_impl_trait)] type Opaque<'lt> = impl Sized + 'lt; #[define_opaque(Opaque)] fn test<'a>( arg: impl Iterator<Item = &'a u8>, ) -> impl Iterator<Item = Opaque<'a>> { arg } fn main() {}