pub field: Vec<usize>,
}
impl A {
fn inc(&mut self) {
let updated_field = self.field.into_iter().map(|i| i + 1).collect();
self.field = updated_field;
}
}
fn main() {
let mut a = A {
field: vec![1, 2, 3],
};
a.inc();
println!("{:?}", a);
}
Потому что into_iter забирает владение вектором, а вытащить не-Copy значение через ссылку нельзя
Это как-то обходится без замены на iter?
self.field.iter_mut().for_each(|i| *i += 1);
Обсуждают сегодня