summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_error_codes/src/error_codes/E0742.md
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_error_codes/src/error_codes/E0742.md')
-rw-r--r--compiler/rustc_error_codes/src/error_codes/E0742.md35
1 files changed, 35 insertions, 0 deletions
diff --git a/compiler/rustc_error_codes/src/error_codes/E0742.md b/compiler/rustc_error_codes/src/error_codes/E0742.md
new file mode 100644
index 000000000..e10c1639d
--- /dev/null
+++ b/compiler/rustc_error_codes/src/error_codes/E0742.md
@@ -0,0 +1,35 @@
+Visibility is restricted to a module which isn't an ancestor of the current
+item.
+
+Erroneous code example:
+
+```compile_fail,E0742,edition2018
+pub mod sea {}
+
+pub (in crate::sea) struct Shark; // error!
+
+fn main() {}
+```
+
+To fix this error, we need to move the `Shark` struct inside the `sea` module:
+
+```edition2018
+pub mod sea {
+ pub (in crate::sea) struct Shark; // ok!
+}
+
+fn main() {}
+```
+
+Of course, you can do it as long as the module you're referring to is an
+ancestor:
+
+```edition2018
+pub mod earth {
+ pub mod sea {
+ pub (in crate::earth) struct Shark; // ok!
+ }
+}
+
+fn main() {}
+```