1 error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
2 --> $DIR/typeck-default-trait-impl-cross-crate-coherence.rs:23:1
4 LL | impl DefaultedTrait for (A,) { } //~ ERROR E0117
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl doesn't use types inside crate
7 = note: the impl does not reference any types defined in this crate
8 = note: define and implement a trait or new type instead
10 error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
11 --> $DIR/typeck-default-trait-impl-cross-crate-coherence.rs:26:1
13 LL | impl !DefaultedTrait for (B,) { } //~ ERROR E0117
14 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl doesn't use types inside crate
16 = note: the impl does not reference any types defined in this crate
17 = note: define and implement a trait or new type instead
19 error[E0321]: cross-crate traits with a default impl, like `lib::DefaultedTrait`, can only be implemented for a struct/enum type defined in the current crate
20 --> $DIR/typeck-default-trait-impl-cross-crate-coherence.rs:30:1
22 LL | impl DefaultedTrait for Box<C> { } //~ ERROR E0321
23 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't implement cross-crate trait for type in another crate
25 error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
26 --> $DIR/typeck-default-trait-impl-cross-crate-coherence.rs:31:1
28 LL | impl DefaultedTrait for lib::Something<C> { } //~ ERROR E0117
29 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ impl doesn't use types inside crate
31 = note: the impl does not reference any types defined in this crate
32 = note: define and implement a trait or new type instead
34 error: aborting due to 4 previous errors
36 Some errors occurred: E0117, E0321.
37 For more information about an error, try `rustc --explain E0117`.