здесь возникает проблема с попыткой добавить значение в вектор второго изменяемого заимствования - PullRequest
0 голосов
/ 07 февраля 2020

Я начинаю с ржавчины, и на практике мне нужно go через вектор и проверить его значения, если значение / 2 = 0, то в этот момент я добавляю любое значение к вектору:

fn main() {
    let mut v = vec![1, 2, 3];
    {
        for i in &mut v {
            println!("{}", i);
            if *i % 2 == 0 {
                v.push(32);
            }
        }
    }
}

Но это ошибка:

error[E0499]: cannot borrow `v` as mutable more than once at a time
 --> src/main.rs:7:17
  |
4 |         for i in &mut v {
  |                  ------
  |                  |
  |                  first mutable borrow occurs here
  |                  first borrow later used here
...
7 |                 v.push(32);
  |                 ^ second mutable borrow occurs here
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...