// Tests that two closures cannot simultaneously both have mutable | |
// access to the variable. Related to issue #6801. | |
fn get(x: &isize) -> isize { | |
*x | |
} | |
fn set(x: &mut isize) { | |
*x = 4; | |
} | |
fn a(x: &mut isize) { | |
let mut c1 = || set(&mut *x); | |
let mut c2 = || set(&mut *x); | |
//~^ ERROR two closures require unique access to `x` at the same time | |
c2(); c1(); | |
} | |
fn main() { | |
} |