error[E0277]: the trait bound `T: Trait` is not satisfied --> $DIR/issue-89686.rs:18:9 | LL | async move { self.f().await } | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Trait` is not implemented for `T` | help: consider restricting type parameter `T` | LL | type G<'a, T: Trait> = impl Future + 'a; | +++++++ error: aborting due to previous error For more information about this error, try `rustc --explain E0277`.