about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorggomez <guillaume1.gomez@gmail.com>2016-08-29 15:39:04 +0200
committerGuillaume Gomez <guillaume1.gomez@gmail.com>2016-08-30 23:19:07 +0200
commit5629f7e62114e8da941dc08e2deae4afd92129dc (patch)
tree833d5e6a65eda7211cd671afe3df0c80edc4f724 /src
parent980402cd11422bbf41d6c5d2c71c3bffb8fbd8d7 (diff)
downloadrust-5629f7e62114e8da941dc08e2deae4afd92129dc.tar.gz
rust-5629f7e62114e8da941dc08e2deae4afd92129dc.zip
Add E0470 error explanation
Diffstat (limited to 'src')
-rw-r--r--src/librustc_metadata/diagnostics.rs45
1 files changed, 43 insertions, 2 deletions
diff --git a/src/librustc_metadata/diagnostics.rs b/src/librustc_metadata/diagnostics.rs
index f3189bbaa07..32189307466 100644
--- a/src/librustc_metadata/diagnostics.rs
+++ b/src/librustc_metadata/diagnostics.rs
@@ -211,7 +211,7 @@ in question exports them.
 A working version would be:
 
 ```ignore
-// In some_crate:
+// In some_crate crate:
 #[macro_export]
 macro_rules! eat {
     ...
@@ -228,6 +228,48 @@ extern crate some_crate; //ok!
 ```
 "##,
 
+E0470: r##"
+A macro listed for reexport was not found.
+
+Erroneous code example:
+
+```compile_fail,E0470
+#[macro_reexport(drink, be_merry)]
+extern crate collections;
+
+fn main() {
+    // ...
+}
+```
+
+Either the listed macro is not contained in the imported crate, or it is not
+exported from the given crate.
+
+This could be caused by a typo. Did you misspell the macro's name?
+
+Double-check the names of the macros listed for reexport, and that the crate
+in question exports them.
+
+A working version:
+
+```ignore
+// In some_crate crate:
+#[macro_export]
+macro_rules! eat {
+    ...
+}
+
+#[macro_export]
+macro_rules! drink {
+    ...
+}
+
+// In your_crate:
+#[macro_reexport(eat, drink)]
+extern crate some_crate;
+```
+"##,
+
 }
 
 register_diagnostics! {
@@ -239,7 +281,6 @@ register_diagnostics! {
     E0462, // found staticlib `..` instead of rlib or dylib
     E0464, // multiple matching crates for `..`
     E0465, // multiple .. candidates for `..` found
-    E0470, // reexported macro not found
     E0519, // local crate and dependency have same (crate-name, disambiguator)
     E0523, // two dependencies have same (crate-name, disambiguator) but different SVH
 }