| error: the `foo` method cannot be invoked on a trait object |
| --> $DIR/by-value-trait-dyn-compatibility.rs:17:7 |
| | |
| LL | Self: Sized; |
| | ----- this has a `Sized` requirement |
| ... |
| LL | x.foo(); |
| | ^^^ |
| |
| error[E0277]: the size for values of type `dyn Foo` cannot be known at compilation time |
| --> $DIR/by-value-trait-dyn-compatibility.rs:16:9 |
| | |
| LL | let x = *(Box::new(A) as Box<dyn Foo>); |
| | ^ doesn't have a size known at compile-time |
| | |
| = help: the trait `Sized` is not implemented for `dyn Foo` |
| = note: all local variables must have a statically known size |
| help: references are always `Sized`, even if they point to unsized data; consider not dereferencing the expression |
| | |
| LL - let x = *(Box::new(A) as Box<dyn Foo>); |
| LL + let x = (Box::new(A) as Box<dyn Foo>); |
| | |
| |
| error: aborting due to 2 previous errors |
| |
| For more information about this error, try `rustc --explain E0277`. |