error[E0658]: `async fn` return type cannot contain a projection or `Self` that references lifetimes from a parent scope
  --> $DIR/issue-78600.rs:6:33
   |
LL |     async fn new(i: &'a i32) -> Result<Self, ()> {
   |                                 ^^^^^^^----^^^^^
   |                                        |
   |                                        help: consider spelling out the type instead: `S<'a>`
   |
   = note: see issue #103532 <https://github.com/rust-lang/rust/issues/103532> for more information
   = help: add `#![feature(impl_trait_projections)]` to the crate attributes to enable

error: aborting due to previous error

For more information about this error, try `rustc --explain E0658`.
