@@ -227,6 +227,7 @@ pub enum ModuleOrigin {
227
227
} ,
228
228
/// Pseudo-module introduced by a block scope (contains only inner items).
229
229
BlockExpr {
230
+ id : BlockId ,
230
231
block : AstId < ast:: BlockExpr > ,
231
232
} ,
232
233
}
@@ -269,7 +270,7 @@ impl ModuleOrigin {
269
270
definition. file_id ,
270
271
ModuleSource :: Module ( definition. to_node ( db. upcast ( ) ) ) ,
271
272
) ,
272
- ModuleOrigin :: BlockExpr { block } => {
273
+ ModuleOrigin :: BlockExpr { block, .. } => {
273
274
InFile :: new ( block. file_id , ModuleSource :: BlockExpr ( block. to_node ( db. upcast ( ) ) ) )
274
275
}
275
276
}
@@ -325,8 +326,10 @@ impl DefMap {
325
326
// modules declared by blocks with items. At the moment, we don't use
326
327
// this visibility for anything outside IDE, so that's probably OK.
327
328
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
+ ) ;
330
333
331
334
let mut def_map = DefMap :: empty ( krate, parent_map. data . edition , module_data) ;
332
335
def_map. data = parent_map. data . clone ( ) ;
@@ -643,7 +646,7 @@ impl ModuleData {
643
646
definition. into ( )
644
647
}
645
648
ModuleOrigin :: Inline { definition, .. } => definition. file_id ,
646
- ModuleOrigin :: BlockExpr { block } => block. file_id ,
649
+ ModuleOrigin :: BlockExpr { block, .. } => block. file_id ,
647
650
}
648
651
}
649
652
0 commit comments