diff options
| author | bors <bors@rust-lang.org> | 2022-07-07 01:17:36 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-07-07 01:17:36 +0000 |
| commit | fac8fa56726f7a5b2d4880a4719c5f99beec8328 (patch) | |
| tree | 15d1a569a9da569e0ff072cacbbd65c4b6eb40a5 /compiler/rustc_middle/src | |
| parent | 8824d131619e58a38bde8bcf56401629b91a204a (diff) | |
| parent | 3df10a2a90acef84d46e8681095abaef51758929 (diff) | |
| download | rust-fac8fa56726f7a5b2d4880a4719c5f99beec8328.tar.gz rust-fac8fa56726f7a5b2d4880a4719c5f99beec8328.zip | |
Auto merge of #98487 - cjgillot:variance-nohir, r=wesleywiser
Do not fetch HIR to compute variances. Everything can be done using higher-level queries. This simplifies the code, and should allow better incremental caching.
Diffstat (limited to 'compiler/rustc_middle/src')
| -rw-r--r-- | compiler/rustc_middle/src/hir/mod.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/compiler/rustc_middle/src/hir/mod.rs b/compiler/rustc_middle/src/hir/mod.rs index 8622a620721..12209d6725c 100644 --- a/compiler/rustc_middle/src/hir/mod.rs +++ b/compiler/rustc_middle/src/hir/mod.rs @@ -63,6 +63,15 @@ impl ModuleItems { self.foreign_items.iter().copied() } + pub fn definitions(&self) -> impl Iterator<Item = LocalDefId> + '_ { + self.items + .iter() + .map(|id| id.def_id) + .chain(self.trait_items.iter().map(|id| id.def_id)) + .chain(self.impl_items.iter().map(|id| id.def_id)) + .chain(self.foreign_items.iter().map(|id| id.def_id)) + } + pub fn par_items(&self, f: impl Fn(ItemId) + Send + Sync) { par_for_each_in(&self.items[..], |&id| f(id)) } |
