error[E0499]: cannot borrow `p` as mutable more than once at a time --> $DIR/borrowck-1.rs:12:17 | LL | let y = &mut p.y; | -------- first mutable borrow occurs here LL | let mut c = || { | ^^ second mutable borrow occurs here LL | LL | let x = &mut p.x; | --- capture is mutable because of use here LL | println!("{:?}", p); | - second borrow occurs due to use of `p` in closure ... LL | *y+=1; | ----- first borrow later used here error: aborting due to previous error For more information about this error, try `rustc --explain E0499`.