error[E0119]: conflicting implementations of trait `Trait` for type `(dyn Send + Sync + 'static)` --> $DIR/issue-33140.rs:9:1 | LL | impl Trait for dyn Send + Sync { | ------------------------------ first implementation here ... LL | impl Trait for dyn Sync + Send { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn Send + Sync + 'static)` error[E0119]: conflicting implementations of trait `Trait2` for type `(dyn Send + Sync + 'static)` --> $DIR/issue-33140.rs:22:1 | LL | impl Trait2 for dyn Send + Sync { | ------------------------------- first implementation here ... LL | impl Trait2 for dyn Sync + Send + Sync { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn Send + Sync + 'static)` error[E0592]: duplicate definitions with name `abc` --> $DIR/issue-33140.rs:29:5 | LL | fn abc() -> bool { | ^^^^^^^^^^^^^^^^ duplicate definitions for `abc` ... LL | fn abc() -> bool { | ---------------- other definition for `abc` error[E0034]: multiple applicable items in scope --> $DIR/issue-33140.rs:45:40 | LL | assert_eq!(>::abc(), false); | ^^^ multiple `abc` found | note: candidate #1 is defined in an impl for the type `Foo<(dyn Send + Sync + 'static)>` --> $DIR/issue-33140.rs:29:5 | LL | fn abc() -> bool { | ^^^^^^^^^^^^^^^^ note: candidate #2 is defined in an impl for the type `Foo<(dyn Send + Sync + 'static)>` --> $DIR/issue-33140.rs:35:5 | LL | fn abc() -> bool { | ^^^^^^^^^^^^^^^^ error[E0034]: multiple applicable items in scope --> $DIR/issue-33140.rs:47:40 | LL | assert_eq!(>::abc(), true); | ^^^ multiple `abc` found | note: candidate #1 is defined in an impl for the type `Foo<(dyn Send + Sync + 'static)>` --> $DIR/issue-33140.rs:29:5 | LL | fn abc() -> bool { | ^^^^^^^^^^^^^^^^ note: candidate #2 is defined in an impl for the type `Foo<(dyn Send + Sync + 'static)>` --> $DIR/issue-33140.rs:35:5 | LL | fn abc() -> bool { | ^^^^^^^^^^^^^^^^ error: aborting due to 5 previous errors Some errors have detailed explanations: E0034, E0119, E0592. For more information about an error, try `rustc --explain E0034`.