1error[E0117]: only traits defined in the current crate can be implemented for arbitrary types 2 --> $DIR/coherence-impl-trait-for-marker-trait-positive.rs:23:1 3 | 4LL | unsafe 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 12error[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-positive.rs:27:1 14 | 15LL | unsafe impl Send for dyn Object {} 16 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't implement cross-crate trait with a default impl for non-struct/enum type 17 18error[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-positive.rs:28:1 20 | 21LL | unsafe impl Send for dyn Object + Marker2 {} 22 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't implement cross-crate trait with a default impl for non-struct/enum type 23 24error[E0371]: the object type `(dyn Object + Marker2 + 'static)` automatically implements the trait `Marker1` 25 --> $DIR/coherence-impl-trait-for-marker-trait-positive.rs:15:1 26 | 27LL | impl Marker1 for dyn Object + Marker2 { } 28 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn Object + Marker2 + 'static)` automatically implements trait `Marker1` 29 30error[E0371]: the object type `(dyn Object + Marker2 + 'static)` automatically implements the trait `Marker2` 31 --> $DIR/coherence-impl-trait-for-marker-trait-positive.rs:17:1 32 | 33LL | impl Marker2 for dyn Object + Marker2 { } 34 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `(dyn Object + Marker2 + 'static)` automatically implements trait `Marker2` 35 36error: aborting due to 5 previous errors 37 38Some errors have detailed explanations: E0117, E0321, E0371. 39For more information about an error, try `rustc --explain E0117`. 40