1 error[E0119]: conflicting implementations of trait `Trait` for type `(dyn std::marker::Send + std::marker::Sync + 'static)`:
2 --> $DIR/issue-33140.rs:9:1
4 LL | impl Trait for dyn Send + Sync {
5 | ------------------------------ first implementation here
7 LL | impl Trait for dyn Sync + Send {
8 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + std::marker::Sync + 'static)`
10 error[E0119]: conflicting implementations of trait `Trait2` for type `(dyn std::marker::Send + std::marker::Sync + 'static)`:
11 --> $DIR/issue-33140.rs:22:1
13 LL | impl Trait2 for dyn Send + Sync {
14 | ------------------------------- first implementation here
16 LL | impl Trait2 for dyn Sync + Send + Sync {
17 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + std::marker::Sync + 'static)`
19 error[E0592]: duplicate definitions with name `abc`
20 --> $DIR/issue-33140.rs:29:5
22 LL | fn abc() -> bool {
23 | ^^^^^^^^^^^^^^^^ duplicate definitions for `abc`
25 LL | fn abc() -> bool {
26 | ---------------- other definition for `abc`
28 error: aborting due to 3 previous errors
30 Some errors have detailed explanations: E0119, E0592.
31 For more information about an error, try `rustc --explain E0119`.