@@ -599,15 +599,25 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
599
599
import_resolutions : Vec < ( Import < ' ra > , Option < SideEffect < ' ra > > ) > ,
600
600
) {
601
601
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) ) ;
602
608
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
+ }
605
615
616
+ for ( import, side_effect) in import_resolutions {
606
617
let Some ( SideEffect { imported_module, bindings : side_effect_bindings } ) = side_effect
607
618
else {
608
- return ;
619
+ continue ;
609
620
} ;
610
- import. imported_module . set ( Some ( imported_module) ) ;
611
621
let parent = import. parent_scope . module ;
612
622
613
623
match ( & import. kind , side_effect_bindings) {
@@ -668,8 +678,6 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
668
678
. emit ( ) ;
669
679
}
670
680
671
- module. glob_importers . borrow_mut ( ) . push ( import) ;
672
-
673
681
for ( binding, key, warn_ambiguity) in import_bindings {
674
682
let _ = self . try_define_local (
675
683
parent,
0 commit comments