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
   | |
LL | |         p.x = 10;
   | |         --- second borrow occurs due to use of `p` in closure
LL | |     })
   | |______- immutable borrow occurs here

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`.
