blob: 5bc8dc590cacb75ab0d6ac4959884fbca9b6b5e8 [file] [log] [blame]
error[E0277]: the size for values of type `X` cannot be known at compilation time
--> $DIR/unsized-trait-impl-self-type.rs:10:27
|
LL | impl<X: ?Sized> T3<X> for S5<X> {
| - ^^^^^ doesn't have a size known at compile-time
| |
| this type parameter needs to be `Sized`
|
note: required by a bound in `S5`
--> $DIR/unsized-trait-impl-self-type.rs:8:11
|
LL | struct S5<Y>(Y);
| ^ required by this bound in `S5`
help: you could relax the implicit `Sized` bound on `Y` if it were used through indirection like `&Y` or `Box<Y>`
--> $DIR/unsized-trait-impl-self-type.rs:8:11
|
LL | struct S5<Y>(Y);
| ^ - ...if indirection were used here: `Box<Y>`
| |
| this could be changed to `Y: ?Sized`...
help: consider removing the `?Sized` bound to make the type parameter `Sized`
|
LL - impl<X: ?Sized> T3<X> for S5<X> {
LL + impl<X> T3<X> for S5<X> {
|
error[E0046]: not all trait items implemented, missing: `foo`
--> $DIR/unsized-trait-impl-self-type.rs:10:1
|
LL | fn foo(&self, z: &Z);
| --------------------- `foo` from trait
...
LL | impl<X: ?Sized> T3<X> for S5<X> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `foo` in implementation
error: aborting due to 2 previous errors
Some errors have detailed explanations: E0046, E0277.
For more information about an error, try `rustc --explain E0046`.