error[E0310]: the associated type `::{opaque#0}` may not live long enough --> $DIR/async-and-ret-ref.rs:7:5 | LL | async fn foo() -> &'static impl T; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | | the associated type `::{opaque#0}` must be valid for the static lifetime... | ...so that the reference type `&'static impl T` does not outlive the data it points at | = help: consider adding an explicit lifetime bound `::{opaque#0}: 'static`... error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0310`.