error[E0506]: cannot assign to `vec[..]` because it is borrowed --> $DIR/borrowck-vec-pattern-nesting.rs:20:13 | LL | [box ref _a, _, _] => { | ------ borrow of `vec[..]` occurs here LL | //~^ borrow of `vec[..]` occurs here LL | vec[0] = box 4; //~ ERROR cannot assign | ^^^^^^ assignment to borrowed `vec[..]` occurs here LL | //~^ assignment to borrowed `vec[..]` occurs here LL | _a.use_ref(); | -- borrow later used here error[E0506]: cannot assign to `vec[..]` because it is borrowed --> $DIR/borrowck-vec-pattern-nesting.rs:33:13 | LL | &mut [ref _b..] => { | ------ borrow of `vec[..]` occurs here LL | //~^ borrow of `vec[..]` occurs here LL | vec[0] = box 4; //~ ERROR cannot assign | ^^^^^^ assignment to borrowed `vec[..]` occurs here LL | //~^ assignment to borrowed `vec[..]` occurs here LL | _b.use_ref(); | -- borrow later used here error[E0508]: cannot move out of type `[std::boxed::Box]`, a non-copy slice --> $DIR/borrowck-vec-pattern-nesting.rs:44:15 | LL | &mut [_a, //~ ERROR cannot move out | ^^ cannot move out of here error[E0508]: cannot move out of type `[std::boxed::Box]`, a non-copy slice --> $DIR/borrowck-vec-pattern-nesting.rs:57:13 | LL | let a = vec[0]; //~ ERROR cannot move out | ^^^^^^ cannot move out of here error[E0508]: cannot move out of type `[std::boxed::Box]`, a non-copy slice --> $DIR/borrowck-vec-pattern-nesting.rs:67:10 | LL | _b] => {} | ^^ cannot move out of here error[E0508]: cannot move out of type `[std::boxed::Box]`, a non-copy slice --> $DIR/borrowck-vec-pattern-nesting.rs:70:13 | LL | let a = vec[0]; //~ ERROR cannot move out | ^^^^^^ cannot move out of here error[E0508]: cannot move out of type `[std::boxed::Box]`, a non-copy slice --> $DIR/borrowck-vec-pattern-nesting.rs:78:15 | LL | &mut [_a, _b, _c] => {} //~ ERROR cannot move out | ^^ cannot move out of here error[E0508]: cannot move out of type `[std::boxed::Box]`, a non-copy slice --> $DIR/borrowck-vec-pattern-nesting.rs:78:19 | LL | &mut [_a, _b, _c] => {} //~ ERROR cannot move out | ^^ cannot move out of here error[E0508]: cannot move out of type `[std::boxed::Box]`, a non-copy slice --> $DIR/borrowck-vec-pattern-nesting.rs:78:23 | LL | &mut [_a, _b, _c] => {} //~ ERROR cannot move out | ^^ cannot move out of here error[E0508]: cannot move out of type `[std::boxed::Box]`, a non-copy slice --> $DIR/borrowck-vec-pattern-nesting.rs:82:13 | LL | let a = vec[0]; //~ ERROR cannot move out | ^^^^^^ cannot move out of here error: aborting due to 10 previous errors Some errors occurred: E0506, E0508. For more information about an error, try `rustc --explain E0506`.