From 3ee74ae580e5491aba25ab8a934fb96b876fe385 Mon Sep 17 00:00:00 2001 From: Vadim Petrochenkov Date: Fri, 27 Mar 2026 19:23:37 +0300 Subject: [PATCH] resolve: Never lookup glob names in modules from other crates --- compiler/rustc_resolve/src/ident.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/compiler/rustc_resolve/src/ident.rs b/compiler/rustc_resolve/src/ident.rs index 1c53d5d03fd6..069018139145 100644 --- a/compiler/rustc_resolve/src/ident.rs +++ b/compiler/rustc_resolve/src/ident.rs @@ -638,6 +638,13 @@ fn resolve_ident_in_scope<'r>( Err(ControlFlow::Break(..)) => return decl, } } + Scope::ModuleGlobs(module, _) + if let ModuleKind::Def(_, def_id, _) = module.kind + && !def_id.is_local() => + { + // Fast path: external module decoding only creates non-glob declarations. + Err(Determined) + } Scope::ModuleGlobs(module, derive_fallback_lint_id) => { let (adjusted_parent_scope, adjusted_finalize) = if matches!( scope_set,