1error[E0225]: only auto traits can be used as additional traits in a trait object 2 --> $DIR/missing-associated-types.rs:12:32 3 | 4LL | type Foo<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Y<Rhs>; 5 | -------- ^^^^^^^^ additional non-auto trait 6 | | 7 | first non-auto trait 8 | 9 = help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Add<Rhs> + Sub<Rhs> + X<Rhs> + Y<Rhs> {}` 10 = 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> 11 12error[E0191]: the value of the associated types `A` (from trait `Y`), `Output` (from trait `Add`), `Output` (from trait `Mul`), `Output` (from trait `Sub`) must be specified 13 --> $DIR/missing-associated-types.rs:12:21 14 | 15LL | type A; 16 | ------- `A` defined here 17... 18LL | type Foo<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Y<Rhs>; 19 | ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^^^ associated type `A` must be specified 20 | | | | 21 | | | associated type `Output` must be specified 22 | | associated type `Output` must be specified 23 | associated type `Output` must be specified 24 | 25help: specify the associated types 26 | 27LL | type Foo<Rhs> = dyn Add<Rhs, Output = Type> + Sub<Rhs, Output = Type> + X<Rhs, Output = Type> + Y<Rhs, A = Type>; 28 | ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ 29 30error[E0225]: only auto traits can be used as additional traits in a trait object 31 --> $DIR/missing-associated-types.rs:15:32 32 | 33LL | type Bar<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Z<Rhs>; 34 | -------- ^^^^^^^^ additional non-auto trait 35 | | 36 | first non-auto trait 37 | 38 = help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Add<Rhs> + Sub<Rhs> + X<Rhs> + Z<Rhs> {}` 39 = 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> 40 41error[E0191]: the value of the associated types `A` (from trait `Z`), `B` (from trait `Z`), `Output` (from trait `Add`), `Output` (from trait `Div`), `Output` (from trait `Div`), `Output` (from trait `Mul`), `Output` (from trait `Sub`) must be specified 42 --> $DIR/missing-associated-types.rs:15:21 43 | 44LL | type A; 45 | ------- `A` defined here 46LL | type B; 47 | ------- `B` defined here 48... 49LL | type Bar<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Z<Rhs>; 50 | ^^^^^^^^ ^^^^^^^^ ^^^^^^ ^^^^^^ associated types `A`, `B`, `Output` must be specified 51 | | | | 52 | | | associated types `Output` (from trait `Mul`), `Output` (from trait `Div`) must be specified 53 | | associated type `Output` must be specified 54 | associated type `Output` must be specified 55 | 56help: consider introducing a new type parameter, adding `where` constraints using the fully-qualified path to the associated types 57 --> $DIR/missing-associated-types.rs:15:43 58 | 59LL | type Bar<Rhs> = dyn Add<Rhs> + Sub<Rhs> + X<Rhs> + Z<Rhs>; 60 | ^^^^^^ 61help: specify the associated types 62 | 63LL | type Bar<Rhs> = dyn Add<Rhs, Output = Type> + Sub<Rhs, Output = Type> + X<Rhs> + Z<Rhs, A = Type, B = Type, Output = Type>; 64 | ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 65 66error[E0225]: only auto traits can be used as additional traits in a trait object 67 --> $DIR/missing-associated-types.rs:18:32 68 | 69LL | type Baz<Rhs> = dyn Add<Rhs> + Sub<Rhs> + Y<Rhs>; 70 | -------- ^^^^^^^^ additional non-auto trait 71 | | 72 | first non-auto trait 73 | 74 = help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Add<Rhs> + Sub<Rhs> + Y<Rhs> {}` 75 = 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> 76 77error[E0191]: the value of the associated types `A` (from trait `Y`), `Output` (from trait `Add`), `Output` (from trait `Sub`) must be specified 78 --> $DIR/missing-associated-types.rs:18:21 79 | 80LL | type A; 81 | ------- `A` defined here 82... 83LL | type Baz<Rhs> = dyn Add<Rhs> + Sub<Rhs> + Y<Rhs>; 84 | ^^^^^^^^ ^^^^^^^^ ^^^^^^ associated type `A` must be specified 85 | | | 86 | | associated type `Output` must be specified 87 | associated type `Output` must be specified 88 | 89help: specify the associated types 90 | 91LL | type Baz<Rhs> = dyn Add<Rhs, Output = Type> + Sub<Rhs, Output = Type> + Y<Rhs, A = Type>; 92 | ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ 93 94error[E0225]: only auto traits can be used as additional traits in a trait object 95 --> $DIR/missing-associated-types.rs:21:32 96 | 97LL | type Bat<Rhs> = dyn Add<Rhs> + Sub<Rhs> + Fine<Rhs>; 98 | -------- ^^^^^^^^ additional non-auto trait 99 | | 100 | first non-auto trait 101 | 102 = help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Add<Rhs> + Sub<Rhs> + Fine<Rhs> {}` 103 = 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> 104 105error[E0191]: the value of the associated types `Output` (from trait `Add`), `Output` (from trait `Sub`) must be specified 106 --> $DIR/missing-associated-types.rs:21:21 107 | 108LL | type Bat<Rhs> = dyn Add<Rhs> + Sub<Rhs> + Fine<Rhs>; 109 | ^^^^^^^^ ^^^^^^^^ associated type `Output` must be specified 110 | | 111 | associated type `Output` must be specified 112 | 113help: specify the associated types 114 | 115LL | type Bat<Rhs> = dyn Add<Rhs, Output = Type> + Sub<Rhs, Output = Type> + Fine<Rhs>; 116 | ~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~ 117 118error[E0191]: the value of the associated types `Output` (from trait `Div`), `Output` (from trait `Mul`) must be specified 119 --> $DIR/missing-associated-types.rs:24:21 120 | 121LL | type Bal<Rhs> = dyn X<Rhs>; 122 | ^^^^^^ associated types `Output` (from trait `Mul`), `Output` (from trait `Div`) must be specified 123 | 124 = help: consider introducing a new type parameter, adding `where` constraints using the fully-qualified path to the associated types 125 126error: aborting due to 9 previous errors 127 128Some errors have detailed explanations: E0191, E0225. 129For more information about an error, try `rustc --explain E0191`. 130