1 error[E0119]: conflicting implementations of trait `Trait1` for type `(dyn std::marker::Send + 'static)`
2 --> $DIR/issue-33140-hack-boundaries.rs:18:1
4 LL | impl Trait1 for dyn Send {}
5 | ------------------------ first implementation here
6 LL | impl Trait1 for dyn Send {}
7 | ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + 'static)`
9 error[E0751]: found both positive and negative implementation of trait `Trait2` for type `(dyn std::marker::Send + 'static)`:
10 --> $DIR/issue-33140-hack-boundaries.rs:25:1
12 LL | impl Trait2 for dyn Send {}
13 | ------------------------ positive implementation here
14 LL | impl !Trait2 for dyn Send {}
15 | ^^^^^^^^^^^^^^^^^^^^^^^^^ negative implementation here
17 error[E0119]: conflicting implementations of trait `Trait3<(dyn std::marker::Sync + 'static)>` for type `(dyn std::marker::Send + 'static)`
18 --> $DIR/issue-33140-hack-boundaries.rs:32:1
20 LL | impl Trait3<dyn Sync> for dyn Send {}
21 | ---------------------------------- first implementation here
22 LL | impl Trait3<dyn Sync> for dyn Send {}
23 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + 'static)`
25 error[E0119]: conflicting implementations of trait `Trait4a` for type `(dyn std::marker::Send + 'static)`
26 --> $DIR/issue-33140-hack-boundaries.rs:39:1
28 LL | impl<T: ?Sized> Trait4a for T {}
29 | ----------------------------- first implementation here
30 LL | impl Trait4a for dyn Send {}
31 | ^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + 'static)`
33 error[E0119]: conflicting implementations of trait `Trait4b` for type `()`
34 --> $DIR/issue-33140-hack-boundaries.rs:46:1
36 LL | impl Trait4b for () {}
37 | ------------------- first implementation here
38 LL | impl Trait4b for () {}
39 | ^^^^^^^^^^^^^^^^^^^ conflicting implementation for `()`
41 error[E0119]: conflicting implementations of trait `Trait4c` for type `(dyn Trait1 + std::marker::Send + 'static)`
42 --> $DIR/issue-33140-hack-boundaries.rs:53:1
44 LL | impl Trait4c for dyn Trait1 + Send {}
45 | ---------------------------------- first implementation here
46 LL | impl Trait4c for dyn Trait1 + Send {}
47 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn Trait1 + std::marker::Send + 'static)`
49 error[E0119]: conflicting implementations of trait `Trait4d` for type `dyn std::marker::Send`
50 --> $DIR/issue-33140-hack-boundaries.rs:60:1
52 LL | impl<'a> Trait4d for dyn Send + 'a {}
53 | ---------------------------------- first implementation here
54 LL | impl<'a> Trait4d for dyn Send + 'a {}
55 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `dyn std::marker::Send`
57 error[E0119]: conflicting implementations of trait `Trait5` for type `(dyn std::marker::Send + 'static)`
58 --> $DIR/issue-33140-hack-boundaries.rs:67:1
60 LL | impl Trait5 for dyn Send {}
61 | ------------------------ first implementation here
62 LL | impl Trait5 for dyn Send where u32: Copy {}
63 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + 'static)`
65 error: aborting due to 8 previous errors
67 Some errors have detailed explanations: E0119, E0751.
68 For more information about an error, try `rustc --explain E0119`.