1 error[E0277]: the trait bound `std::boxed::Box<{integer}>: Foo` is not satisfied
2 --> $DIR/kindck-inherited-copy-bound.rs:21:16
4 LL | fn take_param<T:Foo>(foo: &T) { }
5 | ---------- --- required by this bound in `take_param`
8 | ^^ the trait `std::marker::Copy` is not implemented for `std::boxed::Box<{integer}>`
10 = note: required because of the requirements on the impl of `Foo` for `std::boxed::Box<{integer}>`
12 error[E0038]: the trait `Foo` cannot be made into an object
13 --> $DIR/kindck-inherited-copy-bound.rs:28:19
15 LL | trait Foo : Copy {
16 | ---- traits that require `Self: Sized` cannot be made into an object
18 LL | let z = &x as &dyn Foo;
19 | ^^^^^^^^ the trait `Foo` cannot be made into an object
21 error[E0038]: the trait `Foo` cannot be made into an object
22 --> $DIR/kindck-inherited-copy-bound.rs:28:13
24 LL | trait Foo : Copy {
25 | ---- traits that require `Self: Sized` cannot be made into an object
27 LL | let z = &x as &dyn Foo;
28 | ^^ the trait `Foo` cannot be made into an object
30 = note: required because of the requirements on the impl of `std::ops::CoerceUnsized<&dyn Foo>` for `&std::boxed::Box<{integer}>`
31 = note: required by cast to type `&dyn Foo`
33 error: aborting due to 3 previous errors
35 Some errors have detailed explanations: E0038, E0277.
36 For more information about an error, try `rustc --explain E0038`.