error: this function can be simplified using the `async fn` syntax
  --> $DIR/manual_async_fn.rs:8:1
   |
LL | fn fut() -> impl Future<Output = i32> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: `-D clippy::manual-async-fn` implied by `-D warnings`
help: make the function `async` and return the output of the future directly
   |
LL | async fn fut() -> i32 {
   | ^^^^^^^^^^^^^^^^^^^^^
help: move the body of the async block to the enclosing function
   |
LL | fn fut() -> impl Future<Output = i32> { 42 }
   |                                       ^^^^^^

error: this function can be simplified using the `async fn` syntax
  --> $DIR/manual_async_fn.rs:13:1
   |
LL | fn fut2() ->impl Future<Output = i32> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: make the function `async` and return the output of the future directly
   |
LL | async fn fut2() -> i32 {
   | ^^^^^^^^^^^^^^^^^^^^^^
help: move the body of the async block to the enclosing function
   |
LL | fn fut2() ->impl Future<Output = i32> { 42 }
   |                                       ^^^^^^

error: this function can be simplified using the `async fn` syntax
  --> $DIR/manual_async_fn.rs:18:1
   |
LL | fn fut3()-> impl Future<Output = i32> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: make the function `async` and return the output of the future directly
   |
LL | async fn fut3() -> i32 {
   | ^^^^^^^^^^^^^^^^^^^^^^
help: move the body of the async block to the enclosing function
   |
LL | fn fut3()-> impl Future<Output = i32> { 42 }
   |                                       ^^^^^^

error: this function can be simplified using the `async fn` syntax
  --> $DIR/manual_async_fn.rs:22:1
   |
LL | fn empty_fut() -> impl Future<Output = ()> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: make the function `async` and remove the return type
   |
LL | async fn empty_fut() {
   | ^^^^^^^^^^^^^^^^^^^^
help: move the body of the async block to the enclosing function
   |
LL | fn empty_fut() -> impl Future<Output = ()> {}
   |                                            ^^

error: this function can be simplified using the `async fn` syntax
  --> $DIR/manual_async_fn.rs:27:1
   |
LL | fn empty_fut2() ->impl Future<Output = ()> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: make the function `async` and remove the return type
   |
LL | async fn empty_fut2() {
   | ^^^^^^^^^^^^^^^^^^^^^
help: move the body of the async block to the enclosing function
   |
LL | fn empty_fut2() ->impl Future<Output = ()> {}
   |                                            ^^

error: this function can be simplified using the `async fn` syntax
  --> $DIR/manual_async_fn.rs:32:1
   |
LL | fn empty_fut3()-> impl Future<Output = ()> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: make the function `async` and remove the return type
   |
LL | async fn empty_fut3() {
   | ^^^^^^^^^^^^^^^^^^^^^
help: move the body of the async block to the enclosing function
   |
LL | fn empty_fut3()-> impl Future<Output = ()> {}
   |                                            ^^

error: this function can be simplified using the `async fn` syntax
  --> $DIR/manual_async_fn.rs:36:1
   |
LL | fn core_fut() -> impl core::future::Future<Output = i32> {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: make the function `async` and return the output of the future directly
   |
LL | async fn core_fut() -> i32 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^
help: move the body of the async block to the enclosing function
   |
LL | fn core_fut() -> impl core::future::Future<Output = i32> { 42 }
   |                                                          ^^^^^^

error: this function can be simplified using the `async fn` syntax
  --> $DIR/manual_async_fn.rs:58:5
   |
LL |     fn inh_fut() -> impl Future<Output = i32> {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: make the function `async` and return the output of the future directly
   |
LL |     async fn inh_fut() -> i32 {
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
help: move the body of the async block to the enclosing function
   |
LL |     fn inh_fut() -> impl Future<Output = i32> {
LL |         // NOTE: this code is here just to check that the indentation is correct in the suggested fix
LL |         let a = 42;
LL |         let b = 21;
LL |         if a < b {
LL |             let c = 21;
 ...

error: this function can be simplified using the `async fn` syntax
  --> $DIR/manual_async_fn.rs:93:1
   |
LL | fn elided(_: &i32) -> impl Future<Output = i32> + '_ {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: make the function `async` and return the output of the future directly
   |
LL | async fn elided(_: &i32) -> i32 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: move the body of the async block to the enclosing function
   |
LL | fn elided(_: &i32) -> impl Future<Output = i32> + '_ { 42 }
   |                                                      ^^^^^^

error: this function can be simplified using the `async fn` syntax
  --> $DIR/manual_async_fn.rs:102:1
   |
LL | fn explicit<'a, 'b>(_: &'a i32, _: &'b i32) -> impl Future<Output = i32> + 'a + 'b {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
help: make the function `async` and return the output of the future directly
   |
LL | async fn explicit<'a, 'b>(_: &'a i32, _: &'b i32) -> i32 {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: move the body of the async block to the enclosing function
   |
LL | fn explicit<'a, 'b>(_: &'a i32, _: &'b i32) -> impl Future<Output = i32> + 'a + 'b { 42 }
   |                                                                                    ^^^^^^

error: aborting due to 10 previous errors

