1 error[E0373]: async block may outlive the current function, but it borrows `x`, which is owned by the current function
2 --> $DIR/async-borrowck-escaping-block-error.rs:6:20
4 LL | Box::new(async { x } )
7 | | `x` is borrowed here
8 | may outlive borrowed value `x`
10 note: async block is returned here
11 --> $DIR/async-borrowck-escaping-block-error.rs:4:20
13 LL | fn test_boxed() -> Box<impl std::future::Future<Output = u32>> {
14 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15 help: to force the async block to take ownership of `x` (and any other referenced variables), use the `move` keyword
17 LL | Box::new(async move { x } )
20 error[E0373]: async block may outlive the current function, but it borrows `x`, which is owned by the current function
21 --> $DIR/async-borrowck-escaping-block-error.rs:11:11
26 | | `x` is borrowed here
27 | may outlive borrowed value `x`
29 note: async block is returned here
30 --> $DIR/async-borrowck-escaping-block-error.rs:11:5
34 help: to force the async block to take ownership of `x` (and any other referenced variables), use the `move` keyword
36 LL | async move { *x }
39 error: aborting due to 2 previous errors
41 For more information about this error, try `rustc --explain E0373`.