error[E0382]: use of moved value: `x` --> $DIR/type_of_a_let.rs:16:16 | LL | let x: Foo = 22_u32; | - move occurs because `x` has type `Foo`, which does not implement the `Copy` trait LL | let y: Foo = x; | - value moved here LL | same_type((x, y)); | ^ value used here after move error[E0382]: use of moved value: `y` --> $DIR/type_of_a_let.rs:17:5 | LL | let y: Foo = x; | - move occurs because `y` has type `Foo`, which does not implement the `Copy` trait LL | same_type((x, y)); | - value moved here LL | y | ^ value used here after move error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0382`.