]> git.lizzy.rs Git - rust.git/blob - src/test/ui/traits/issue-33140-hack-boundaries.stderr
:arrow_up: rust-analyzer
[rust.git] / src / test / ui / traits / issue-33140-hack-boundaries.stderr
1 error[E0119]: conflicting implementations of trait `Trait1` for type `(dyn std::marker::Send + 'static)`
2   --> $DIR/issue-33140-hack-boundaries.rs:18:1
3    |
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)`
8
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
11    |
12 LL | impl Trait2 for dyn Send {}
13    | ------------------------ positive implementation here
14 LL | impl !Trait2 for dyn Send {}
15    | ^^^^^^^^^^^^^^^^^^^^^^^^^ negative implementation here
16
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
19    |
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)`
24
25 error[E0119]: conflicting implementations of trait `Trait4a` for type `(dyn std::marker::Send + 'static)`
26   --> $DIR/issue-33140-hack-boundaries.rs:39:1
27    |
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)`
32
33 error[E0119]: conflicting implementations of trait `Trait4b` for type `()`
34   --> $DIR/issue-33140-hack-boundaries.rs:46:1
35    |
36 LL | impl Trait4b for () {}
37    | ------------------- first implementation here
38 LL | impl Trait4b for () {}
39    | ^^^^^^^^^^^^^^^^^^^ conflicting implementation for `()`
40
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
43    |
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)`
48
49 error[E0119]: conflicting implementations of trait `Trait4d` for type `dyn std::marker::Send`
50   --> $DIR/issue-33140-hack-boundaries.rs:60:1
51    |
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`
56
57 error[E0119]: conflicting implementations of trait `Trait5` for type `(dyn std::marker::Send + 'static)`
58   --> $DIR/issue-33140-hack-boundaries.rs:67:1
59    |
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)`
64
65 error: aborting due to 8 previous errors
66
67 Some errors have detailed explanations: E0119, E0751.
68 For more information about an error, try `rustc --explain E0119`.
69 Future incompatibility report: Future breakage diagnostic:
70 warning: conflicting implementations of trait `Trait0` for type `(dyn std::marker::Send + 'static)`: (E0119)
71   --> $DIR/issue-33140-hack-boundaries.rs:10:1
72    |
73 LL | impl Trait0 for dyn Send {}
74    | ------------------------ first implementation here
75 LL | impl Trait0 for dyn Send {}
76    | ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + 'static)`
77    |
78    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
79    = note: for more information, see issue #56484 <https://github.com/rust-lang/rust/issues/56484>
80 note: the lint level is defined here
81   --> $DIR/issue-33140-hack-boundaries.rs:2:10
82    |
83 LL | #![allow(order_dependent_trait_objects)]
84    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
85