rust/src/test/ui/bad/bad-sized.stderr

38 lines
1.7 KiB
Plaintext
Raw Normal View History

2018-08-08 12:28:26 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2019-05-28 18:46:13 +00:00
--> $DIR/bad-sized.rs:4:28
2018-08-08 12:28:26 +00:00
|
2019-05-28 18:46:13 +00:00
LL | let x: Vec<dyn Trait + Sized> = Vec::new();
| ----- ^^^^^ additional non-auto trait
| |
2019-05-28 18:46:13 +00:00
| first non-auto trait
|
= help: consider creating a new trait with all of these as super-traits and using that trait here instead: `trait NewTrait: Trait + std::marker::Sized {}`
= note: auto-traits like `Send` and `Sync` are traits that have special properties; for more information on them, visit <https://doc.rust-lang.org/reference/special-types-and-traits.html#auto-traits>
2018-08-08 12:28:26 +00:00
error[E0277]: the size for values of type `dyn Trait` cannot be known at compilation time
2018-12-25 15:56:47 +00:00
--> $DIR/bad-sized.rs:4:12
2018-08-08 12:28:26 +00:00
|
2019-05-28 18:46:13 +00:00
LL | let x: Vec<dyn Trait + Sized> = Vec::new();
| ^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
|
2020-06-12 02:31:49 +00:00
::: $SRC_DIR/alloc/src/vec.rs:LL:COL
|
LL | pub struct Vec<T> {
| - required by this bound in `std::vec::Vec`
2018-08-08 12:28:26 +00:00
|
= help: the trait `std::marker::Sized` is not implemented for `dyn Trait`
error[E0277]: the size for values of type `dyn Trait` cannot be known at compilation time
2019-05-28 18:46:13 +00:00
--> $DIR/bad-sized.rs:4:37
2018-08-08 12:28:26 +00:00
|
2019-05-28 18:46:13 +00:00
LL | let x: Vec<dyn Trait + Sized> = Vec::new();
| ^^^^^^^^ doesn't have a size known at compile-time
2018-08-08 12:28:26 +00:00
|
= help: the trait `std::marker::Sized` is not implemented for `dyn Trait`
= note: required by `std::vec::Vec::<T>::new`
2018-08-08 12:28:26 +00:00
error: aborting due to 3 previous errors
Some errors have detailed explanations: E0225, E0277.
2018-08-08 12:28:26 +00:00
For more information about an error, try `rustc --explain E0225`.