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() {}