1 warning: conflicting implementations of trait `Trait` for type `(dyn std::marker::Send + std::marker::Sync + 'static)`: (E0119)
2 --> $DIR/issue-33140-traitobject-crate.rs:86:1
4 LL | unsafe impl Trait for dyn (::std::marker::Send) + Sync { }
5 | ------------------------------------------------------ first implementation here
6 LL | unsafe impl Trait for dyn (::std::marker::Send) + Send + Sync { }
7 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + std::marker::Sync + 'static)`
9 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
10 = note: for more information, see issue #56484 <https://github.com/rust-lang/rust/issues/56484>
11 note: the lint level is defined here
12 --> $DIR/issue-33140-traitobject-crate.rs:3:9
14 LL | #![warn(order_dependent_trait_objects)]
15 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
17 warning: conflicting implementations of trait `Trait` for type `(dyn std::marker::Send + std::marker::Sync + 'static)`: (E0119)
18 --> $DIR/issue-33140-traitobject-crate.rs:89:1
20 LL | unsafe impl Trait for dyn (::std::marker::Send) + Send + Sync { }
21 | ------------------------------------------------------------- first implementation here
23 LL | unsafe impl Trait for dyn (::std::marker::Sync) + Send { }
24 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + std::marker::Sync + 'static)`
26 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
27 = note: for more information, see issue #56484 <https://github.com/rust-lang/rust/issues/56484>
29 warning: conflicting implementations of trait `Trait` for type `(dyn std::marker::Send + std::marker::Sync + 'static)`: (E0119)
30 --> $DIR/issue-33140-traitobject-crate.rs:93:1
32 LL | unsafe impl Trait for dyn (::std::marker::Sync) + Send { }
33 | ------------------------------------------------------ first implementation here
35 LL | unsafe impl Trait for dyn (::std::marker::Sync) + Send + Sync { }
36 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + std::marker::Sync + 'static)`
38 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
39 = note: for more information, see issue #56484 <https://github.com/rust-lang/rust/issues/56484>
41 warning: 3 warnings emitted
43 Future incompatibility report: Future breakage diagnostic:
44 warning: conflicting implementations of trait `Trait` for type `(dyn std::marker::Send + std::marker::Sync + 'static)`: (E0119)
45 --> $DIR/issue-33140-traitobject-crate.rs:86:1
47 LL | unsafe impl Trait for dyn (::std::marker::Send) + Sync { }
48 | ------------------------------------------------------ first implementation here
49 LL | unsafe impl Trait for dyn (::std::marker::Send) + Send + Sync { }
50 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + std::marker::Sync + 'static)`
52 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
53 = note: for more information, see issue #56484 <https://github.com/rust-lang/rust/issues/56484>
54 note: the lint level is defined here
55 --> $DIR/issue-33140-traitobject-crate.rs:3:9
57 LL | #![warn(order_dependent_trait_objects)]
58 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
60 Future breakage diagnostic:
61 warning: conflicting implementations of trait `Trait` for type `(dyn std::marker::Send + std::marker::Sync + 'static)`: (E0119)
62 --> $DIR/issue-33140-traitobject-crate.rs:89:1
64 LL | unsafe impl Trait for dyn (::std::marker::Send) + Send + Sync { }
65 | ------------------------------------------------------------- first implementation here
67 LL | unsafe impl Trait for dyn (::std::marker::Sync) + Send { }
68 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + std::marker::Sync + 'static)`
70 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
71 = note: for more information, see issue #56484 <https://github.com/rust-lang/rust/issues/56484>
72 note: the lint level is defined here
73 --> $DIR/issue-33140-traitobject-crate.rs:3:9
75 LL | #![warn(order_dependent_trait_objects)]
76 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
78 Future breakage diagnostic:
79 warning: conflicting implementations of trait `Trait` for type `(dyn std::marker::Send + std::marker::Sync + 'static)`: (E0119)
80 --> $DIR/issue-33140-traitobject-crate.rs:93:1
82 LL | unsafe impl Trait for dyn (::std::marker::Sync) + Send { }
83 | ------------------------------------------------------ first implementation here
85 LL | unsafe impl Trait for dyn (::std::marker::Sync) + Send + Sync { }
86 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + std::marker::Sync + 'static)`
88 = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
89 = note: for more information, see issue #56484 <https://github.com/rust-lang/rust/issues/56484>
90 note: the lint level is defined here
91 --> $DIR/issue-33140-traitobject-crate.rs:3:9
93 LL | #![warn(order_dependent_trait_objects)]
94 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^