1 error[E0508]: cannot move out of type `[D; 4]`, a non-copy array
2 --> $DIR/move-out-of-array-ref.rs:8:24
4 LL | let [_, e, _, _] = *a;
5 | - ^^ cannot move out of here
8 | move occurs because `e` has type `D`, which does not implement the `Copy` trait
10 help: consider removing the dereference here
12 LL - let [_, e, _, _] = *a;
13 LL + let [_, e, _, _] = a;
16 error[E0508]: cannot move out of type `[D; 4]`, a non-copy array
17 --> $DIR/move-out-of-array-ref.rs:13:27
19 LL | let [_, s @ .. , _] = *a;
20 | - ^^ cannot move out of here
23 | move occurs because `s` has type `[D; 2]`, which does not implement the `Copy` trait
25 help: consider removing the dereference here
27 LL - let [_, s @ .. , _] = *a;
28 LL + let [_, s @ .. , _] = a;
31 error[E0508]: cannot move out of type `[D; 4]`, a non-copy array
32 --> $DIR/move-out-of-array-ref.rs:18:24
34 LL | let [_, e, _, _] = *a;
35 | - ^^ cannot move out of here
38 | move occurs because `e` has type `D`, which does not implement the `Copy` trait
40 help: consider removing the dereference here
42 LL - let [_, e, _, _] = *a;
43 LL + let [_, e, _, _] = a;
46 error[E0508]: cannot move out of type `[D; 4]`, a non-copy array
47 --> $DIR/move-out-of-array-ref.rs:23:27
49 LL | let [_, s @ .. , _] = *a;
50 | - ^^ cannot move out of here
53 | move occurs because `s` has type `[D; 2]`, which does not implement the `Copy` trait
55 help: consider removing the dereference here
57 LL - let [_, s @ .. , _] = *a;
58 LL + let [_, s @ .. , _] = a;
61 error: aborting due to 4 previous errors
63 For more information about this error, try `rustc --explain E0508`.