error[E0599]: no method named `clone` found for struct `std::boxed::Box` in the current scope --> $DIR/unique-object-noncopyable.rs:24:16 | LL | trait Foo { | --------- | | | doesn't satisfy `dyn Foo: std::clone::Clone` | doesn't satisfy `dyn Foo: std::marker::Sized` ... LL | let _z = y.clone(); | ^^^^^ method not found in `std::boxed::Box` | ::: $SRC_DIR/liballoc/boxed.rs:LL:COL | LL | pub struct Box(Unique); | ------------------------------------- doesn't satisfy `std::boxed::Box: std::clone::Clone` | = note: the method `clone` exists but the following trait bounds were not satisfied: `dyn Foo: std::marker::Sized` which is required by `std::boxed::Box: std::clone::Clone` `dyn Foo: std::clone::Clone` which is required by `std::boxed::Box: std::clone::Clone` = help: items from traits can only be used if the trait is implemented and in scope = note: the following trait defines an item `clone`, perhaps you need to implement it: candidate #1: `std::clone::Clone` error: aborting due to previous error For more information about this error, try `rustc --explain E0599`.