error[E0382]: use of moved value: `a` --> $DIR/borrowck-move-out-from-array-use-no-overlap-match.rs:19:11 | LL | [_, _, _x] => {} | -- value moved here LL | } LL | match a { | ^ value used here after partial move | = note: move occurs because `a[..]` has type `(std::string::String, std::string::String)`, which does not implement the `Copy` trait error[E0382]: use of moved value: `a` --> $DIR/borrowck-move-out-from-array-use-no-overlap-match.rs:30:11 | LL | [_, _, (_x, _)] => {} | -- value moved here LL | } LL | match a { | ^ value used here after partial move | = note: move occurs because `a[..].0` has type `std::string::String`, which does not implement the `Copy` trait error[E0382]: use of moved value: `a` --> $DIR/borrowck-move-out-from-array-use-no-overlap-match.rs:43:11 | LL | [_x, _, _] => {} | -- value moved here LL | } LL | match a { | ^ value used here after partial move | = note: move occurs because `a[..]` has type `(std::string::String, std::string::String)`, which does not implement the `Copy` trait error[E0382]: use of moved value: `a` --> $DIR/borrowck-move-out-from-array-use-no-overlap-match.rs:54:11 | LL | [.., _x] => {} | -- value moved here LL | } LL | match a { | ^ value used here after partial move | = note: move occurs because `a[..]` has type `(std::string::String, std::string::String)`, which does not implement the `Copy` trait error[E0382]: use of moved value: `a` --> $DIR/borrowck-move-out-from-array-use-no-overlap-match.rs:65:11 | LL | [(_x, _), _, _] => {} | -- value moved here LL | } LL | match a { | ^ value used here after partial move | = note: move occurs because `a[..].0` has type `std::string::String`, which does not implement the `Copy` trait error[E0382]: use of moved value: `a` --> $DIR/borrowck-move-out-from-array-use-no-overlap-match.rs:76:11 | LL | [.., (_x, _)] => {} | -- value moved here LL | } LL | match a { | ^ value used here after partial move | = note: move occurs because `a[..].0` has type `std::string::String`, which does not implement the `Copy` trait error[E0382]: use of moved value: `a` --> $DIR/borrowck-move-out-from-array-use-no-overlap-match.rs:87:11 | LL | [_, _y @ ..] => {} | ------- value moved here LL | } LL | match a { | ^ value used here after partial move | = note: move occurs because `a[..]` has type `(std::string::String, std::string::String)`, which does not implement the `Copy` trait error[E0382]: use of moved value: `a` --> $DIR/borrowck-move-out-from-array-use-no-overlap-match.rs:98:11 | LL | [_y @ .., _] => {} | ------- value moved here LL | } LL | match a { | ^ value used here after partial move | = note: move occurs because `a[..]` has type `(std::string::String, std::string::String)`, which does not implement the `Copy` trait error[E0382]: use of moved value: `a` --> $DIR/borrowck-move-out-from-array-use-no-overlap-match.rs:111:11 | LL | [x @ .., _, _] => {} | ------ value moved here LL | } LL | match a { | ^ value used here after partial move | = note: move occurs because `a[..]` has type `(std::string::String, std::string::String)`, which does not implement the `Copy` trait error: aborting due to 9 previous errors For more information about this error, try `rustc --explain E0382`.