error[E0502]: cannot borrow `p` as mutable because it is also borrowed as immutable --> $DIR/borrowck-loan-rcvr.rs:23:14 | LL | p.blockm(|| { | - ------ ^^ mutable borrow occurs here | | | | | immutable borrow later used by call | immutable borrow occurs here LL | p.x = 10; | --- second borrow occurs due to use of `p` in closure error[E0502]: cannot borrow `p` as immutable because it is also borrowed as mutable --> $DIR/borrowck-loan-rcvr.rs:34:5 | LL | let l = &mut p; | ------ mutable borrow occurs here LL | p.impurem(); | ^ immutable borrow occurs here LL | LL | l.x += 1; | -------- mutable borrow later used here error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0502`.