//@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() {} |