diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2021-01-30 17:47:51 +0100 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2021-02-15 19:32:10 +0100 |
| commit | cebbba081e4609099df3921de8a1422b7ea52599 (patch) | |
| tree | 96784e4ada9c7d62e8890ce8bac2d4f840eba6c4 /compiler/rustc_plugin_impl | |
| parent | bd3cd5dbed5f56fb44a14a20dd2113e3049d2565 (diff) | |
| download | rust-cebbba081e4609099df3921de8a1422b7ea52599.tar.gz rust-cebbba081e4609099df3921de8a1422b7ea52599.zip | |
Only store a LocalDefId in hir::Item.
Items are guaranteed to be HIR owner.
Diffstat (limited to 'compiler/rustc_plugin_impl')
| -rw-r--r-- | compiler/rustc_plugin_impl/src/build.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler/rustc_plugin_impl/src/build.rs b/compiler/rustc_plugin_impl/src/build.rs index 4796d9a80b6..d5c287fb3bc 100644 --- a/compiler/rustc_plugin_impl/src/build.rs +++ b/compiler/rustc_plugin_impl/src/build.rs @@ -1,7 +1,7 @@ //! Used by `rustc` when compiling a plugin crate. use rustc_hir as hir; -use rustc_hir::def_id::{CrateNum, DefId, LOCAL_CRATE}; +use rustc_hir::def_id::{CrateNum, DefId, LocalDefId, LOCAL_CRATE}; use rustc_hir::itemlikevisit::ItemLikeVisitor; use rustc_middle::ty::query::Providers; use rustc_middle::ty::TyCtxt; @@ -10,14 +10,14 @@ use rustc_span::Span; struct RegistrarFinder<'tcx> { tcx: TyCtxt<'tcx>, - registrars: Vec<(hir::HirId, Span)>, + registrars: Vec<(LocalDefId, Span)>, } impl<'v, 'tcx> ItemLikeVisitor<'v> for RegistrarFinder<'tcx> { fn visit_item(&mut self, item: &hir::Item<'_>) { if let hir::ItemKind::Fn(..) = item.kind { if self.tcx.sess.contains_name(&item.attrs, sym::plugin_registrar) { - self.registrars.push((item.hir_id, item.span)); + self.registrars.push((item.def_id, item.span)); } } } @@ -43,8 +43,8 @@ fn plugin_registrar_fn(tcx: TyCtxt<'_>, cnum: CrateNum) -> Option<DefId> { match finder.registrars.len() { 0 => None, 1 => { - let (hir_id, _) = finder.registrars.pop().unwrap(); - Some(tcx.hir().local_def_id(hir_id).to_def_id()) + let (def_id, _) = finder.registrars.pop().unwrap(); + Some(def_id.to_def_id()) } _ => { let diagnostic = tcx.sess.diagnostic(); |
