| error[E0506]: cannot assign to `vec[_]` because it is borrowed |
| --> $DIR/borrowck-vec-pattern-nesting.rs:10:13 |
| | |
| LL | [box ref _a, _, _] => { |
| | ------ borrow of `vec[_]` occurs here |
| LL | |
| LL | vec[0] = box 4; |
| | ^^^^^^ assignment to borrowed `vec[_]` occurs here |
| LL | |
| LL | _a.use_ref(); |
| | -- borrow later used here |
| |
| error[E0506]: cannot assign to `vec[_]` because it is borrowed |
| --> $DIR/borrowck-vec-pattern-nesting.rs:24:13 |
| | |
| LL | &mut [ref _b @ ..] => { |
| | ----------- borrow of `vec[_]` occurs here |
| LL | |
| LL | vec[0] = box 4; |
| | ^^^^^^ assignment to borrowed `vec[_]` occurs here |
| LL | |
| LL | _b.use_ref(); |
| | -- borrow later used here |
| |
| error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy slice |
| --> $DIR/borrowck-vec-pattern-nesting.rs:35:11 |
| | |
| LL | match vec { |
| | ^^^ cannot move out of here |
| ... |
| LL | &mut [_a, |
| | -- |
| | | |
| | data moved here |
| | move occurs because `_a` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait |
| help: consider removing the `&mut` |
| | |
| LL | [_a, |
| LL | |
| LL | |
| LL | |
| LL | .. |
| LL | ] => { |
| | |
| |
| error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy slice |
| --> $DIR/borrowck-vec-pattern-nesting.rs:47:13 |
| | |
| LL | let a = vec[0]; |
| | ^^^^^^ |
| | | |
| | cannot move out of here |
| | move occurs because `vec[_]` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait |
| | help: consider borrowing here: `&vec[0]` |
| |
| error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy slice |
| --> $DIR/borrowck-vec-pattern-nesting.rs:56:11 |
| | |
| LL | match vec { |
| | ^^^ cannot move out of here |
| ... |
| LL | _b] => {} |
| | -- |
| | | |
| | data moved here |
| | move occurs because `_b` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait |
| help: consider removing the `&mut` |
| | |
| LL | [ |
| LL | |
| LL | _b] => {} |
| | |
| |
| error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy slice |
| --> $DIR/borrowck-vec-pattern-nesting.rs:66:13 |
| | |
| LL | let a = vec[0]; |
| | ^^^^^^ |
| | | |
| | cannot move out of here |
| | move occurs because `vec[_]` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait |
| | help: consider borrowing here: `&vec[0]` |
| |
| error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy slice |
| --> $DIR/borrowck-vec-pattern-nesting.rs:75:11 |
| | |
| LL | match vec { |
| | ^^^ cannot move out of here |
| ... |
| LL | &mut [_a, _b, _c] => {} |
| | ----------------- |
| | | | | | |
| | | | | ...and here |
| | | | ...and here |
| | | data moved here |
| | help: consider removing the `&mut`: `[_a, _b, _c]` |
| | |
| note: move occurs because these variables have types that don't implement the `Copy` trait |
| --> $DIR/borrowck-vec-pattern-nesting.rs:78:15 |
| | |
| LL | &mut [_a, _b, _c] => {} |
| | ^^ ^^ ^^ |
| |
| error[E0508]: cannot move out of type `[std::boxed::Box<isize>]`, a non-copy slice |
| --> $DIR/borrowck-vec-pattern-nesting.rs:86:13 |
| | |
| LL | let a = vec[0]; |
| | ^^^^^^ |
| | | |
| | cannot move out of here |
| | move occurs because `vec[_]` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait |
| | help: consider borrowing here: `&vec[0]` |
| |
| error: aborting due to 8 previous errors |
| |
| Some errors have detailed explanations: E0506, E0508. |
| For more information about an error, try `rustc --explain E0506`. |