@@ -40,3 +40,56 @@ LL | unsafe impl Trait for dyn (::std::marker::Sync) + Send + Sync { }
40
40
41
41
warning: 3 warnings emitted
42
42
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
46
+ |
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)`
51
+ |
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
56
+ |
57
+ LL | #![warn(order_dependent_trait_objects)]
58
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
59
+
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
63
+ |
64
+ LL | unsafe impl Trait for dyn (::std::marker::Send) + Send + Sync { }
65
+ | ------------------------------------------------------------- first implementation here
66
+ ...
67
+ LL | unsafe impl Trait for dyn (::std::marker::Sync) + Send { }
68
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + std::marker::Sync + 'static)`
69
+ |
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
74
+ |
75
+ LL | #![warn(order_dependent_trait_objects)]
76
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
77
+
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
81
+ |
82
+ LL | unsafe impl Trait for dyn (::std::marker::Sync) + Send { }
83
+ | ------------------------------------------------------ first implementation here
84
+ ...
85
+ LL | unsafe impl Trait for dyn (::std::marker::Sync) + Send + Sync { }
86
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(dyn std::marker::Send + std::marker::Sync + 'static)`
87
+ |
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
92
+ |
93
+ LL | #![warn(order_dependent_trait_objects)]
94
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
95
+
0 commit comments