diff options
Diffstat (limited to 'tests/ui/resolve/resolve-bad-visibility.rs')
-rw-r--r-- | tests/ui/resolve/resolve-bad-visibility.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/ui/resolve/resolve-bad-visibility.rs b/tests/ui/resolve/resolve-bad-visibility.rs new file mode 100644 index 000000000..7d48bb97b --- /dev/null +++ b/tests/ui/resolve/resolve-bad-visibility.rs @@ -0,0 +1,15 @@ +enum E {} +trait Tr {} + +pub(in E) struct S; //~ ERROR expected module, found enum `E` +pub(in Tr) struct Z; //~ ERROR expected module, found trait `Tr` +pub(in std::vec) struct F; //~ ERROR visibilities can only be restricted to ancestor modules +pub(in nonexistent) struct G; //~ ERROR failed to resolve +pub(in too_soon) struct H; //~ ERROR failed to resolve + +// Visibilities are resolved eagerly without waiting for modules becoming fully populated. +// Visibilities can only use ancestor modules legally which are always available in time, +// so the worst thing that can happen due to eager resolution is a suboptimal error message. +mod too_soon {} + +fn main () {} |