error[E0477]: the type `&mut ()` does not fulfill the required lifetime --> $DIR/issue-90014.rs:15:20 | LL | type Fut<'a> | ------------ definition of `Fut` from trait ... LL | type Fut<'a> = impl Future; | ^^^^^^^^^^^^^^^^^^^^^^^^ | note: type must outlive the lifetime `'a` as defined here --> $DIR/issue-90014.rs:15:14 | LL | type Fut<'a> = impl Future; | ^^ help: copy the `where` clause predicates from the trait | LL | type Fut<'a> = impl Future where Self: 'a; | ++++++++++++++ error: aborting due to previous error For more information about this error, try `rustc --explain E0477`.