31 lines
1.3 KiB
Plaintext
31 lines
1.3 KiB
Plaintext
|
|
error[E0373]: async block may outlive the current function, but it borrows `room_ref`, which is owned by the current function
|
||
|
|
--> $DIR/issue-78938-async-block.rs:8:39
|
||
|
|
|
|
||
|
|
LL | let gameloop_handle = spawn(async {
|
||
|
|
| _______________________________________^
|
||
|
|
LL | | game_loop(Arc::clone(&room_ref))
|
||
|
|
| | -------- `room_ref` is borrowed here
|
||
|
|
LL | | });
|
||
|
|
| |_____^ may outlive borrowed value `room_ref`
|
||
|
|
|
|
||
|
|
= note: borrows cannot be held across a yield point, because the stack space of the current function is not preserved
|
||
|
|
= help: see https://rust-lang.github.io/async-book/03_async_await/01_chapter.html#awaiting-on-a-multithreaded-executor for more information
|
||
|
|
note: function requires argument type to outlive `'static`
|
||
|
|
--> $DIR/issue-78938-async-block.rs:8:33
|
||
|
|
|
|
||
|
|
LL | let gameloop_handle = spawn(async {
|
||
|
|
| _________________________________^
|
||
|
|
LL | | game_loop(Arc::clone(&room_ref))
|
||
|
|
LL | | });
|
||
|
|
| |_____^
|
||
|
|
help: to force the async block to take ownership of `room_ref` (and any other referenced variables), use the `move` keyword
|
||
|
|
|
|
||
|
|
LL | let gameloop_handle = spawn(async move {
|
||
|
|
LL | game_loop(Arc::clone(&room_ref))
|
||
|
|
LL | });
|
||
|
|
|
|
||
|
|
|
||
|
|
error: aborting due to previous error
|
||
|
|
|
||
|
|
For more information about this error, try `rustc --explain E0373`.
|