Closed
Description
fn main() {
let mut bad_letters = vec!['e', 't', 'o', 'i'];
for l in bad_letters {
// do something here
}
bad_letters.push('s');
}
we should suggest borrowing bad_letters
:
error[E0382]: borrow of moved value: `bad_letters`
--> src/main.rs:6:5
|
2 | let mut bad_letters = vec!['e', 't', 'o', 'i'];
| --------------- move occurs because `bad_letters` has type `std::vec::Vec<char>`, which does not implement the `Copy` trait
3 | for l in bad_letters {
| -----------
| |
| value moved here
| help: consider borrowing here: `&bad_letters`
...
6 | bad_letters.push('s');
| ^^^^^^^^^^^ value borrowed here after move
|
= note: probably some explanation about `Iterator::into_iter`
This could potentially be incorrect without further analysis, but it should be correct in the majority of the cases that newcomers would face.