以下代码只是一个例子,着重介绍如何在
OOP
下练习
borrow checker
任何答案对我都有意义,谢谢:)
fn main() {
let mut a = A {
list: [1, 2, 3,].to_vec(),
value: 1,
};
for i in a.list.iter_mut() {
a.add_value(*i,); // multi time borrow!
}
}
struct A {
list: Vec<usize,>,
value: usize,
}
impl A {
fn add_value(
&mut self,
n: usize,
) {
self.value += n;
}
}