Я начинаю с ржавчины, и на практике мне нужно 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