rust/src/test/ui/ref-suggestion.stderr
Esteban Küber 520461f1fb Provide suggestions for some moved value errors
When encountering an used moved value where the previous move happened
in a `match` or `if let` pattern, suggest using `ref`. Fix #63988.

When encountering a `&mut` value that is used in multiple iterations of
a loop, suggest reborrowing it with `&mut *`. Fix #62112.
2020-06-24 17:42:26 -07:00

38 lines
1.2 KiB
Text

error[E0382]: use of moved value: `x`
--> $DIR/ref-suggestion.rs:4:5
|
LL | let x = vec![1];
| - move occurs because `x` has type `std::vec::Vec<i32>`, which does not implement the `Copy` trait
LL | let y = x;
| - value moved here
LL | x;
| ^ value used here after move
error[E0382]: use of moved value: `x`
--> $DIR/ref-suggestion.rs:8:5
|
LL | let x = vec![1];
| - move occurs because `x` has type `std::vec::Vec<i32>`, which does not implement the `Copy` trait
LL | let mut y = x;
| - value moved here
LL | x;
| ^ value used here after move
error[E0382]: use of moved value: `x`
--> $DIR/ref-suggestion.rs:16:5
|
LL | (Some(y), ()) => {},
| - value moved here
...
LL | x;
| ^ value used here after partial move
|
= note: move occurs because value has type `std::vec::Vec<i32>`, which does not implement the `Copy` trait
help: borrow this field in the pattern to avoid moving `x.0.0`
|
LL | (Some(ref y), ()) => {},
| ^^^
error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0382`.