]> git.lizzy.rs Git - rust.git/blob - src/test/ui/coherence/coherence-impl-trait-for-marker-trait-negative.stderr
Rollup merge of #85766 - workingjubilee:file-options, r=yaahc
[rust.git] / src / test / ui / coherence / coherence-impl-trait-for-marker-trait-negative.stderr
1 error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
2   --> $DIR/coherence-impl-trait-for-marker-trait-negative.rs:23:1
3    |
4 LL | impl !Send for dyn Marker2 {}
5    | ^^^^^^^^^^^^^^^-----------
6    | |              |
7    | |              `dyn Marker2` is not defined in the current crate
8    | impl doesn't use only types from inside the current crate
9    |
10    = note: define and implement a trait or new type instead
11
12 error[E0321]: cross-crate traits with a default impl, like `Send`, can only be implemented for a struct/enum type, not `(dyn Object + 'static)`
13   --> $DIR/coherence-impl-trait-for-marker-trait-negative.rs:27:1
14    |
15 LL | impl !Send for dyn Object {}
16    | ^^^^^^^^^^^^^^^^^^^^^^^^^ can't implement cross-crate trait with a default impl for non-struct/enum type
17
18 error[E0321]: cross-crate traits with a default impl, like `Send`, can only be implemented for a struct/enum type, not `(dyn Object + Marker2 + 'static)`
19   --> $DIR/coherence-impl-trait-for-marker-trait-negative.rs:28:1
20    |
21 LL | impl !Send for dyn Object + Marker2 {}
22    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't implement cross-crate trait with a default impl for non-struct/enum type
23
24 error[E0371]: the object type `(dyn Object + Marker2 + 'static)` automatically implements the trait `Marker1`
25   --> $DIR/coherence-impl-trait-for-marker-trait-negative.rs:15:1
26    |
27 LL | impl !Marker1 for dyn Object + Marker2 { }
28    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn Object + Marker2 + 'static)` automatically implements trait `Marker1`
29
30 error[E0371]: the object type `(dyn Object + Marker2 + 'static)` automatically implements the trait `Marker2`
31   --> $DIR/coherence-impl-trait-for-marker-trait-negative.rs:17:1
32    |
33 LL | impl !Marker2 for dyn Object + Marker2 { }
34    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn Object + Marker2 + 'static)` automatically implements trait `Marker2`
35
36 error: aborting due to 5 previous errors
37
38 Some errors have detailed explanations: E0117, E0321, E0371.
39 For more information about an error, try `rustc --explain E0117`.