@@ -227,6 +227,7 @@ pub enum ModuleOrigin {
227227 } ,
228228 /// Pseudo-module introduced by a block scope (contains only inner items).
229229 BlockExpr {
230+ id : BlockId ,
230231 block : AstId < ast:: BlockExpr > ,
231232 } ,
232233}
@@ -269,7 +270,7 @@ impl ModuleOrigin {
269270 definition. file_id ,
270271 ModuleSource :: Module ( definition. to_node ( db. upcast ( ) ) ) ,
271272 ) ,
272- ModuleOrigin :: BlockExpr { block } => {
273+ ModuleOrigin :: BlockExpr { block, .. } => {
273274 InFile :: new ( block. file_id , ModuleSource :: BlockExpr ( block. to_node ( db. upcast ( ) ) ) )
274275 }
275276 }
@@ -325,8 +326,10 @@ impl DefMap {
325326 // modules declared by blocks with items. At the moment, we don't use
326327 // this visibility for anything outside IDE, so that's probably OK.
327328 let visibility = Visibility :: Module ( ModuleId { krate, local_id, block : None } ) ;
328- let module_data =
329- ModuleData :: new ( ModuleOrigin :: BlockExpr { block : block. ast_id } , visibility) ;
329+ let module_data = ModuleData :: new (
330+ ModuleOrigin :: BlockExpr { block : block. ast_id , id : block_id } ,
331+ visibility,
332+ ) ;
330333
331334 let mut def_map = DefMap :: empty ( krate, parent_map. data . edition , module_data) ;
332335 def_map. data = parent_map. data . clone ( ) ;
@@ -643,7 +646,7 @@ impl ModuleData {
643646 definition. into ( )
644647 }
645648 ModuleOrigin :: Inline { definition, .. } => definition. file_id ,
646- ModuleOrigin :: BlockExpr { block } => block. file_id ,
649+ ModuleOrigin :: BlockExpr { block, .. } => block. file_id ,
647650 }
648651 }
649652
0 commit comments