rust/src/test/ui/loops/issue-82916.stderr
Esteban Kuber 98752776b8 Tweak move error
Point at method definition that causes type to be consumed.

Fix #94056.
2022-03-03 21:21:57 +00:00

25 lines
834 B
Plaintext

error[E0382]: use of moved value: `x`
--> $DIR/issue-82916.rs:7:13
|
LL | fn foo(x: Vec<S>) {
| - move occurs because `x` has type `Vec<S>`, which does not implement the `Copy` trait
LL | for y in x {
| - `x` moved due to this implicit call to `.into_iter()`
...
LL | let z = x;
| ^ value used here after move
|
note: this function takes ownership of the receiver `self`, which moves `x`
--> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
|
LL | fn into_iter(self) -> Self::IntoIter;
| ^^^^
help: consider iterating over a slice of the `Vec<S>`'s content to avoid moving into the `for` loop
|
LL | for y in &x {
| +
error: aborting due to previous error
For more information about this error, try `rustc --explain E0382`.