1 error[E0382]: borrow of moved value: `a[..]`
2 --> $DIR/borrowck-move-out-from-array-use.rs:10:14
4 LL | let [_, _, _x] = a;
6 LL | let [.., ref _y] = a;
7 | ^^^^^^ value borrowed 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]: borrow of partially moved value: `a[..]`
16 --> $DIR/borrowck-move-out-from-array-use.rs:16:14
18 LL | let [_, _, (_x, _)] = a;
19 | -- value partially moved here
20 LL | let [.., ref _y] = a;
21 | ^^^^^^ value borrowed 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]: borrow of moved value: `a[..].0`
30 --> $DIR/borrowck-move-out-from-array-use.rs:22:15
32 LL | let [_, _, (_x, _)] = a;
34 LL | let [.., (ref _y, _)] = a;
35 | ^^^^^^ value borrowed 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]: borrow of partially moved value: `a`
44 --> $DIR/borrowck-move-out-from-array-use.rs:30:10
46 LL | let [_x, _, _] = a;
47 | -- value partially moved here
48 LL | let [ref _y @ .., _, _] = a;
49 | ^^^^^^ value borrowed 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]: borrow of partially moved value: `a`
58 --> $DIR/borrowck-move-out-from-array-use.rs:36:16
60 LL | let [.., _x] = a;
61 | -- value partially moved here
62 LL | let [_, _, ref _y @ ..] = a;
63 | ^^^^^^ value borrowed 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]: borrow of partially moved value: `a`
72 --> $DIR/borrowck-move-out-from-array-use.rs:42:10
74 LL | let [(_x, _), _, _] = a;
75 | -- value partially moved here
76 LL | let [ref _y @ .., _, _] = a;
77 | ^^^^^^ value borrowed 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]: borrow of partially moved value: `a`
86 --> $DIR/borrowck-move-out-from-array-use.rs:48:16
88 LL | let [.., (_x, _)] = a;
89 | -- value partially moved here
90 LL | let [_, _, ref _y @ ..] = a;
91 | ^^^^^^ value borrowed 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]: borrow of moved value: `a[..]`
100 --> $DIR/borrowck-move-out-from-array-use.rs:54:11
102 LL | let [_y @ .., _, _] = a;
103 | -- value moved here
104 LL | let [(ref _x, _), _, _] = a;
105 | ^^^^^^ value borrowed 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]: borrow of moved value: `a[..]`
114 --> $DIR/borrowck-move-out-from-array-use.rs:60:15
116 LL | let [_, _, _y @ ..] = a;
117 | -- value moved here
118 LL | let [.., (ref _x, _)] = a;
119 | ^^^^^^ value borrowed 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]: borrow of partially moved value: `a`
128 --> $DIR/borrowck-move-out-from-array-use.rs:68:13
130 LL | let [x @ .., _] = a;
131 | - value partially moved here
132 LL | let [_, ref _y @ ..] = a;
133 | ^^^^^^ value borrowed 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[E0382]: use of partially moved value: `a`
142 --> $DIR/borrowck-move-out-from-array-use.rs:76:5
144 LL | let [_, _, _x] = a;
145 | -- value partially moved here
146 LL | a[2] = Default::default();
147 | ^^^^ value used here after partial move
149 = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
150 help: borrow this binding in the pattern to avoid moving the value
152 LL | let [_, _, ref _x] = a;
155 error[E0382]: use of partially moved value: `a`
156 --> $DIR/borrowck-move-out-from-array-use.rs:82:5
158 LL | let [_, _, (_x, _)] = a;
159 | -- value partially moved here
160 LL | a[2].1 = Default::default();
161 | ^^^^ value used here after partial move
163 = note: partial move occurs because `a[..].0` has type `String`, which does not implement the `Copy` trait
164 help: borrow this binding in the pattern to avoid moving the value
166 LL | let [_, _, (ref _x, _)] = a;
169 error[E0382]: use of partially moved value: `a`
170 --> $DIR/borrowck-move-out-from-array-use.rs:88:5
172 LL | let [_, _, _x @ ..] = a;
173 | -- value partially moved here
174 LL | a[0] = Default::default();
175 | ^^^^ value used here after partial move
177 = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
178 help: borrow this binding in the pattern to avoid moving the value
180 LL | let [_, _, ref _x @ ..] = a;
183 error[E0382]: use of partially moved value: `a`
184 --> $DIR/borrowck-move-out-from-array-use.rs:94:5
186 LL | let [_, _, _x @ ..] = a;
187 | -- value partially moved here
188 LL | a[0].1 = Default::default();
189 | ^^^^ value used here after partial move
191 = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
192 help: borrow this binding in the pattern to avoid moving the value
194 LL | let [_, _, ref _x @ ..] = a;
197 error: aborting due to 14 previous errors
199 For more information about this error, try `rustc --explain E0382`.