diff options
Diffstat (limited to 'tests/ui/borrowck/borrowck-move-out-from-array-match.stderr')
| -rw-r--r-- | tests/ui/borrowck/borrowck-move-out-from-array-match.stderr | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/tests/ui/borrowck/borrowck-move-out-from-array-match.stderr b/tests/ui/borrowck/borrowck-move-out-from-array-match.stderr new file mode 100644 index 00000000000..67b00c1dd90 --- /dev/null +++ b/tests/ui/borrowck/borrowck-move-out-from-array-match.stderr @@ -0,0 +1,153 @@ +error[E0382]: use of moved value: `a[..]` + --> $DIR/borrowck-move-out-from-array-match.rs:13:14 + | +LL | [_, _, _x] => {} + | -- value moved here +... +LL | [.., _y] => {} + | ^^ value used here after move + | + = note: move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait +help: borrow this binding in the pattern to avoid moving the value + | +LL | [_, _, ref _x] => {} + | +++ + +error[E0382]: use of partially moved value: `a[..]` + --> $DIR/borrowck-move-out-from-array-match.rs:23:14 + | +LL | [_, _, (_x, _)] => {} + | -- value partially moved here +... +LL | [.., _y] => {} + | ^^ value used here after partial move + | + = note: partial move occurs because `a[..].0` has type `String`, which does not implement the `Copy` trait +help: borrow this binding in the pattern to avoid moving the value + | +LL | [_, _, (ref _x, _)] => {} + | +++ + +error[E0382]: use of moved value: `a[..].0` + --> $DIR/borrowck-move-out-from-array-match.rs:33:15 + | +LL | [_, _, (_x, _)] => {} + | -- value moved here +... +LL | [.., (_y, _)] => {} + | ^^ value used here after move + | + = note: move occurs because `a[..].0` has type `String`, which does not implement the `Copy` trait +help: borrow this binding in the pattern to avoid moving the value + | +LL | [_, _, (ref _x, _)] => {} + | +++ + +error[E0382]: use of partially moved value: `a` + --> $DIR/borrowck-move-out-from-array-match.rs:44:11 + | +LL | [_x, _, _] => {} + | -- value partially moved here +LL | } +LL | match a { + | ^ value used here after partial move + | + = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait +help: borrow this binding in the pattern to avoid moving the value + | +LL | [ref _x, _, _] => {} + | +++ + +error[E0382]: use of partially moved value: `a` + --> $DIR/borrowck-move-out-from-array-match.rs:55:11 + | +LL | [.., _x] => {} + | -- value partially moved here +LL | } +LL | match a { + | ^ value used here after partial move + | + = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait +help: borrow this binding in the pattern to avoid moving the value + | +LL | [.., ref _x] => {} + | +++ + +error[E0382]: use of partially moved value: `a` + --> $DIR/borrowck-move-out-from-array-match.rs:66:11 + | +LL | [(_x, _), _, _] => {} + | -- value partially moved here +LL | } +LL | match a { + | ^ value used here after partial move + | + = note: partial move occurs because `a[..].0` has type `String`, which does not implement the `Copy` trait +help: borrow this binding in the pattern to avoid moving the value + | +LL | [(ref _x, _), _, _] => {} + | +++ + +error[E0382]: use of partially moved value: `a` + --> $DIR/borrowck-move-out-from-array-match.rs:77:11 + | +LL | [.., (_x, _)] => {} + | -- value partially moved here +LL | } +LL | match a { + | ^ value used here after partial move + | + = note: partial move occurs because `a[..].0` has type `String`, which does not implement the `Copy` trait +help: borrow this binding in the pattern to avoid moving the value + | +LL | [.., (ref _x, _)] => {} + | +++ + +error[E0382]: use of moved value: `a[..].0` + --> $DIR/borrowck-move-out-from-array-match.rs:89:11 + | +LL | [_y @ .., _, _] => {} + | -- value moved here +... +LL | [(_x, _), _, _] => {} + | ^^ value used here after move + | + = note: move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait +help: borrow this binding in the pattern to avoid moving the value + | +LL | [ref _y @ .., _, _] => {} + | +++ + +error[E0382]: use of moved value: `a[..].0` + --> $DIR/borrowck-move-out-from-array-match.rs:99:15 + | +LL | [_, _, _y @ ..] => {} + | -- value moved here +... +LL | [.., (_x, _)] => {} + | ^^ value used here after move + | + = note: move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait +help: borrow this binding in the pattern to avoid moving the value + | +LL | [_, _, ref _y @ ..] => {} + | +++ + +error[E0382]: use of partially moved value: `a` + --> $DIR/borrowck-move-out-from-array-match.rs:110:11 + | +LL | [x @ .., _] => {} + | - value partially moved here +LL | } +LL | match a { + | ^ value used here after partial move + | + = note: partial move occurs because `a[..]` has type `(String, String)`, which does not implement the `Copy` trait +help: borrow this binding in the pattern to avoid moving the value + | +LL | [ref x @ .., _] => {} + | +++ + +error: aborting due to 10 previous errors + +For more information about this error, try `rustc --explain E0382`. |
