27 lines
947 B
Plaintext
27 lines
947 B
Plaintext
error[E0382]: use of moved value: `x`
|
|
--> $DIR/move-consuming-capture.rs:17:9
|
|
|
|
|
LL | let x = async move || {
|
|
| - move occurs because `x` has type `{async closure@$DIR/move-consuming-capture.rs:13:17: 13:30}`, which does not implement the `Copy` trait
|
|
...
|
|
LL | x().await;
|
|
| --- `x` moved due to this method call
|
|
LL | x().await;
|
|
| ^ value used here after move
|
|
|
|
|
note: `async_call_once` takes ownership of the receiver `self`, which moves `x`
|
|
--> $SRC_DIR/core/src/ops/async_function.rs:LL:COL
|
|
help: you could `clone` the value and consume it, if the `NoCopy: Clone` trait bound could be satisfied
|
|
|
|
|
LL | x.clone()().await;
|
|
| ++++++++
|
|
help: consider annotating `NoCopy` with `#[derive(Clone)]`
|
|
|
|
|
LL + #[derive(Clone)]
|
|
LL | struct NoCopy;
|
|
|
|
|
|
|
error: aborting due to 1 previous error
|
|
|
|
For more information about this error, try `rustc --explain E0382`.
|