about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-11-05 20:30:40 +0000
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>2016-11-10 11:19:34 +0000
commit0a998b86e977912dfabd4fddb3c7efe87accf2c2 (patch)
tree317c4bdf9d17873a49bc449fa7217273c2a6e7b0 /src/test
parentad5345239850a6d9f16ad30e7f2d220ac1c0ae9d (diff)
downloadrust-0a998b86e977912dfabd4fddb3c7efe87accf2c2.tar.gz
rust-0a998b86e977912dfabd4fddb3c7efe87accf2c2.zip
Support `#[macro_reexport]`ing custom derives.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/compile-fail-fulldeps/proc-macro/auxiliary/derive-a.rs2
-rw-r--r--src/test/compile-fail-fulldeps/proc-macro/feature-gate-4.rs4
-rw-r--r--src/test/compile-fail-fulldeps/proc-macro/no-macro-use-attr.rs (renamed from src/test/compile-fail-fulldeps/proc-macro/cannot-link.rs)7
-rw-r--r--src/test/compile-fail-fulldeps/proc-macro/shadow.rs2
-rw-r--r--src/test/compile-fail/no-link.rs1
5 files changed, 11 insertions, 5 deletions
diff --git a/src/test/compile-fail-fulldeps/proc-macro/auxiliary/derive-a.rs b/src/test/compile-fail-fulldeps/proc-macro/auxiliary/derive-a.rs
index 4aa4238611d..8d26207273d 100644
--- a/src/test/compile-fail-fulldeps/proc-macro/auxiliary/derive-a.rs
+++ b/src/test/compile-fail-fulldeps/proc-macro/auxiliary/derive-a.rs
@@ -21,5 +21,5 @@ use proc_macro::TokenStream;
 
 #[proc_macro_derive(A)]
 pub fn derive_a(input: TokenStream) -> TokenStream {
-    input
+    "".parse().unwrap()
 }
diff --git a/src/test/compile-fail-fulldeps/proc-macro/feature-gate-4.rs b/src/test/compile-fail-fulldeps/proc-macro/feature-gate-4.rs
index 0fdd13bc30c..6a8fcdf4ab7 100644
--- a/src/test/compile-fail-fulldeps/proc-macro/feature-gate-4.rs
+++ b/src/test/compile-fail-fulldeps/proc-macro/feature-gate-4.rs
@@ -12,4 +12,6 @@
 
 #[macro_use]
 extern crate derive_a;
-//~^ ERROR: loading custom derive macro crates is experimentally supported
+
+#[derive(A)] //~ ERROR custom derive macros are experimentally supported
+struct S;
diff --git a/src/test/compile-fail-fulldeps/proc-macro/cannot-link.rs b/src/test/compile-fail-fulldeps/proc-macro/no-macro-use-attr.rs
index f6f1be37fc3..f61b8b4073b 100644
--- a/src/test/compile-fail-fulldeps/proc-macro/cannot-link.rs
+++ b/src/test/compile-fail-fulldeps/proc-macro/no-macro-use-attr.rs
@@ -10,7 +10,10 @@
 
 // aux-build:derive-a.rs
 
+#![feature(rustc_attrs)]
+
 extern crate derive_a;
-//~^ ERROR: crates of the `proc-macro` crate type cannot be linked at runtime
+//~^ WARN custom derive crates and `#[no_link]` crates have no effect without `#[macro_use]`
 
-fn main() {}
+#[rustc_error]
+fn main() {} //~ ERROR compilation successful
diff --git a/src/test/compile-fail-fulldeps/proc-macro/shadow.rs b/src/test/compile-fail-fulldeps/proc-macro/shadow.rs
index a04756ca19b..dc828fbf7d1 100644
--- a/src/test/compile-fail-fulldeps/proc-macro/shadow.rs
+++ b/src/test/compile-fail-fulldeps/proc-macro/shadow.rs
@@ -15,6 +15,6 @@
 #[macro_use]
 extern crate derive_a;
 #[macro_use]
-extern crate derive_a; //~ ERROR `derive_a` has already been defined
+extern crate derive_a; //~ ERROR `derive_a` has already been imported
 
 fn main() {}
diff --git a/src/test/compile-fail/no-link.rs b/src/test/compile-fail/no-link.rs
index 5ea07403cf7..c4737a37399 100644
--- a/src/test/compile-fail/no-link.rs
+++ b/src/test/compile-fail/no-link.rs
@@ -12,6 +12,7 @@
 
 #[no_link]
 extern crate empty_struct;
+//~^ WARN custom derive crates and `#[no_link]` crates have no effect without `#[macro_use]`
 
 fn main() {
     empty_struct::XEmpty1; //~ ERROR unresolved name