error[E0502]: cannot borrow `t0` as mutable because `*t0` is also borrowed as immutable --> $DIR/borrowck-swap-mut-base-ptr.rs:23:15 | LL | let p: &isize = &*t0; // Freezes `*t0` | --- immutable borrow occurs here LL | swap(&mut t0, &mut t1); //~ ERROR cannot borrow `t0` | ^^ mutable borrow occurs here LL | *t1 = 22; LL | } | - immutable borrow ends here error: aborting due to previous error For more information about this error, try `rustc --explain E0502`.