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();
2020-08-14 19:08:49 +00:00
| ----- ^^^^^ additional non-auto trait
| |
2019-05-28 18:46:13 +00:00
| first non-auto trait
2020-08-14 19:08:49 +00:00
|
2020-09-02 07:40:56 +00:00
= help: consider creating a new trait with all of these as super-traits and using that trait here instead: `trait NewTrait: Trait + Sized {}`
2020-08-14 19:08:49 +00:00
= 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-03-03 23:07:04 +00:00
|
2020-12-05 14:21:50 +00:00
::: $SRC_DIR/alloc/src/vec/mod.rs:LL:COL
2020-03-03 23:07:04 +00:00
|
2020-12-04 13:47:15 +00:00
LL | pub struct Vec<T, #[unstable(feature = "allocator_api", issue = "32838")] A: Allocator = Global> {
2020-09-02 07:40:56 +00:00
| - required by this bound in `Vec`
2018-08-08 12:28:26 +00:00
|
2020-09-02 07:40:56 +00:00
= help: the trait `Sized` is not implemented for `dyn Trait`
2018-08-08 12:28:26 +00:00
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
|
2020-09-02 07:40:56 +00:00
= help: the trait `Sized` is not implemented for `dyn Trait`
= note: required by `Vec::<T>::new`
2018-08-08 12:28:26 +00:00
error: aborting due to 3 previous errors
2019-04-17 17:26:38 +00:00
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`.