29 lines
589 B
Rust
29 lines
589 B
Rust
|
//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() {}
|