1 error[E0382]: use of moved value: `a[..]`
2 --> $DIR/borrowck-move-out-from-array.rs:10:14
4 LL | let [_, _, _x] = a;
7 | ^^ value used here after move
9 = note: move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
10 help: borrow this binding in the pattern to avoid moving the value
12 LL | let [_, _, ref _x] = a;
15 error[E0382]: use of partially moved value: `a[..]`
16 --> $DIR/borrowck-move-out-from-array.rs:16:14
18 LL | let [_, _, (_x, _)] = a;
19 | -- value partially moved here
20 LL | let [.., _y] = a;
21 | ^^ value used here after partial move
23 = note: partial move occurs because `a[..].0` has type `String`, which does not implement the `Copy` trait
24 help: borrow this binding in the pattern to avoid moving the value
26 LL | let [_, _, (ref _x, _)] = a;
29 error[E0382]: use of moved value: `a[..].0`
30 --> $DIR/borrowck-move-out-from-array.rs:22:15
32 LL | let [_, _, (_x, _)] = a;
34 LL | let [.., (_y, _)] = a;
35 | ^^ value used here after move
37 = note: move occurs because `a[..].0` has type `String`, which does not implement the `Copy` trait
38 help: borrow this binding in the pattern to avoid moving the value
40 LL | let [_, _, (ref _x, _)] = a;
43 error[E0382]: use of partially moved value: `a`
44 --> $DIR/borrowck-move-out-from-array.rs:30:10
46 LL | let [_x, _, _] = a;
47 | -- value partially moved here
48 LL | let [_y @ .., _, _] = a;
49 | ^^ value used here after partial move
51 = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
52 help: borrow this binding in the pattern to avoid moving the value
54 LL | let [ref _x, _, _] = a;
57 error[E0382]: use of partially moved value: `a`
58 --> $DIR/borrowck-move-out-from-array.rs:36:16
60 LL | let [.., _x] = a;
61 | -- value partially moved here
62 LL | let [_, _, _y @ ..] = a;
63 | ^^ value used here after partial move
65 = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
66 help: borrow this binding in the pattern to avoid moving the value
68 LL | let [.., ref _x] = a;
71 error[E0382]: use of partially moved value: `a`
72 --> $DIR/borrowck-move-out-from-array.rs:42:10
74 LL | let [(_x, _), _, _] = a;
75 | -- value partially moved here
76 LL | let [_y @ .., _, _] = a;
77 | ^^ value used here after partial move
79 = note: partial move occurs because `a[..].0` has type `String`, which does not implement the `Copy` trait
80 help: borrow this binding in the pattern to avoid moving the value
82 LL | let [(ref _x, _), _, _] = a;
85 error[E0382]: use of partially moved value: `a`
86 --> $DIR/borrowck-move-out-from-array.rs:48:16
88 LL | let [.., (_x, _)] = a;
89 | -- value partially moved here
90 LL | let [_, _, _y @ ..] = a;
91 | ^^ value used here after partial move
93 = note: partial move occurs because `a[..].0` has type `String`, which does not implement the `Copy` trait
94 help: borrow this binding in the pattern to avoid moving the value
96 LL | let [.., (ref _x, _)] = a;
99 error[E0382]: use of moved value: `a[..].0`
100 --> $DIR/borrowck-move-out-from-array.rs:54:11
102 LL | let [_y @ .., _, _] = a;
103 | -- value moved here
104 LL | let [(_x, _), _, _] = a;
105 | ^^ value used here after move
107 = note: move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
108 help: borrow this binding in the pattern to avoid moving the value
110 LL | let [ref _y @ .., _, _] = a;
113 error[E0382]: use of moved value: `a[..].0`
114 --> $DIR/borrowck-move-out-from-array.rs:60:15
116 LL | let [_, _, _y @ ..] = a;
117 | -- value moved here
118 LL | let [.., (_x, _)] = a;
119 | ^^ value used here after move
121 = note: move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
122 help: borrow this binding in the pattern to avoid moving the value
124 LL | let [_, _, ref _y @ ..] = a;
127 error[E0382]: use of partially moved value: `a`
128 --> $DIR/borrowck-move-out-from-array.rs:68:13
130 LL | let [x @ .., _] = a;
131 | - value partially moved here
132 LL | let [_, _y @ ..] = a;
133 | ^^ value used here after partial move
135 = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
136 help: borrow this binding in the pattern to avoid moving the value
138 LL | let [ref x @ .., _] = a;
141 error: aborting due to 10 previous errors
143 For more information about this error, try `rustc --explain E0382`.