2021-03-09 08:42:47 -06:00
|
|
|
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 {
|
2022-03-01 22:30:16 -06:00
|
|
|
| - `x` moved due to this implicit call to `.into_iter()`
|
2021-03-09 08:42:47 -06:00
|
|
|
...
|
|
|
|
LL | let z = x;
|
|
|
|
| ^ value used here after move
|
|
|
|
|
|
2022-12-12 06:07:09 -06:00
|
|
|
note: `into_iter` takes ownership of the receiver `self`, which moves `x`
|
2021-03-09 08:42:47 -06:00
|
|
|
--> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL
|
2022-03-01 22:30:16 -06:00
|
|
|
help: consider iterating over a slice of the `Vec<S>`'s content to avoid moving into the `for` loop
|
|
|
|
|
|
|
|
|
LL | for y in &x {
|
|
|
|
| +
|
2021-03-09 08:42:47 -06:00
|
|
|
|
|
|
|
error: aborting due to previous error
|
|
|
|
|
|
|
|
For more information about this error, try `rustc --explain E0382`.
|