error[E0382]: use of moved value: `x` --> $DIR/moves-based-on-type-tuple.rs:4:18 | LL | fn dup(x: Box) -> Box<(Box,Box)> { | - move occurs because `x` has type `Box`, which does not implement the `Copy` trait ... LL | Box::new((x, x)) | - ^ value used here after move | | | value moved here | help: consider cloning the value if the performance cost is acceptable | LL | Box::new((x.clone(), x)) | ++++++++ error: aborting due to previous error For more information about this error, try `rustc --explain E0382`.