error[E0382]: use of moved value --> $DIR/borrowck-move-and-move.rs:13:9 | LL | let a @ b = U; | ^^^^- - move occurs because value has type `U`, which does not implement the `Copy` trait | | | | | value moved here | value used here after move error[E0382]: use of partially moved value --> $DIR/borrowck-move-and-move.rs:15:9 | LL | let a @ (b, c) = (U, U); | ^^^^^^^^-^ | | | | | value partially moved here | value used here after partial move | = note: partial move occurs because value has type `U`, which does not implement the `Copy` trait error[E0382]: use of partially moved value --> $DIR/borrowck-move-and-move.rs:17:9 | LL | let a @ (b, c) = (u(), u()); | ^^^^^^^^-^ | | | | | value partially moved here | value used here after partial move | = note: partial move occurs because value has type `U`, which does not implement the `Copy` trait error[E0382]: use of moved value --> $DIR/borrowck-move-and-move.rs:20:16 | LL | match Ok(U) { | ----- move occurs because value has type `std::result::Result`, which does not implement the `Copy` trait LL | a @ Ok(b) | a @ Err(b) => {} | -------^- | | | | | value used here after move | value moved here error[E0382]: use of moved value --> $DIR/borrowck-move-and-move.rs:20:29 | LL | match Ok(U) { | ----- move occurs because value has type `std::result::Result`, which does not implement the `Copy` trait LL | a @ Ok(b) | a @ Err(b) => {} | --------^- | | | | | value used here after move | value moved here error[E0382]: use of partially moved value --> $DIR/borrowck-move-and-move.rs:27:9 | LL | xs @ [a, .., b] => {} | ^^^^^^^^^^^^^-^ | | | | | value partially moved here | value used here after partial move | = note: partial move occurs because value has type `U`, which does not implement the `Copy` trait error[E0382]: use of partially moved value --> $DIR/borrowck-move-and-move.rs:31:9 | LL | xs @ [_, ys @ .., _] => {} | ^^^^^^^^^-------^^^^ | | | | | value partially moved here | value used here after partial move | = note: partial move occurs because value has type `U`, which does not implement the `Copy` trait error[E0382]: use of moved value --> $DIR/borrowck-move-and-move.rs:24:12 | LL | fn fun(a @ b: U) {} | ^^^^- | | | | | value moved here | value used here after move | move occurs because value has type `U`, which does not implement the `Copy` trait error: aborting due to 8 previous errors For more information about this error, try `rustc --explain E0382`.