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 | --- ---- ...because it requires `Self: Sized`
18 | this trait cannot be made into an object...
20 LL | let z = &x as &dyn Foo;
21 | ^^^^^^^^ the trait `Foo` cannot be made into an object
23 error[E0038]: the trait `Foo` cannot be made into an object
24 --> $DIR/kindck-inherited-copy-bound.rs:28:13
26 LL | trait Foo : Copy {
27 | --- ---- ...because it requires `Self: Sized`
29 | this trait cannot be made into an object...
31 LL | let z = &x as &dyn Foo;
32 | ^^ the trait `Foo` cannot be made into an object
34 = note: required because of the requirements on the impl of `std::ops::CoerceUnsized<&dyn Foo>` for `&std::boxed::Box<{integer}>`
35 = note: required by cast to type `&dyn Foo`
37 error: aborting due to 3 previous errors
39 Some errors have detailed explanations: E0038, E0277.
40 For more information about an error, try `rustc --explain E0038`.