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