rust/src/test/ui/wf/wf-convert-unsafe-trait-obj-box.stderr

40 lines
1.8 KiB
Plaintext
Raw Normal View History

error[E0038]: the trait `Trait` cannot be made into an object
--> $DIR/wf-convert-unsafe-trait-obj-box.rs:16:33
|
2020-01-19 22:53:37 +00:00
LL | trait Trait: Sized {}
2020-01-30 18:20:47 +00:00
| ----- traits that require `Self: Sized` cannot be made into an object
2020-01-19 22:53:37 +00:00
...
LL | let t_box: Box<dyn Trait> = Box::new(S);
| ^^^^^^^^^^^ the trait `Trait` cannot be made into an object
|
= note: required because of the requirements on the impl of `std::ops::CoerceUnsized<std::boxed::Box<dyn Trait>>` for `std::boxed::Box<S>`
= note: required by cast to type `std::boxed::Box<dyn Trait>`
error[E0038]: the trait `Trait` cannot be made into an object
--> $DIR/wf-convert-unsafe-trait-obj-box.rs:17:15
|
2020-01-19 22:53:37 +00:00
LL | trait Trait: Sized {}
2020-01-30 18:20:47 +00:00
| ----- traits that require `Self: Sized` cannot be made into an object
2020-01-19 22:53:37 +00:00
...
LL | takes_box(Box::new(S));
| ^^^^^^^^^^^ the trait `Trait` cannot be made into an object
|
= note: required because of the requirements on the impl of `std::ops::CoerceUnsized<std::boxed::Box<dyn Trait>>` for `std::boxed::Box<S>`
= note: required by cast to type `std::boxed::Box<(dyn Trait + 'static)>`
error[E0038]: the trait `Trait` cannot be made into an object
--> $DIR/wf-convert-unsafe-trait-obj-box.rs:15:5
|
2020-01-19 22:53:37 +00:00
LL | trait Trait: Sized {}
2020-01-30 18:20:47 +00:00
| ----- traits that require `Self: Sized` cannot be made into an object
2020-01-19 22:53:37 +00:00
...
LL | Box::new(S) as Box<dyn Trait>;
| ^^^^^^^^^^^ the trait `Trait` cannot be made into an object
|
= note: required because of the requirements on the impl of `std::ops::CoerceUnsized<std::boxed::Box<dyn Trait>>` for `std::boxed::Box<S>`
= note: required by cast to type `std::boxed::Box<dyn Trait>`
error: aborting due to 3 previous errors
For more information about this error, try `rustc --explain E0038`.