2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:16:22
2019-03-30 22:06:09 +00:00
|
LL | trait _0 = Obj;
| ---
| |
| additional non-auto trait
| first non-auto trait
...
LL | type _T00 = dyn _0 + _0;
2019-05-02 17:03:29 +00:00
| -- ^^ trait alias used in trait object type (additional use)
| |
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:19:22
2019-03-30 22:06:09 +00:00
|
LL | trait _0 = Obj;
| ---
| |
| additional non-auto trait
| first non-auto trait
2019-05-02 17:03:29 +00:00
LL | trait _1 = _0;
| -- referenced here (first use)
2019-03-30 22:06:09 +00:00
...
LL | type _T01 = dyn _1 + _0;
2019-05-02 17:03:29 +00:00
| -- ^^ trait alias used in trait object type (additional use)
| |
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:22:22
2019-03-30 22:06:09 +00:00
|
LL | trait _0 = Obj;
| ---
| |
| additional non-auto trait
| first non-auto trait
LL | trait _1 = _0;
2019-05-02 17:03:29 +00:00
| --
| |
| referenced here (additional use)
| referenced here (first use)
2019-03-30 22:06:09 +00:00
...
LL | type _T02 = dyn _1 + _1;
2019-05-02 17:03:29 +00:00
| -- ^^ trait alias used in trait object type (additional use)
| |
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:25:23
2019-03-30 22:06:09 +00:00
|
LL | trait _0 = Obj;
| --- additional non-auto trait
LL | trait _1 = _0;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
...
LL | type _T03 = dyn Obj + _1;
2019-05-02 17:03:29 +00:00
| --- ^^ trait alias used in trait object type (additional use)
2019-03-30 22:06:09 +00:00
| |
| first non-auto trait
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:28:22
2019-03-30 22:06:09 +00:00
|
LL | trait _0 = Obj;
| --- first non-auto trait
2019-05-02 17:03:29 +00:00
LL | trait _1 = _0;
| -- referenced here (first use)
2019-03-30 22:06:09 +00:00
...
LL | type _T04 = dyn _1 + Obj;
2020-08-14 19:08:49 +00:00
| -- ^^^ additional non-auto trait
| |
2019-05-02 17:03:29 +00:00
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:37:17
2019-03-30 22:06:09 +00:00
|
LL | trait _0 = Obj;
| ---
| |
| additional non-auto trait
| first non-auto trait
LL | trait _1 = _0;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
...
LL | trait _2 = _0 + _1;
2019-05-02 17:03:29 +00:00
| -- -- referenced here (additional use)
| |
| referenced here (first use)
2019-03-30 22:06:09 +00:00
...
LL | type _T10 = dyn _2 + _3;
| ^^
2019-05-02 17:03:29 +00:00
| |
| trait alias used in trait object type (additional use)
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:40:22
2019-03-30 22:06:09 +00:00
|
LL | trait _0 = Obj;
| --- additional non-auto trait
...
LL | trait _2 = _0 + _1;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
LL | trait _3 = Obj;
| --- first non-auto trait
...
LL | type _T11 = dyn _3 + _2;
2019-05-02 17:03:29 +00:00
| -- ^^ trait alias used in trait object type (additional use)
| |
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:43:23
2019-03-30 22:06:09 +00:00
|
LL | trait _0 = Obj;
| --- additional non-auto trait
...
LL | trait _2 = _0 + _1;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
...
LL | type _T12 = dyn Obj + _2;
2019-05-02 17:03:29 +00:00
| --- ^^ trait alias used in trait object type (additional use)
2019-03-30 22:06:09 +00:00
| |
| first non-auto trait
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:46:17
2019-03-30 22:06:09 +00:00
|
LL | trait _0 = Obj;
| ---
| |
| additional non-auto trait
| first non-auto trait
LL | trait _1 = _0;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
...
LL | trait _2 = _0 + _1;
2019-05-02 17:03:29 +00:00
| -- -- referenced here (additional use)
| |
| referenced here (first use)
2019-03-30 22:06:09 +00:00
...
LL | type _T13 = dyn _2 + Obj;
| ^^
2019-05-02 17:03:29 +00:00
| |
| trait alias used in trait object type (additional use)
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:49:22
2019-03-30 22:06:09 +00:00
|
LL | trait _0 = Obj;
| --- first non-auto trait
2019-05-02 17:03:29 +00:00
LL | trait _1 = _0;
| -- referenced here (first use)
2019-03-30 22:06:09 +00:00
...
LL | trait _3 = Obj;
| --- additional non-auto trait
...
LL | type _T14 = dyn _1 + _3;
2019-05-02 17:03:29 +00:00
| -- ^^ trait alias used in trait object type (additional use)
| |
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:52:22
2019-03-30 22:06:09 +00:00
|
LL | trait _0 = Obj;
| --- additional non-auto trait
LL | trait _1 = _0;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
...
LL | trait _3 = Obj;
| --- first non-auto trait
...
LL | type _T15 = dyn _3 + _1;
2019-05-02 17:03:29 +00:00
| -- ^^ trait alias used in trait object type (additional use)
| |
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:55:22
2019-03-30 22:06:09 +00:00
|
LL | trait _0 = Obj;
| --- first non-auto trait
2019-05-02 17:03:29 +00:00
LL | trait _1 = _0;
| -- referenced here (first use)
2019-03-30 22:06:09 +00:00
...
LL | trait _3 = Obj;
| --- additional non-auto trait
LL | trait _4 = _3;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
...
LL | type _T16 = dyn _1 + _4;
2019-05-02 17:03:29 +00:00
| -- ^^ trait alias used in trait object type (additional use)
| |
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:58:22
2019-03-30 22:06:09 +00:00
|
LL | trait _0 = Obj;
| --- additional non-auto trait
LL | trait _1 = _0;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
...
LL | trait _3 = Obj;
| --- first non-auto trait
2019-05-02 17:03:29 +00:00
LL | trait _4 = _3;
| -- referenced here (first use)
2019-03-30 22:06:09 +00:00
...
LL | type _T17 = dyn _4 + _1;
2019-05-02 17:03:29 +00:00
| -- ^^ trait alias used in trait object type (additional use)
| |
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:65:22
2019-03-30 22:06:09 +00:00
|
LL | trait _5 = Obj + Send;
| ---
| |
| additional non-auto trait
| first non-auto trait
2022-06-08 18:07:59 +00:00
LL |
2019-03-30 22:06:09 +00:00
LL | type _T20 = dyn _5 + _5;
2019-05-02 17:03:29 +00:00
| -- ^^ trait alias used in trait object type (additional use)
| |
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:68:23
2019-03-30 22:06:09 +00:00
|
LL | trait _5 = Obj + Send;
| --- additional non-auto trait
...
LL | type _T21 = dyn Obj + _5;
2019-05-02 17:03:29 +00:00
| --- ^^ trait alias used in trait object type (additional use)
2019-03-30 22:06:09 +00:00
| |
| first non-auto trait
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:71:22
2019-03-30 22:06:09 +00:00
|
LL | trait _5 = Obj + Send;
| --- first non-auto trait
...
LL | type _T22 = dyn _5 + Obj;
2020-08-14 19:08:49 +00:00
| -- ^^^ additional non-auto trait
| |
2019-05-02 17:03:29 +00:00
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:74:36
2019-03-30 22:06:09 +00:00
|
LL | trait _5 = Obj + Send;
| --- first non-auto trait
...
LL | type _T23 = dyn _5 + Send + Sync + Obj;
2020-08-14 19:08:49 +00:00
| -- ^^^ additional non-auto trait
| |
2019-05-02 17:03:29 +00:00
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:81:17
2019-03-30 22:06:09 +00:00
|
LL | trait _5 = Obj + Send;
| ---
| |
| additional non-auto trait
| first non-auto trait
...
LL | trait _6 = _5 + _5; // ==> Obj + Send + Obj + Send
2019-05-02 17:03:29 +00:00
| -- -- referenced here (additional use)
| |
| referenced here (first use)
2022-06-08 18:07:59 +00:00
LL |
2019-03-30 22:06:09 +00:00
LL | type _T30 = dyn _6;
| ^^
2019-05-02 17:03:29 +00:00
| |
| trait alias used in trait object type (additional use)
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:84:17
2019-03-30 22:06:09 +00:00
|
LL | trait _5 = Obj + Send;
| ---
| |
| additional non-auto trait
| first non-auto trait
...
LL | trait _6 = _5 + _5; // ==> Obj + Send + Obj + Send
2019-05-02 17:03:29 +00:00
| -- -- referenced here (additional use)
| |
| referenced here (first use)
2019-03-30 22:06:09 +00:00
...
LL | type _T31 = dyn _6 + Send;
| ^^
2019-05-02 17:03:29 +00:00
| |
| trait alias used in trait object type (additional use)
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:87:24
2019-03-30 22:06:09 +00:00
|
LL | trait _5 = Obj + Send;
| ---
| |
| additional non-auto trait
| first non-auto trait
...
LL | trait _6 = _5 + _5; // ==> Obj + Send + Obj + Send
2019-05-02 17:03:29 +00:00
| -- -- referenced here (additional use)
| |
| referenced here (first use)
2019-03-30 22:06:09 +00:00
...
LL | type _T32 = dyn Send + _6;
| ^^
2019-05-02 17:03:29 +00:00
| |
| trait alias used in trait object type (additional use)
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:95:22
2019-03-30 22:06:09 +00:00
|
LL | trait _5 = Obj + Send;
| --- first non-auto trait
...
2019-05-02 17:03:29 +00:00
LL | trait _7 = _5 + Sync;
| -- referenced here (first use)
LL | trait _8 = Unpin + _7;
| -- referenced here (first use)
2022-06-08 18:07:59 +00:00
LL |
2019-03-30 22:06:09 +00:00
LL | type _T40 = dyn _8 + Obj;
2020-08-14 19:08:49 +00:00
| -- ^^^ additional non-auto trait
| |
2019-05-02 17:03:29 +00:00
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:98:23
2019-03-30 22:06:09 +00:00
|
LL | trait _5 = Obj + Send;
| --- additional non-auto trait
...
LL | trait _7 = _5 + Sync;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
LL | trait _8 = Unpin + _7;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
...
LL | type _T41 = dyn Obj + _8;
2019-05-02 17:03:29 +00:00
| --- ^^ trait alias used in trait object type (additional use)
2019-03-30 22:06:09 +00:00
| |
| first non-auto trait
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:101:22
2019-03-30 22:06:09 +00:00
|
LL | trait _3 = Obj;
| --- additional non-auto trait
LL | trait _4 = _3;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
...
LL | trait _5 = Obj + Send;
| --- first non-auto trait
...
2019-05-02 17:03:29 +00:00
LL | trait _7 = _5 + Sync;
| -- referenced here (first use)
LL | trait _8 = Unpin + _7;
| -- referenced here (first use)
...
2019-03-30 22:06:09 +00:00
LL | type _T42 = dyn _8 + _4;
2019-05-02 17:03:29 +00:00
| -- ^^ trait alias used in trait object type (additional use)
| |
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:104:22
2019-03-30 22:06:09 +00:00
|
LL | trait _3 = Obj;
| --- first non-auto trait
2019-05-02 17:03:29 +00:00
LL | trait _4 = _3;
| -- referenced here (first use)
2019-03-30 22:06:09 +00:00
...
LL | trait _5 = Obj + Send;
| --- additional non-auto trait
...
LL | trait _7 = _5 + Sync;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
LL | trait _8 = Unpin + _7;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
...
LL | type _T43 = dyn _4 + _8;
2019-05-02 17:03:29 +00:00
| -- ^^ trait alias used in trait object type (additional use)
| |
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:107:36
2019-03-30 22:06:09 +00:00
|
LL | trait _3 = Obj;
| --- first non-auto trait
2019-05-02 17:03:29 +00:00
LL | trait _4 = _3;
| -- referenced here (first use)
2019-03-30 22:06:09 +00:00
...
LL | trait _5 = Obj + Send;
| --- additional non-auto trait
...
LL | trait _7 = _5 + Sync;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
LL | trait _8 = Unpin + _7;
2019-05-02 17:03:29 +00:00
| -- referenced here (additional use)
2019-03-30 22:06:09 +00:00
...
LL | type _T44 = dyn _4 + Send + Sync + _8;
2019-05-02 17:03:29 +00:00
| -- ^^ trait alias used in trait object type (additional use)
| |
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: Obj + Obj {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:117:22
2019-03-30 22:06:09 +00:00
|
LL | trait _9 = for<'a> ObjL<'a>;
| ---------------- first non-auto trait
LL | trait _10 = for<'b> ObjL<'b>;
| ---------------- additional non-auto trait
2019-05-28 18:46:13 +00:00
LL | type _T50 = dyn _9 + _10;
| -- ^^^ trait alias used in trait object type (additional use)
| |
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: for<'a> ObjL<'a> + for<'b> ObjL<'b> {}`
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>
2019-03-30 22:06:09 +00:00
error[E0225]: only auto traits can be used as additional traits in a trait object
2021-02-08 22:15:45 +00:00
--> $DIR/no-duplicates.rs:123:23
2019-03-30 22:06:09 +00:00
|
LL | trait _11 = ObjT<for<'a> fn(&'a u8)>;
| ------------------------ first non-auto trait
LL | trait _12 = ObjT<for<'b> fn(&'b u8)>;
| ------------------------ additional non-auto trait
2019-05-28 18:46:13 +00:00
LL | type _T60 = dyn _11 + _12;
| --- ^^^ trait alias used in trait object type (additional use)
| |
| trait alias used in trait object type (first use)
2020-08-14 19:08:49 +00:00
|
2021-10-02 00:21:01 +00:00
= help: consider creating a new trait with all of these as supertraits and using that trait here instead: `trait NewTrait: ObjT<for<'a> fn(&'a u8)> + ObjT<for<'b> fn(&'b u8)> {}`
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>
2019-03-30 22:06:09 +00:00
error: aborting due to 27 previous errors
For more information about this error, try `rustc --explain E0225`.