| 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: `into_iter` takes ownership of the receiver `self`, which moves `x` |
| --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL |
| 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 1 previous error |
| |
| For more information about this error, try `rustc --explain E0382`. |