1 error[E0508]: cannot move out of type `[Foo]`, a non-copy slice
2 --> $DIR/borrowck-move-out-of-vec-tail.rs:29:19
5 | ^^^^ cannot move out of here
6 LL | &[Foo { string: a },
9 LL | Foo { string: b }] => {
12 note: move occurs because these variables have types that don't implement the `Copy` trait
13 --> $DIR/borrowck-move-out-of-vec-tail.rs:30:33
15 LL | &[Foo { string: a },
18 LL | Foo { string: b }] => {
20 help: consider removing the `&`
22 LL | [Foo { string: a },
23 LL | //~^ ERROR cannot move out of type `[Foo]`
24 LL | //~| cannot move out
25 LL | //~| to prevent move
26 LL | Foo { string: b }] => {
29 error[E0507]: cannot move out of `tail[..].string` which is behind a `&` reference
30 --> $DIR/borrowck-move-out-of-vec-tail.rs:30:33
32 LL | [_, ref tail..] => {
33 | -------- help: consider changing this to be a mutable reference: `ref mut tail`
35 LL | &[Foo { string: a },
38 | cannot move out of `tail[..].string` which is behind a `&` reference
39 | `tail` is a `&` reference, so the data it refers to cannot be moved
41 error[E0507]: cannot move out of `tail[..].string` which is behind a `&` reference
42 --> $DIR/borrowck-move-out-of-vec-tail.rs:34:33
44 LL | [_, ref tail..] => {
45 | -------- help: consider changing this to be a mutable reference: `ref mut tail`
47 LL | Foo { string: b }] => {
50 | cannot move out of `tail[..].string` which is behind a `&` reference
51 | `tail` is a `&` reference, so the data it refers to cannot be moved
53 error: aborting due to 3 previous errors
55 Some errors occurred: E0507, E0508.
56 For more information about an error, try `rustc --explain E0507`.