mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 07:14:28 +00:00
edafbaffb2
- Either explicitly annotate `let x: () = expr;` where `x` has unit type, or remove the unit binding to leave only `expr;` instead. - Fix disjoint-capture-in-same-closure test
27 lines
973 B
Plaintext
27 lines
973 B
Plaintext
error: future cannot be sent between threads safely
|
|
--> $DIR/issue-64130-4-async-move.rs:21:17
|
|
|
|
|
LL | pub fn foo() -> impl Future + Send {
|
|
| ^^^^^^^^^^^^^^^^^^ future created by async block is not `Send`
|
|
|
|
|
= help: the trait `Sync` is not implemented for `(dyn Any + Send + 'static)`
|
|
note: future is not `Send` as this value is used across an await
|
|
--> $DIR/issue-64130-4-async-move.rs:27:23
|
|
|
|
|
LL | match client.status() {
|
|
| ------ has type `&Client` which is not `Send`
|
|
LL | 200 => {
|
|
LL | get().await;
|
|
| ^^^^^ await occurs here, with `client` maybe used later
|
|
...
|
|
LL | }
|
|
| - `client` is later dropped here
|
|
help: consider moving this into a `let` binding to create a shorter lived borrow
|
|
--> $DIR/issue-64130-4-async-move.rs:25:15
|
|
|
|
|
LL | match client.status() {
|
|
| ^^^^^^^^^^^^^^^
|
|
|
|
error: aborting due to previous error
|
|
|