@@ -18,9 +18,7 @@ use crate::{
1818 db:: DefDatabase ,
1919 item_scope:: { ImportOrExternCrate , BUILTIN_SCOPE } ,
2020 item_tree:: Fields ,
21- nameres:: {
22- sub_namespace_match, BlockInfo , BuiltinShadowMode , DefMap , MacroSubNs , ModuleOrigin ,
23- } ,
21+ nameres:: { sub_namespace_match, BlockInfo , BuiltinShadowMode , DefMap , MacroSubNs } ,
2422 path:: { ModPath , PathKind } ,
2523 per_ns:: PerNs ,
2624 visibility:: { RawVisibility , Visibility } ,
@@ -472,7 +470,7 @@ impl DefMap {
472470} ;
473471
474472let extern_prelude = ||{
475- if matches ! ( self [ module ] . origin , ModuleOrigin :: BlockExpr { .. } ) {
473+ if self . block . is_some ( ) && module == DefMap :: ROOT {
476474// Don't resolve extern prelude in pseudo-modules of blocks, because
477475// they might been shadowed by local names.
478476return PerNs :: none ( ) ;
@@ -518,7 +516,7 @@ impl DefMap {
518516None =>self [ Self :: ROOT ] . scope . get ( name) ,
519517} ;
520518let from_extern_prelude = ||{
521- if matches ! ( self [ module ] . origin , ModuleOrigin :: BlockExpr { .. } ) {
519+ if self . block . is_some ( ) && module == DefMap :: ROOT {
522520// Don't resolve extern prelude in pseudo-module of a block.
523521return PerNs :: none ( ) ;
524522}