34 lines
1020 B
Plaintext
34 lines
1020 B
Plaintext
|
error[E0382]: use of moved value: `s`
|
||
|
--> $DIR/move-in-pattern.rs:19:9
|
||
|
|
|
||
|
LL | if let Some(x) = s {
|
||
|
| - value moved here
|
||
|
...
|
||
|
LL | foo(s);
|
||
|
| ^ value used here after partial move
|
||
|
|
|
||
|
= note: move occurs because value has type `S`, which does not implement the `Copy` trait
|
||
|
help: borrow this field in the pattern to avoid moving `s.0`
|
||
|
|
|
||
|
LL | if let Some(ref x) = s {
|
||
|
| ^^^
|
||
|
|
||
|
error[E0382]: use of moved value: `e`
|
||
|
--> $DIR/move-in-pattern.rs:23:9
|
||
|
|
|
||
|
LL | let E::V { s: x } = e;
|
||
|
| - value moved here
|
||
|
LL | let _ = x;
|
||
|
LL | bar(e);
|
||
|
| ^ value used here after partial move
|
||
|
|
|
||
|
= note: move occurs because value has type `S`, which does not implement the `Copy` trait
|
||
|
help: borrow this field in the pattern to avoid moving `e.s`
|
||
|
|
|
||
|
LL | let E::V { s: ref x } = e;
|
||
|
| ^^^
|
||
|
|
||
|
error: aborting due to 2 previous errors
|
||
|
|
||
|
For more information about this error, try `rustc --explain E0382`.
|