// check-pass | |
#![feature(coroutines, coroutine_trait)] | |
#![feature(type_alias_impl_trait)] | |
trait Trait {} | |
impl<T> Trait for T {} | |
type Foo<'c> = impl Trait + 'c; | |
fn foo<'a>(rng: &'a ()) -> Foo<'a> { | |
fn helper<'b>(rng: &'b ()) -> impl 'b + Trait { | |
rng | |
} | |
helper(rng) | |
} | |
fn main() { | |
} |