| error[E0225]: only auto traits can be used as additional traits in a trait object |
| --> $DIR/missing-associated-types.rs:12:32 |
| | |
| LL | type Foo<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Y<Rhs>; |
| | -------- ^^^^^^^^ |
| | | | |
| | | additional non-auto trait |
| | | trait alias used in trait object type (additional use) |
| | first non-auto trait |
| | trait alias used in trait object type (first use) |
| |
| error[E0191]: the value of the associated types `A` (from trait `Y`), `Output` (from trait `std::ops::Add`), `Output` (from trait `std::ops::Mul`), `Output` (from trait `std::ops::Sub`) must be specified |
| --> $DIR/missing-associated-types.rs:12:21 |
| | |
| LL | type A; |
| | ------- `A` defined here |
| ... |
| LL | type Foo<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Y<Rhs>; |
| | ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^^^ associated type `A` must be specified |
| | | | | |
| | | | associated type `Output` must be specified |
| | | associated type `Output` must be specified |
| | associated type `Output` must be specified |
| | |
| help: specify the associated types |
| | |
| LL | type Foo<Rhs> = dyn Add<Rhs, Output = Type> + Sub<Rhs, Output = Type> + X<Rhs, Output = Type> + Y<Rhs, A = Type>; |
| | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ |
| |
| error[E0225]: only auto traits can be used as additional traits in a trait object |
| --> $DIR/missing-associated-types.rs:15:32 |
| | |
| LL | type Bar<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Z<Rhs>; |
| | -------- ^^^^^^^^ |
| | | | |
| | | additional non-auto trait |
| | | trait alias used in trait object type (additional use) |
| | first non-auto trait |
| | trait alias used in trait object type (first use) |
| |
| error[E0191]: the value of the associated types `A` (from trait `Z`), `B` (from trait `Z`), `Output` (from trait `std::ops::Add`), `Output` (from trait `std::ops::Div`), `Output` (from trait `std::ops::Div`), `Output` (from trait `std::ops::Mul`), `Output` (from trait `std::ops::Sub`) must be specified |
| --> $DIR/missing-associated-types.rs:15:21 |
| | |
| LL | type A; |
| | ------- `A` defined here |
| LL | type B; |
| | ------- `B` defined here |
| ... |
| LL | type Bar<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Z<Rhs>; |
| | ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^^^ associated types `A`, `B`, `Output` must be specified |
| | | | | |
| | | | associated types `Output` (from trait `std::ops::Mul`), `Output` (from trait `std::ops::Div`) must be specified |
| | | associated type `Output` must be specified |
| | associated type `Output` must be specified |
| | |
| help: consider introducing a new type parameter, adding `where` constraints using the fully-qualified path to the associated types |
| --> $DIR/missing-associated-types.rs:15:43 |
| | |
| LL | type Bar<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Z<Rhs>; |
| | ^^^^^^ |
| help: specify the associated types |
| | |
| LL | type Bar<Rhs> = dyn Add<Rhs, Output = Type> + Sub<Rhs, Output = Type> + X<Rhs> + Z<Rhs, A = Type, B = Type, Output = Type>; |
| | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error[E0225]: only auto traits can be used as additional traits in a trait object |
| --> $DIR/missing-associated-types.rs:18:32 |
| | |
| LL | type Baz<Rhs> = dyn Add<Rhs> + Sub<Rhs> + Y<Rhs>; |
| | -------- ^^^^^^^^ |
| | | | |
| | | additional non-auto trait |
| | | trait alias used in trait object type (additional use) |
| | first non-auto trait |
| | trait alias used in trait object type (first use) |
| |
| error[E0191]: the value of the associated types `A` (from trait `Y`), `Output` (from trait `std::ops::Add`), `Output` (from trait `std::ops::Sub`) must be specified |
| --> $DIR/missing-associated-types.rs:18:21 |
| | |
| LL | type A; |
| | ------- `A` defined here |
| ... |
| LL | type Baz<Rhs> = dyn Add<Rhs> + Sub<Rhs> + Y<Rhs>; |
| | ^^^^^^^^ ^^^^^^^^ ^^^^^^ associated type `A` must be specified |
| | | | |
| | | associated type `Output` must be specified |
| | associated type `Output` must be specified |
| | |
| help: specify the associated types |
| | |
| LL | type Baz<Rhs> = dyn Add<Rhs, Output = Type> + Sub<Rhs, Output = Type> + Y<Rhs, A = Type>; |
| | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ |
| |
| error[E0225]: only auto traits can be used as additional traits in a trait object |
| --> $DIR/missing-associated-types.rs:21:32 |
| | |
| LL | type Bat<Rhs> = dyn Add<Rhs> + Sub<Rhs> + Fine<Rhs>; |
| | -------- ^^^^^^^^ |
| | | | |
| | | additional non-auto trait |
| | | trait alias used in trait object type (additional use) |
| | first non-auto trait |
| | trait alias used in trait object type (first use) |
| |
| error[E0191]: the value of the associated types `Output` (from trait `std::ops::Add`), `Output` (from trait `std::ops::Sub`) must be specified |
| --> $DIR/missing-associated-types.rs:21:21 |
| | |
| LL | type Bat<Rhs> = dyn Add<Rhs> + Sub<Rhs> + Fine<Rhs>; |
| | ^^^^^^^^ ^^^^^^^^ associated type `Output` must be specified |
| | | |
| | associated type `Output` must be specified |
| | |
| help: specify the associated types |
| | |
| LL | type Bat<Rhs> = dyn Add<Rhs, Output = Type> + Sub<Rhs, Output = Type> + Fine<Rhs>; |
| | ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error[E0191]: the value of the associated types `Output` (from trait `std::ops::Div`), `Output` (from trait `std::ops::Mul`) must be specified |
| --> $DIR/missing-associated-types.rs:24:21 |
| | |
| LL | type Bal<Rhs> = dyn X<Rhs>; |
| | ^^^^^^ associated types `Output` (from trait `std::ops::Mul`), `Output` (from trait `std::ops::Div`) must be specified |
| | |
| = help: consider introducing a new type parameter, adding `where` constraints using the fully-qualified path to the associated types |
| |
| error: aborting due to 9 previous errors |
| |
| Some errors have detailed explanations: E0191, E0225. |
| For more information about an error, try `rustc --explain E0191`. |