1 error: `?Trait` is not permitted in trait object types
2 --> $DIR/trait-object-trait-parens.rs:8:24
4 LL | let _: Box<(Obj) + (?Sized) + (for<'a> Trait<'a>)>;
7 error: `?Trait` is not permitted in trait object types
8 --> $DIR/trait-object-trait-parens.rs:12:17
10 LL | let _: Box<(?Sized) + (for<'a> Trait<'a>) + (Obj)>;
13 error: `?Trait` is not permitted in trait object types
14 --> $DIR/trait-object-trait-parens.rs:16:46
16 LL | let _: Box<(for<'a> Trait<'a>) + (Obj) + (?Sized)>;
19 warning: trait objects without an explicit `dyn` are deprecated
20 --> $DIR/trait-object-trait-parens.rs:8:16
22 LL | let _: Box<(Obj) + (?Sized) + (for<'a> Trait<'a>)>;
23 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (Obj) + (?Sized) + (for<'a> Trait<'a>)`
25 = note: `#[warn(bare_trait_objects)]` on by default
27 warning: trait objects without an explicit `dyn` are deprecated
28 --> $DIR/trait-object-trait-parens.rs:12:16
30 LL | let _: Box<(?Sized) + (for<'a> Trait<'a>) + (Obj)>;
31 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (?Sized) + (for<'a> Trait<'a>) + (Obj)`
33 warning: trait objects without an explicit `dyn` are deprecated
34 --> $DIR/trait-object-trait-parens.rs:16:16
36 LL | let _: Box<(for<'a> Trait<'a>) + (Obj) + (?Sized)>;
37 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn (for<'a> Trait<'a>) + (Obj) + (?Sized)`
39 error[E0225]: only auto traits can be used as additional traits in a trait object
40 --> $DIR/trait-object-trait-parens.rs:8:35
42 LL | let _: Box<(Obj) + (?Sized) + (for<'a> Trait<'a>)>;
43 | ----- ^^^^^^^^^^^^^^^^^^^ additional non-auto trait
45 | first non-auto trait
47 = help: consider creating a new trait with all of these as super-traits and using that trait here instead: `trait NewTrait: Obj + for<'a> Trait<'a> {}`
48 = 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>
50 error[E0225]: only auto traits can be used as additional traits in a trait object
51 --> $DIR/trait-object-trait-parens.rs:12:49
53 LL | let _: Box<(?Sized) + (for<'a> Trait<'a>) + (Obj)>;
54 | ------------------- ^^^^^ additional non-auto trait
56 | first non-auto trait
58 = help: consider creating a new trait with all of these as super-traits and using that trait here instead: `trait NewTrait: for<'a> Trait<'a> + Obj {}`
59 = 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>
61 error[E0225]: only auto traits can be used as additional traits in a trait object
62 --> $DIR/trait-object-trait-parens.rs:16:38
64 LL | let _: Box<(for<'a> Trait<'a>) + (Obj) + (?Sized)>;
65 | ----------------- ^^^^^ additional non-auto trait
67 | first non-auto trait
69 = help: consider creating a new trait with all of these as super-traits and using that trait here instead: `trait NewTrait: for<'a> Trait<'a> + Obj {}`
70 = 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>
72 error: aborting due to 6 previous errors; 3 warnings emitted
74 For more information about this error, try `rustc --explain E0225`.