summaryrefslogtreecommitdiffstats
path: root/src/test/ui/borrowck/borrowck-move-out-from-array-use.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/borrowck/borrowck-move-out-from-array-use.stderr')
-rw-r--r--src/test/ui/borrowck/borrowck-move-out-from-array-use.stderr143
1 files changed, 143 insertions, 0 deletions
diff --git a/src/test/ui/borrowck/borrowck-move-out-from-array-use.stderr b/src/test/ui/borrowck/borrowck-move-out-from-array-use.stderr
new file mode 100644
index 000000000..b0bad6e99
--- /dev/null
+++ b/src/test/ui/borrowck/borrowck-move-out-from-array-use.stderr
@@ -0,0 +1,143 @@
+error[E0382]: borrow of moved value: `a[..]`
+ --> $DIR/borrowck-move-out-from-array-use.rs:10:14
+ |
+LL | let [_, _, _x] = a;
+ | -- value moved here
+LL | let [.., ref _y] = a;
+ | ^^^^^^ value borrowed here after move
+ |
+ = note: move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
+
+error[E0382]: borrow of partially moved value: `a[..]`
+ --> $DIR/borrowck-move-out-from-array-use.rs:16:14
+ |
+LL | let [_, _, (_x, _)] = a;
+ | -- value partially moved here
+LL | let [.., ref _y] = a;
+ | ^^^^^^ value borrowed here after partial move
+ |
+ = note: partial move occurs because `a[..].0` has type `String`, which does not implement the `Copy` trait
+
+error[E0382]: borrow of moved value: `a[..].0`
+ --> $DIR/borrowck-move-out-from-array-use.rs:22:15
+ |
+LL | let [_, _, (_x, _)] = a;
+ | -- value moved here
+LL | let [.., (ref _y, _)] = a;
+ | ^^^^^^ value borrowed here after move
+ |
+ = note: move occurs because `a[..].0` has type `String`, which does not implement the `Copy` trait
+
+error[E0382]: borrow of partially moved value: `a`
+ --> $DIR/borrowck-move-out-from-array-use.rs:30:10
+ |
+LL | let [_x, _, _] = a;
+ | -- value partially moved here
+LL | let [ref _y @ .., _, _] = a;
+ | ^^^^^^^^^^^ value borrowed here after partial move
+ |
+ = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
+
+error[E0382]: borrow of partially moved value: `a`
+ --> $DIR/borrowck-move-out-from-array-use.rs:36:16
+ |
+LL | let [.., _x] = a;
+ | -- value partially moved here
+LL | let [_, _, ref _y @ ..] = a;
+ | ^^^^^^^^^^^ value borrowed here after partial move
+ |
+ = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
+
+error[E0382]: borrow of partially moved value: `a`
+ --> $DIR/borrowck-move-out-from-array-use.rs:42:10
+ |
+LL | let [(_x, _), _, _] = a;
+ | -- value partially moved here
+LL | let [ref _y @ .., _, _] = a;
+ | ^^^^^^^^^^^ value borrowed here after partial move
+ |
+ = note: partial move occurs because `a[..].0` has type `String`, which does not implement the `Copy` trait
+
+error[E0382]: borrow of partially moved value: `a`
+ --> $DIR/borrowck-move-out-from-array-use.rs:48:16
+ |
+LL | let [.., (_x, _)] = a;
+ | -- value partially moved here
+LL | let [_, _, ref _y @ ..] = a;
+ | ^^^^^^^^^^^ value borrowed here after partial move
+ |
+ = note: partial move occurs because `a[..].0` has type `String`, which does not implement the `Copy` trait
+
+error[E0382]: borrow of moved value: `a[..]`
+ --> $DIR/borrowck-move-out-from-array-use.rs:54:11
+ |
+LL | let [_y @ .., _, _] = a;
+ | ------- value moved here
+LL | let [(ref _x, _), _, _] = a;
+ | ^^^^^^ value borrowed here after move
+ |
+ = note: move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
+
+error[E0382]: borrow of moved value: `a[..]`
+ --> $DIR/borrowck-move-out-from-array-use.rs:60:15
+ |
+LL | let [_, _, _y @ ..] = a;
+ | ------- value moved here
+LL | let [.., (ref _x, _)] = a;
+ | ^^^^^^ value borrowed here after move
+ |
+ = note: move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
+
+error[E0382]: borrow of partially moved value: `a`
+ --> $DIR/borrowck-move-out-from-array-use.rs:68:13
+ |
+LL | let [x @ .., _] = a;
+ | ------ value partially moved here
+LL | let [_, ref _y @ ..] = a;
+ | ^^^^^^^^^^^ value borrowed here after partial move
+ |
+ = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
+
+error[E0382]: use of partially moved value: `a`
+ --> $DIR/borrowck-move-out-from-array-use.rs:76:5
+ |
+LL | let [_, _, _x] = a;
+ | -- value partially moved here
+LL | a[2] = Default::default();
+ | ^^^^ value used here after partial move
+ |
+ = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
+
+error[E0382]: use of partially moved value: `a`
+ --> $DIR/borrowck-move-out-from-array-use.rs:82:5
+ |
+LL | let [_, _, (_x, _)] = a;
+ | -- value partially moved here
+LL | a[2].1 = Default::default();
+ | ^^^^ value used here after partial move
+ |
+ = note: partial move occurs because `a[..].0` has type `String`, which does not implement the `Copy` trait
+
+error[E0382]: use of partially moved value: `a`
+ --> $DIR/borrowck-move-out-from-array-use.rs:88:5
+ |
+LL | let [_, _, _x @ ..] = a;
+ | ------- value partially moved here
+LL | a[0] = Default::default();
+ | ^^^^ value used here after partial move
+ |
+ = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
+
+error[E0382]: use of partially moved value: `a`
+ --> $DIR/borrowck-move-out-from-array-use.rs:94:5
+ |
+LL | let [_, _, _x @ ..] = a;
+ | ------- value partially moved here
+LL | a[0].1 = Default::default();
+ | ^^^^ value used here after partial move
+ |
+ = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait
+
+error: aborting due to 14 previous errors
+
+For more information about this error, try `rustc --explain E0382`.