diff --git a/src/librustc_resolve/error_codes.rs b/src/librustc_resolve/error_codes.rs index b14913cd4fdde..c59959ae4f4c5 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, } diff --git a/src/test/ui/resolve/visibility-indeterminate.stderr b/src/test/ui/resolve/visibility-indeterminate.stderr index b9678291ee40b..84d82ce852240 100644 --- a/src/test/ui/resolve/visibility-indeterminate.stderr +++ b/src/test/ui/resolve/visibility-indeterminate.stderr @@ -12,3 +12,4 @@ LL | foo!(); error: aborting due to 2 previous errors +For more information about this error, try `rustc --explain E0578`.