| error[E0119]: conflicting implementations of trait `std::marker::Send` for type `&[NotSync]`: |
| --> $DIR/coherence-impls-send.rs:25:1 |
| | |
| LL | unsafe impl Send for &'static [NotSync] {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| = note: conflicting implementation in crate `core`: |
| - impl<T> std::marker::Send for &T |
| where T: std::marker::Sync, T: ?Sized; |
| = note: upstream crates may add a new impl of trait `std::marker::Sync` for type `[NotSync]` in future versions |
| |
| error[E0117]: only traits defined in the current crate can be implemented for arbitrary types |
| --> $DIR/coherence-impls-send.rs:16:1 |
| | |
| LL | unsafe impl Send for (MyType, MyType) {} |
| | ^^^^^^^^^^^^^^^^^^^^^---------------- |
| | | | |
| | | this is not defined in the current crate because tuples are always foreign |
| | impl doesn't use only types from inside the current crate |
| | |
| = note: define and implement a trait or new type instead |
| |
| error[E0321]: cross-crate traits with a default impl, like `std::marker::Send`, can only be implemented for a struct/enum type, not `&'static NotSync` |
| --> $DIR/coherence-impls-send.rs:19:1 |
| | |
| LL | unsafe impl Send for &'static NotSync {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't implement cross-crate trait with a default impl for non-struct/enum type |
| |
| error[E0117]: only traits defined in the current crate can be implemented for arbitrary types |
| --> $DIR/coherence-impls-send.rs:22:1 |
| | |
| LL | unsafe impl Send for [MyType] {} |
| | ^^^^^^^^^^^^^^^^^^^^^-------- |
| | | | |
| | | this is not defined in the current crate because slices are always foreign |
| | impl doesn't use only types from inside the current crate |
| | |
| = note: define and implement a trait or new type instead |
| |
| error[E0117]: only traits defined in the current crate can be implemented for arbitrary types |
| --> $DIR/coherence-impls-send.rs:25:1 |
| | |
| LL | unsafe impl Send for &'static [NotSync] {} |
| | ^^^^^^^^^^^^^^^^^^^^^------------------ |
| | | | |
| | | this is not defined in the current crate because slices are always foreign |
| | impl doesn't use only types from inside the current crate |
| | |
| = note: define and implement a trait or new type instead |
| |
| error: aborting due to 5 previous errors |
| |
| Some errors have detailed explanations: E0117, E0119, E0321. |
| For more information about an error, try `rustc --explain E0117`. |