about summary refs log tree commit diff
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2019-10-16 13:29:30 +0200
committerGuillaume Gomez <guillaume1.gomez@gmail.com>2019-10-31 14:27:16 +0100
commit9c2f1dd377d5bfa6ff7d122bb6ec5f2443bd5aa4 (patch)
tree0a145658993000b4c8aad765fedd66e7db3b6a12
parentb3a0350c2bf5d93cb734257bbddc8300bef4b851 (diff)
downloadrust-9c2f1dd377d5bfa6ff7d122bb6ec5f2443bd5aa4.tar.gz
rust-9c2f1dd377d5bfa6ff7d122bb6ec5f2443bd5aa4.zip
Add long error explanation for E0578
-rw-r--r--src/librustc_resolve/error_codes.rs29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/librustc_resolve/error_codes.rs b/src/librustc_resolve/error_codes.rs
index b14913cd4fd..c59959ae4f4 100644
--- a/src/librustc_resolve/error_codes.rs
+++ b/src/librustc_resolve/error_codes.rs
@@ -1850,6 +1850,34 @@ fn main() {}
 ```
 "##,
 
+E0578: r##"
+A module cannot be found and therefore, the visibility cannot be determined.
+
+Erroneous code example:
+
+```compile_fail,E0578,edition2018
+foo!();
+
+pub (in ::Sea) struct Shark; // error!
+
+fn main() {}
+```
+
+Because of the call to the `foo` macro, the compiler guesses that the missing
+module could be inside it and fails because the macro definition cannot be
+found.
+
+To fix this error, please be sure that the module is in scope:
+
+```edition2018
+pub mod Sea {
+    pub (in crate::Sea) struct Shark;
+}
+
+fn main() {}
+```
+"##,
+
 E0603: r##"
 A private item was used outside its scope.
 
@@ -2017,5 +2045,4 @@ fn main() {}
 //  E0427, merged into 530
 //  E0467, removed
 //  E0470, removed
-    E0578,
 }