I'm trying to iterate over a vector in Rust. I am able to print the all the values, but when I take a reference of the vector inside the for loop I'm getting a "value borrowed here after move" error.
Can anyone please explain to me the ownership concept using below code?
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`.