Auto merge of #104170 - cjgillot:hir-def-id, r=fee1-dead
Record `LocalDefId` in HIR nodes instead of a side table This is part of an attempt to remove the `HirId -> LocalDefId` table from HIR. This attempt is a prerequisite to creation of `LocalDefId` after HIR lowering (https://github.com/rust-lang/rust/pull/96840), by controlling how `def_id` information is accessed. This first part adds the information to HIR nodes themselves instead of a table. The second part is https://github.com/rust-lang/rust/pull/103902 The third part will be to make `hir::Visitor::visit_fn` take a `LocalDefId` as last parameter. The fourth part will be to completely remove the side table.
This commit is contained in:
commit
7c75fe4c85
63 changed files with 449 additions and 549 deletions
|
@ -40,12 +40,12 @@ impl<'a, 'tcx: 'a> MonoItemExt<'a, 'tcx> for MonoItem<'tcx> {
|
|||
.iter()
|
||||
.map(|(op, op_sp)| match *op {
|
||||
hir::InlineAsmOperand::Const { ref anon_const } => {
|
||||
let anon_const_def_id =
|
||||
cx.tcx().hir().local_def_id(anon_const.hir_id).to_def_id();
|
||||
let const_value =
|
||||
cx.tcx().const_eval_poly(anon_const_def_id).unwrap_or_else(
|
||||
|_| span_bug!(*op_sp, "asm const cannot be resolved"),
|
||||
);
|
||||
let const_value = cx
|
||||
.tcx()
|
||||
.const_eval_poly(anon_const.def_id.to_def_id())
|
||||
.unwrap_or_else(|_| {
|
||||
span_bug!(*op_sp, "asm const cannot be resolved")
|
||||
});
|
||||
let ty = cx
|
||||
.tcx()
|
||||
.typeck_body(anon_const.body)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue