error[E0382]: use of moved value --> $DIR/copy-and-move-mixed.rs:12:19 | LL | let a @ NC(b, c) = NC(C, C); | ----------^- -------- move occurs because value has type `NC`, which does not implement the `Copy` trait | | | | | value used here after move | value moved here error[E0382]: use of moved value --> $DIR/copy-and-move-mixed.rs:15:19 | LL | let a @ NC(b, c @ NC(d, e)) = NC(C, NC(C, C)); | ----------^^^^^^^^^^^^- --------------- move occurs because value has type `NC>`, which does not implement the `Copy` trait | | | | | value used here after move | value moved here error[E0382]: use of moved value --> $DIR/copy-and-move-mixed.rs:15:29 | LL | let a @ NC(b, c @ NC(d, e)) = NC(C, NC(C, C)); | ----------^- | | | | | value used here after move | value moved here | = note: move occurs because value has type `NC`, which does not implement the `Copy` trait error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0382`.