Turn BlockId into a #[salsa::tracked]

This commit is contained in:
Lukas Wirth 2025-06-13 17:15:28 +02:00
parent 9f051ee104
commit 8643a858db
4 changed files with 28 additions and 12 deletions

View file

@ -11,7 +11,7 @@ use base_db::FxIndexSet;
use cfg::CfgOptions;
use either::Either;
use hir_expand::{
HirFileId, InFile, MacroDefId,
HirFileId, InFile, Intern, MacroDefId,
mod_path::tool_path,
name::{AsName, Name},
span_map::SpanMapRef,
@ -2148,7 +2148,7 @@ impl ExprCollector<'_> {
) -> ExprId {
let block_id = self.expander.ast_id_map().ast_id_for_block(&block).map(|file_local_id| {
let ast_id = self.expander.in_file(file_local_id);
self.db.intern_block(BlockLoc { ast_id, module: self.module })
BlockLoc { ast_id, module: self.module }.intern(self.db)
});
let (module, def_map) =

View file

@ -189,8 +189,8 @@ fn f() {
}
"#,
expect![[r#"
BlockId(3c01) in BlockRelativeModuleId { block: Some(BlockId(3c00)), local_id: Idx::<ModuleData>(1) }
BlockId(3c00) in BlockRelativeModuleId { block: None, local_id: Idx::<ModuleData>(0) }
BlockIdLt { [salsa id]: Id(3c01) } in BlockRelativeModuleId { block: Some(BlockIdLt { [salsa id]: Id(3c00) }), local_id: Idx::<ModuleData>(1) }
BlockIdLt { [salsa id]: Id(3c00) } in BlockRelativeModuleId { block: None, local_id: Idx::<ModuleData>(0) }
crate scope
"#]],
);