3 #![feature(type_alias_impl_trait)]
5 use std::future::Future;
7 type G<'a, T> = impl Future<Output = ()> + 'a;
10 type F: Future<Output = ()>;
12 fn f(&self) -> Self::F;
14 fn g<'a>(&'a self) -> G<'a, Self>
18 async move { self.f().await }
19 //~^ ERROR: the trait bound `T: Trait` is not satisfied