error[E0502]: cannot borrow `v` as mutable because it is also borrowed as immutable --> $DIR/two-phase-reservation-sharing-interference-2.rs:19:5 | LL | let shared = &v; | -- immutable borrow occurs here LL | LL | v.extend(shared); | ^^------^^^^^^^^ | | | | | immutable borrow later used by call | mutable borrow occurs here error[E0502]: cannot borrow `v` as mutable because it is also borrowed as immutable --> $DIR/two-phase-reservation-sharing-interference-2.rs:29:5 | LL | v.extend(&v); | ^^------^--^ | | | | | | | immutable borrow occurs here | | immutable borrow later used by call | mutable borrow occurs here warning: cannot borrow `v` as mutable because it is also borrowed as immutable --> $DIR/two-phase-reservation-sharing-interference-2.rs:40:5 | LL | let shared = &v; | -- immutable borrow occurs here LL | LL | v.push(shared.len()); | ^^^^^^^------------^ | | | | | immutable borrow later used here | mutable borrow occurs here | = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future = note: for more information, see issue #59159 error: aborting due to 2 previous errors; 1 warning emitted For more information about this error, try `rustc --explain E0502`.