error[E0117]: only traits defined in the current crate can be implemented for arbitrary types
  --> $DIR/coherence-negative-impls-copy-bad.rs:4:1
   |
LL | impl !Copy for str {}
   | ^^^^^^^^^^^^^^^---
   | |              |
   | |              `str` is not defined in the current crate
   | 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-negative-impls-copy-bad.rs:7:1
   |
LL | impl !Copy for fn() {}
   | ^^^^^^^^^^^^^^^----
   | |              |
   | |              `fn()` is not defined in the current crate
   | 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-negative-impls-copy-bad.rs:10:1
   |
LL | impl !Copy for () {}
   | ^^^^^^^^^^^^^^^--
   | |              |
   | |              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: aborting due to 3 previous errors

For more information about this error, try `rustc --explain E0117`.
