error[E0502]: cannot borrow `p` as mutable because it is also borrowed as immutable --> $DIR/borrowck-closures-mut-and-imm.rs:17:14 | LL | let c2 = || p.y * 5; | -- --- first borrow occurs due to use of `p.y` in closure | | | immutable borrow occurs here LL | let c1 = || { | ^^ mutable borrow occurs here LL | LL | dbg!(&p); | - second borrow occurs due to use of `p` in closure LL | p.x = 4; | --- capture is mutable because of use here LL | }; LL | drop(c2); | -- immutable borrow later used here error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0502`.