error[E0277]: the trait bound `T: Clone` is not satisfied --> $DIR/bounds-are-checked-2.rs:10:5 | LL | t | ^ the trait `Clone` is not implemented for `T` | note: required by a bound in an opaque type --> $DIR/bounds-are-checked-2.rs:6:22 | LL | pub type X = impl Clone; | ^^^^^ note: this definition site has more where clauses than the opaque type --> $DIR/bounds-are-checked-2.rs:9:1 | LL | fn f(t: T) -> X { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider restricting type parameter `T` with trait `Clone` | LL | pub type X = impl Clone; | +++++++++++++++++++ error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0277`.