summary refs log tree commit diff
path: root/src/test/ui/coherence/coherence-impls-send.stderr
blob: dbfc968332c5ceb80399de057e6f08d81a9382fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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`.