//@ run-rustfix | |
struct Test { | |
a: u32 | |
} | |
impl Test { | |
pub fn add(&mut self, value: u32) { | |
self.a += value; | |
} | |
pub fn print_value(&self) { | |
println!("Value of a is: {}", self.a); | |
} | |
} | |
fn main() { | |
let mut tests = Vec::new(); | |
for i in 0..=10 { | |
tests.push(Test {a: i}); | |
} | |
for test in &tests { | |
test.add(2); //~ ERROR cannot borrow `*test` as mutable, as it is behind a `&` reference | |
} | |
for test in &mut tests { | |
test.add(2); | |
} | |
for test in &tests { | |
test.print_value(); | |
} | |
} |