error: large future with a size of 16385 bytes
  --> tests/ui/large_futures.rs:13:9
   |
LL |         big_fut([0u8; 1024 * 16]).await;
   |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider `Box::pin` on it: `Box::pin(big_fut([0u8; 1024 * 16]))`
   |
   = note: `-D clippy::large-futures` implied by `-D warnings`
   = help: to override `-D warnings` add `#[allow(clippy::large_futures)]`

error: large future with a size of 16386 bytes
  --> tests/ui/large_futures.rs:16:5
   |
LL |     f.await
   |     ^ help: consider `Box::pin` on it: `Box::pin(f)`

error: large future with a size of 16387 bytes
  --> tests/ui/large_futures.rs:21:9
   |
LL |         wait().await;
   |         ^^^^^^ help: consider `Box::pin` on it: `Box::pin(wait())`

error: large future with a size of 16387 bytes
  --> tests/ui/large_futures.rs:27:13
   |
LL |             wait().await;
   |             ^^^^^^ help: consider `Box::pin` on it: `Box::pin(wait())`

error: large future with a size of 65540 bytes
  --> tests/ui/large_futures.rs:35:5
   |
LL |     foo().await;
   |     ^^^^^ help: consider `Box::pin` on it: `Box::pin(foo())`

error: large future with a size of 49159 bytes
  --> tests/ui/large_futures.rs:38:5
   |
LL |     calls_fut(fut).await;
   |     ^^^^^^^^^^^^^^ help: consider `Box::pin` on it: `Box::pin(calls_fut(fut))`

error: large future with a size of 65540 bytes
  --> tests/ui/large_futures.rs:51:5
   |
LL | /     async {
LL | |
LL | |
LL | |         let x = [0i32; 1024 * 16];
LL | |         async {}.await;
LL | |         println!("{:?}", x);
LL | |     }
   | |_____^
   |
help: consider `Box::pin` on it
   |
LL ~     Box::pin(async {
LL +
LL + 
LL +         let x = [0i32; 1024 * 16];
LL +         async {}.await;
LL +         println!("{:?}", x);
LL +     })
   |

error: large future with a size of 65540 bytes
  --> tests/ui/large_futures.rs:64:13
   |
LL | /             async {
LL | |
LL | |                 let x = [0i32; 1024 * 16];
LL | |                 async {}.await;
LL | |                 println!("macro: {:?}", x);
LL | |             }
   | |_____________^
...
LL |       macro_!().await
   |       --------- in this macro invocation
   |
   = note: this error originates in the macro `macro_` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider `Box::pin` on it
   |
LL ~             Box::pin(async {
LL +
LL +                 let x = [0i32; 1024 * 16];
LL +                 async {}.await;
LL +                 println!("macro: {:?}", x);
LL +             })
   |

error: aborting due to 8 previous errors

