error[E0597]: `z` does not live long enough --> $DIR/regions-escape-loop-via-vec.rs:7:22 | LL | _y.push(&mut z); | ^ borrowed value does not live long enough ... LL | } | - `z` dropped here while still borrowed LL | } | - borrowed value needs to live until here error[E0503]: cannot use `x` because it was mutably borrowed --> $DIR/regions-escape-loop-via-vec.rs:5:11 | LL | let mut _y = vec![&mut x]; | - borrow of `x` occurs here LL | while x < 10 { | ^ use of borrowed `x` error[E0503]: cannot use `x` because it was mutably borrowed --> $DIR/regions-escape-loop-via-vec.rs:6:13 | LL | let mut _y = vec![&mut x]; | - borrow of `x` occurs here LL | while x < 10 { LL | let mut z = x; | ^^^^^ use of borrowed `x` error[E0506]: cannot assign to `x` because it is borrowed --> $DIR/regions-escape-loop-via-vec.rs:9:9 | LL | let mut _y = vec![&mut x]; | - borrow of `x` occurs here ... LL | x += 1; | ^^^^^^ assignment to borrowed `x` occurs here error: aborting due to 4 previous errors Some errors have detailed explanations: E0503, E0506, E0597. For more information about an error, try `rustc --explain E0503`.