diff options
| author | Miguel Guarniz <mi9uel9@gmail.com> | 2022-06-22 12:53:18 -0400 |
|---|---|---|
| committer | Miguel Guarniz <mi9uel9@gmail.com> | 2022-07-06 19:17:29 -0400 |
| commit | 01a957e92ac1c0ddd06a26d8af1d273f9b27d742 (patch) | |
| tree | 8b7ecb0144149c257db4f389eaf5f6568a55fe55 /compiler/rustc_middle/src/hir | |
| parent | b53dd71faa882b07c7250b2b57bba984746b0cc8 (diff) | |
| download | rust-01a957e92ac1c0ddd06a26d8af1d273f9b27d742.tar.gz rust-01a957e92ac1c0ddd06a26d8af1d273f9b27d742.zip | |
record LocalDefId of closure
Signed-off-by: Miguel Guarniz <mi9uel9@gmail.com>
Diffstat (limited to 'compiler/rustc_middle/src/hir')
| -rw-r--r-- | compiler/rustc_middle/src/hir/map/mod.rs | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/compiler/rustc_middle/src/hir/map/mod.rs b/compiler/rustc_middle/src/hir/map/mod.rs index 9a6ca56bd69..ff71d16f83b 100644 --- a/compiler/rustc_middle/src/hir/map/mod.rs +++ b/compiler/rustc_middle/src/hir/map/mod.rs @@ -1276,10 +1276,6 @@ pub(super) fn hir_module_items(tcx: TyCtxt<'_>, module_id: LocalDefId) -> Module self.items.push(item.item_id()); - if self.tcx.hir().is_body_owner(item.def_id) { - self.body_owners.push(item.def_id); - } - if let ItemKind::Mod(..) = item.kind { // If this declares another module, do not recurse inside it. self.submodules.push(item.def_id); @@ -1319,14 +1315,14 @@ pub(super) fn hir_module_items(tcx: TyCtxt<'_>, module_id: LocalDefId) -> Module if matches!(ex.kind, ExprKind::Closure { .. }) && associated_body(Node::Expr(ex)).is_some() { - self.body_owners.push(ex.hir_id.owner); + self.body_owners.push(self.tcx.hir().local_def_id(ex.hir_id)); } intravisit::walk_expr(self, ex) } fn visit_anon_const(&mut self, c: &'hir AnonConst) { if associated_body(Node::AnonConst(c)).is_some() { - self.body_owners.push(c.hir_id.owner); + self.body_owners.push(self.tcx.hir().local_def_id(c.hir_id)); } intravisit::walk_anon_const(self, c) } @@ -1427,14 +1423,14 @@ pub(crate) fn hir_crate_items(tcx: TyCtxt<'_>, _: ()) -> ModuleItems { if matches!(ex.kind, ExprKind::Closure { .. }) && associated_body(Node::Expr(ex)).is_some() { - self.body_owners.push(ex.hir_id.owner); + self.body_owners.push(self.tcx.hir().local_def_id(ex.hir_id)); } intravisit::walk_expr(self, ex) } fn visit_anon_const(&mut self, c: &'hir AnonConst) { if associated_body(Node::AnonConst(c)).is_some() { - self.body_owners.push(c.hir_id.owner); + self.body_owners.push(self.tcx.hir().local_def_id(c.hir_id)); } intravisit::walk_anon_const(self, c) } |
