mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 23:34:48 +00:00
39 lines
1.8 KiB
Plaintext
39 lines
1.8 KiB
Plaintext
error[E0751]: found both positive and negative implementation of trait `Send` for type `TestType<_>`:
|
|
--> $DIR/coherence-conflicting-negative-trait-impl.rs:11:1
|
|
|
|
|
LL | unsafe impl<T: MyTrait + 'static> Send for TestType<T> {}
|
|
| ------------------------------------------------------ positive implementation here
|
|
LL |
|
|
LL | impl<T: MyTrait> !Send for TestType<T> {}
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ negative implementation here
|
|
|
|
error[E0119]: conflicting implementations of trait `Send` for type `TestType<_>`
|
|
--> $DIR/coherence-conflicting-negative-trait-impl.rs:13:1
|
|
|
|
|
LL | unsafe impl<T: MyTrait + 'static> Send for TestType<T> {}
|
|
| ------------------------------------------------------ first implementation here
|
|
...
|
|
LL | unsafe impl<T: 'static> Send for TestType<T> {}
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `TestType<_>`
|
|
|
|
warning: cross-crate traits with a default impl, like `Send`, should not be specialized
|
|
--> $DIR/coherence-conflicting-negative-trait-impl.rs:15:1
|
|
|
|
|
LL | impl !Send for TestType<i32> {}
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
|
= warning: this will change its meaning in a future release!
|
|
= note: for more information, see issue #93367 <https://github.com/rust-lang/rust/issues/93367>
|
|
= note: `i32` is not a generic parameter
|
|
note: try using the same sequence of generic parameters as the struct definition
|
|
--> $DIR/coherence-conflicting-negative-trait-impl.rs:7:1
|
|
|
|
|
LL | struct TestType<T>(::std::marker::PhantomData<T>);
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
= note: `#[warn(suspicious_auto_trait_impls)]` on by default
|
|
|
|
error: aborting due to 2 previous errors; 1 warning emitted
|
|
|
|
Some errors have detailed explanations: E0119, E0751.
|
|
For more information about an error, try `rustc --explain E0119`.
|