error[E0503]: cannot use `*y.pointer` because it was mutably borrowed --> $DIR/issue-45697.rs:20:9 | LL | let z = copy_borrowed_ptr(&mut y); | ------ borrow of `y` occurs here LL | *y.pointer += 1; | ^^^^^^^^^^^^^^^ use of borrowed `y` ... LL | *z.pointer += 1; | --------------- borrow later used here error[E0506]: cannot assign to `*y.pointer` because it is borrowed --> $DIR/issue-45697.rs:20:9 | LL | let z = copy_borrowed_ptr(&mut y); | ------ borrow of `*y.pointer` occurs here LL | *y.pointer += 1; | ^^^^^^^^^^^^^^^ assignment to borrowed `*y.pointer` occurs here ... LL | *z.pointer += 1; | --------------- borrow later used here error: aborting due to 2 previous errors Some errors have detailed explanations: E0503, E0506. For more information about an error, try `rustc --explain E0503`.