1 error[E0119]: conflicting implementations of trait `std::marker::Send` for type `&[NotSync]`:
2 --> $DIR/coherence-impls-send.rs:25:1
4 LL | unsafe impl Send for &'static [NotSync] {}
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7 = note: conflicting implementation in crate `core`:
9 where T: Sync, T: ?Sized;
10 = note: upstream crates may add a new impl of trait `std::marker::Sync` for type `[NotSync]` in future versions
12 error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
13 --> $DIR/coherence-impls-send.rs:16:1
15 LL | unsafe impl Send for (MyType, MyType) {}
16 | ^^^^^^^^^^^^^^^^^^^^^----------------
18 | | this is not defined in the current crate because tuples are always foreign
19 | impl doesn't use only types from inside the current crate
21 = note: define and implement a trait or new type instead
23 error[E0321]: cross-crate traits with a default impl, like `Send`, can only be implemented for a struct/enum type, not `&'static NotSync`
24 --> $DIR/coherence-impls-send.rs:19:1
26 LL | unsafe impl Send for &'static NotSync {}
27 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't implement cross-crate trait with a default impl for non-struct/enum type
29 error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
30 --> $DIR/coherence-impls-send.rs:22:1
32 LL | unsafe impl Send for [MyType] {}
33 | ^^^^^^^^^^^^^^^^^^^^^--------
35 | | this is not defined in the current crate because slices are always foreign
36 | impl doesn't use only types from inside the current crate
38 = note: define and implement a trait or new type instead
40 error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
41 --> $DIR/coherence-impls-send.rs:25:1
43 LL | unsafe impl Send for &'static [NotSync] {}
44 | ^^^^^^^^^^^^^^^^^^^^^------------------
46 | | this is not defined in the current crate because slices are always foreign
47 | impl doesn't use only types from inside the current crate
49 = note: define and implement a trait or new type instead
51 error: aborting due to 5 previous errors
53 Some errors have detailed explanations: E0117, E0119, E0321.
54 For more information about an error, try `rustc --explain E0117`.