Я пытаюсь перебрать вектор в Rust. Я могу распечатать все значения, но когда я беру ссылку на вектор внутри цикла for, я получаю ошибку «значение, заимствованное здесь после перемещения».
Может ли кто-нибудь объяснить мне концепцию владения, используя приведенный ниже код?
fn main() {
let vector = vec![1,2,3,5];
for _item in vector{
//println!("item{:?}",_item);
println!("item{:?}",vector);
}
}
error[E0382]: borrow of moved value: `vector`
--> src/main.rs:7:29
|
5 | for _item in vector{
| ------ value moved here
6 | //println!("item{:?}",_item);
7 | println!("item{:?}",vector);
| ^^^^^^ value borrowed here after move
|
= note: move occurs because `vector` has type `std::vec::Vec<i32>`, which does not implement the `Copy` trait
error: aborting due to previous error
For more information about this error, try `rustc --explain E0382`.