Как исправить заимствованную проблему в программировании на RUST?

Я пытаюсь перебрать вектор в 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`.

person fekky Dev    schedule 02.01.2019    source источник
comment
почему вы пытаетесь распечатать вектор?   -  person Skam    schedule 02.01.2019
comment
просто для любопытства, но, похоже, не работает, но когда я использую для _item в vector.iter (), могу получить ссылку на вектор.   -  person fekky Dev    schedule 02.01.2019
comment
ваш код не имеет особого смысла   -  person Stargateur    schedule 02.01.2019