about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc_typeck/coherence/orphan.rs1
-rw-r--r--src/test/compile-fail/E0117.rs1
-rw-r--r--src/test/compile-fail/E0206.rs1
-rw-r--r--src/test/compile-fail/coherence-impls-copy.rs5
4 files changed, 7 insertions, 1 deletions
diff --git a/src/librustc_typeck/coherence/orphan.rs b/src/librustc_typeck/coherence/orphan.rs
index 2b5a4515cd0..c54f467a4c4 100644
--- a/src/librustc_typeck/coherence/orphan.rs
+++ b/src/librustc_typeck/coherence/orphan.rs
@@ -263,6 +263,7 @@ impl<'cx, 'tcx, 'v> ItemLikeVisitor<'v> for OrphanChecker<'cx, 'tcx> {
                             .span_label(item.span, &format!("impl doesn't use types inside crate"))
                             .note(&format!("the impl does not reference any types defined in \
                                             this crate"))
+                            .note("define and implement a trait or new type instead")
                             .emit();
                         return;
                     }
diff --git a/src/test/compile-fail/E0117.rs b/src/test/compile-fail/E0117.rs
index e9375e67325..4ba9c3382f3 100644
--- a/src/test/compile-fail/E0117.rs
+++ b/src/test/compile-fail/E0117.rs
@@ -11,6 +11,7 @@
 impl Drop for u32 {} //~ ERROR E0117
 //~^ NOTE impl doesn't use types inside crate
 //~| NOTE the impl does not reference any types defined in this crate
+//~| NOTE define and implement a trait or new type instead
 
 fn main() {
 }
diff --git a/src/test/compile-fail/E0206.rs b/src/test/compile-fail/E0206.rs
index 888e42ed3a1..1131e8e1b01 100644
--- a/src/test/compile-fail/E0206.rs
+++ b/src/test/compile-fail/E0206.rs
@@ -16,6 +16,7 @@ impl Copy for Foo { }
 //~| ERROR only traits defined in the current crate can be implemented for arbitrary types
 //~| NOTE impl doesn't use types inside crate
 //~| NOTE the impl does not reference any types defined in this crate
+//~| NOTE define and implement a trait or new type instead
 
 #[derive(Copy, Clone)]
 struct Bar;
diff --git a/src/test/compile-fail/coherence-impls-copy.rs b/src/test/compile-fail/coherence-impls-copy.rs
index f686a146042..fe121a3bc48 100644
--- a/src/test/compile-fail/coherence-impls-copy.rs
+++ b/src/test/compile-fail/coherence-impls-copy.rs
@@ -37,6 +37,7 @@ impl Copy for (MyType, MyType) {}
 //~| ERROR only traits defined in the current crate can be implemented for arbitrary types
 //~| NOTE impl doesn't use types inside crate
 //~| NOTE the impl does not reference any types defined in this crate
+//~| NOTE define and implement a trait or new type instead
 
 impl Copy for &'static NotSync {}
 //~^ ERROR the trait `Copy` may not be implemented for this type
@@ -46,8 +47,9 @@ impl Copy for [MyType] {}
 //~^ ERROR the trait `Copy` may not be implemented for this type
 //~| NOTE type is not a structure or enumeration
 //~| ERROR only traits defined in the current crate can be implemented for arbitrary types
-//~| NOTE impl doesn't use types inside crate
 //~| NOTE the impl does not reference any types defined in this crate
+//~| NOTE define and implement a trait or new type instead
+//~| NOTE impl doesn't use types inside crate
 
 impl Copy for &'static [NotSync] {}
 //~^ ERROR the trait `Copy` may not be implemented for this type
@@ -55,6 +57,7 @@ impl Copy for &'static [NotSync] {}
 //~| ERROR only traits defined in the current crate can be implemented for arbitrary types
 //~| NOTE impl doesn't use types inside crate
 //~| NOTE the impl does not reference any types defined in this crate
+//~| NOTE define and implement a trait or new type instead
 
 fn main() {
 }