Skip to content

Commit 3b2e50e

Browse files
establish links of glob importers + possible bug fix
1 parent ffc1a97 commit 3b2e50e

File tree

1 file changed

+14
-6
lines changed

1 file changed

+14
-6
lines changed

compiler/rustc_resolve/src/imports.rs

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -599,15 +599,25 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
599599
import_resolutions: Vec<(Import<'ra>, Option<SideEffect<'ra>>)>,
600600
) {
601601
self.determined_imports.reserve(self.determined_imports.len());
602+
for (import, side_effect) in import_resolutions.iter() {
603+
self.determined_imports.push(*import);
604+
let Some(SideEffect { imported_module, .. }) = side_effect else {
605+
continue;
606+
};
607+
import.imported_module.set(Some(*imported_module));
602608

603-
for (import, side_effect) in import_resolutions {
604-
self.determined_imports.push(import);
609+
if import.is_glob()
610+
&& let ModuleOrUniformRoot::Module(module) = imported_module
611+
{
612+
module.glob_importers.borrow_mut().push(*import);
613+
}
614+
}
605615

616+
for (import, side_effect) in import_resolutions {
606617
let Some(SideEffect { imported_module, bindings: side_effect_bindings }) = side_effect
607618
else {
608-
return;
619+
continue;
609620
};
610-
import.imported_module.set(Some(imported_module));
611621
let parent = import.parent_scope.module;
612622

613623
match (&import.kind, side_effect_bindings) {
@@ -668,8 +678,6 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
668678
.emit();
669679
}
670680

671-
module.glob_importers.borrow_mut().push(import);
672-
673681
for (binding, key, warn_ambiguity) in import_bindings {
674682
let _ = self.try_define_local(
675683
parent,

0 commit comments

Comments
 (0)