1 error[E0393]: the type parameter `Rhs` must be explicitly specified
2 --> $DIR/issue-22560.rs:6:13
5 | ^^^ help: set the type parameter to the desired type: `Sub<Rhs>`
7 ::: $SRC_DIR/libcore/ops/arith.rs:LL:COL
9 LL | / pub trait Sub<Rhs = Self> {
10 LL | | /// The resulting type after applying the `-` operator.
11 LL | | #[stable(feature = "rust1", since = "1.0.0")]
14 LL | | fn sub(self, rhs: Rhs) -> Self::Output;
16 | |_- type parameter `Rhs` must be specified for this
18 = note: because of the default `Self` reference, type parameters must be specified on object types
20 error[E0393]: the type parameter `Rhs` must be explicitly specified
21 --> $DIR/issue-22560.rs:3:17
23 LL | type Test = dyn Add +
24 | ^^^ help: set the type parameter to the desired type: `Add<Rhs>`
26 ::: $SRC_DIR/libcore/ops/arith.rs:LL:COL
28 LL | / pub trait Add<Rhs = Self> {
29 LL | | /// The resulting type after applying the `+` operator.
30 LL | | #[stable(feature = "rust1", since = "1.0.0")]
33 LL | | fn add(self, rhs: Rhs) -> Self::Output;
35 | |_- type parameter `Rhs` must be specified for this
37 = note: because of the default `Self` reference, type parameters must be specified on object types
39 error[E0225]: only auto traits can be used as additional traits in a trait object
40 --> $DIR/issue-22560.rs:6:13
42 LL | type Test = dyn Add +
45 | first non-auto trait
46 | trait alias used in trait object type (first use)
51 | additional non-auto trait
52 | trait alias used in trait object type (additional use)
54 error[E0191]: the value of the associated types `Output` (from trait `std::ops::Add`), `Output` (from trait `std::ops::Sub`) must be specified
55 --> $DIR/issue-22560.rs:3:13
57 LL | type Test = dyn Add +
62 | |_______________^ associated types `Output`, `Output` must be specified
64 error: aborting due to 4 previous errors
66 Some errors have detailed explanations: E0191, E0225, E0393.
67 For more information about an error, try `rustc --explain E0191`.