fn inside_closure(x: &mut i32) { | |
} | |
fn outside_closure_1(x: &mut i32) { | |
} | |
fn outside_closure_2(x: &i32) { | |
} | |
fn foo(a: &mut i32) { | |
let bar = || { | |
inside_closure(a) | |
}; | |
outside_closure_1(a); | |
//~^ ERROR cannot borrow `*a` as mutable because previous closure requires unique access | |
outside_closure_2(a); | |
//~^ ERROR cannot borrow `*a` as immutable because previous closure requires unique access | |
drop(bar); | |
} | |
fn main() { | |
} |