diff options
Diffstat (limited to 'compiler/rustc_middle/src/hir/mod.rs')
| -rw-r--r-- | compiler/rustc_middle/src/hir/mod.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/compiler/rustc_middle/src/hir/mod.rs b/compiler/rustc_middle/src/hir/mod.rs index fcce2d005d7..039e9953814 100644 --- a/compiler/rustc_middle/src/hir/mod.rs +++ b/compiler/rustc_middle/src/hir/mod.rs @@ -45,6 +45,21 @@ pub struct ModuleItems { foreign_items: Box<[ForeignItemId]>, } +impl ModuleItems { + pub fn items(&self) -> impl Iterator<Item = ItemId> { + self.items.to_vec().into_iter() + } + pub fn trait_items(&self) -> impl Iterator<Item = TraitItemId> { + self.trait_items.to_vec().into_iter() + } + pub fn impl_items(&self) -> impl Iterator<Item = ImplItemId> { + self.impl_items.to_vec().into_iter() + } + pub fn foreign_items(&self) -> impl Iterator<Item = ForeignItemId> { + self.foreign_items.to_vec().into_iter() + } +} + impl<'tcx> TyCtxt<'tcx> { #[inline(always)] pub fn hir(self) -> map::Map<'tcx> { |
