about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc_resolve/resolve_imports.rs3
-rw-r--r--src/test/compile-fail/shadowed-use-visibility.rs4
2 files changed, 3 insertions, 4 deletions
diff --git a/src/librustc_resolve/resolve_imports.rs b/src/librustc_resolve/resolve_imports.rs
index fd471893acd..94c3ea073d2 100644
--- a/src/librustc_resolve/resolve_imports.rs
+++ b/src/librustc_resolve/resolve_imports.rs
@@ -871,6 +871,9 @@ impl<'a, 'b:'a, 'tcx:'b> ImportResolver<'a, 'b, 'tcx> {
                             is_public: is_public
                         };
                     }
+                } else {
+                    // FIXME #30159: This is required for backwards compatability.
+                    dest_import_resolution[namespace].is_public |= is_public;
                 }
             };
             merge_child_item(ValueNS);
diff --git a/src/test/compile-fail/shadowed-use-visibility.rs b/src/test/compile-fail/shadowed-use-visibility.rs
index 1bf7f393384..bfc6a4ec9b8 100644
--- a/src/test/compile-fail/shadowed-use-visibility.rs
+++ b/src/test/compile-fail/shadowed-use-visibility.rs
@@ -17,10 +17,6 @@ mod foo {
 
 mod bar {
     use foo::bar::f as g; //~ ERROR unresolved import
-
-    use foo as f;
-    pub use foo::*;
 }
 
-use bar::f::f; //~ ERROR unresolved import
 fn main() {}