error: `async` trait bounds are only allowed in Rust 2018 or later
  --> $DIR/edition-2015.rs:2:16
   |
LL | fn foo(x: impl async Fn()) -> impl async Fn() { x }
   |                ^^^^^
   |
   = help: pass `--edition 2024` to `rustc`
   = note: for more on editions, read https://doc.rust-lang.org/edition-guide

error: `async` trait bounds are only allowed in Rust 2018 or later
  --> $DIR/edition-2015.rs:2:36
   |
LL | fn foo(x: impl async Fn()) -> impl async Fn() { x }
   |                                    ^^^^^
   |
   = help: pass `--edition 2024` to `rustc`
   = note: for more on editions, read https://doc.rust-lang.org/edition-guide

error[E0658]: `async` trait bounds are unstable
  --> $DIR/edition-2015.rs:2:16
   |
LL | fn foo(x: impl async Fn()) -> impl async Fn() { x }
   |                ^^^^^
   |
   = note: see issue #62290 <https://github.com/rust-lang/rust/issues/62290> for more information
   = help: add `#![feature(async_trait_bounds)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
   = help: use the desugared name of the async trait, such as `AsyncFn`

error[E0658]: `async` trait bounds are unstable
  --> $DIR/edition-2015.rs:2:36
   |
LL | fn foo(x: impl async Fn()) -> impl async Fn() { x }
   |                                    ^^^^^
   |
   = note: see issue #62290 <https://github.com/rust-lang/rust/issues/62290> for more information
   = help: add `#![feature(async_trait_bounds)]` to the crate attributes to enable
   = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
   = help: use the desugared name of the async trait, such as `AsyncFn`

error: aborting due to 4 previous errors

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