| //@ 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 &mut 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(); | |
| } | |
| } |