| //@run-rustfix | |
| #![allow(unused)] | |
| struct S; | |
| impl S { | |
| fn foo(&mut self) { | |
| let x = |v: i32| { | |
| self.bar(); | |
| self.hel(); | |
| }; | |
| self.qux(); //~ ERROR cannot borrow `*self` as mutable because it is also borrowed as immutable | |
| x(1); | |
| x(3); | |
| } | |
| fn bar(&self) {} | |
| fn hel(&self) {} | |
| fn qux(&mut self) {} | |
| fn hello(&mut self) { | |
| let y = || { | |
| self.bar(); | |
| }; | |
| self.qux(); //~ ERROR cannot borrow `*self` as mutable because it is also borrowed as immutable | |
| y(); | |
| } | |
| } | |
| fn main() {} |