error[E0502]: cannot borrow `*v` as immutable because it is also borrowed as mutable --> $DIR/borrowck-lend-flow-loop.rs:29:16 | LL | let mut x = &mut v; | ------ mutable borrow occurs here LL | for _ in 0..3 { LL | borrow(&*v); | ^^^ immutable borrow occurs here LL | } LL | *x = Box::new(5); | -- mutable borrow later used here error[E0502]: cannot borrow `*v` as immutable because it is also borrowed as mutable --> $DIR/borrowck-lend-flow-loop.rs:92:16 | LL | **x += 1; | -------- mutable borrow later used here LL | borrow(&*v); | ^^^ immutable borrow occurs here LL | if cond2 { LL | x = &mut v; // OK | ------ mutable borrow occurs here error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0502`.