1 struct Z { }
2 
3 impl Z {
run(&self, z: &mut Z)4     fn run(&self, z: &mut Z) { }
start(&mut self)5     fn start(&mut self) {
6         self.run(&mut self); //~ ERROR cannot borrow
7         //~| ERROR cannot borrow
8         //~| HELP try removing `&mut` here
9     }
10 }
11 
main()12 fn main() {
13     let mut z = Z {};
14     z.start();
15 }
16