about summary refs log tree commit diff
path: root/compiler/rustc_index/src
diff options
context:
space:
mode:
authorJakub Beránek <berykubik@gmail.com>2022-07-03 13:35:48 +0200
committerJakub Beránek <berykubik@gmail.com>2022-07-04 08:30:13 +0200
commit2a57e5efed5b84a2eaedf5240df4b8d80f012409 (patch)
tree5d38215a1b0dd29778b3fdbd0a55ddcfcf2f9485 /compiler/rustc_index/src
parent8c52a83c455f0044e00add954cb7d9ddb0dfb9a3 (diff)
downloadrust-2a57e5efed5b84a2eaedf5240df4b8d80f012409.tar.gz
rust-2a57e5efed5b84a2eaedf5240df4b8d80f012409.zip
Use a bitset instead of a hash map in HIR ID validator
Diffstat (limited to 'compiler/rustc_index/src')
-rw-r--r--compiler/rustc_index/src/bit_set.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/compiler/rustc_index/src/bit_set.rs b/compiler/rustc_index/src/bit_set.rs
index 976874c7cee..5b664e19c18 100644
--- a/compiler/rustc_index/src/bit_set.rs
+++ b/compiler/rustc_index/src/bit_set.rs
@@ -1546,6 +1546,16 @@ impl<T: Idx> GrowableBitSet<T> {
         let (word_index, mask) = word_index_and_mask(elem);
         self.bit_set.words.get(word_index).map_or(false, |word| (word & mask) != 0)
     }
+
+    #[inline]
+    pub fn iter(&self) -> BitIter<'_, T> {
+        self.bit_set.iter()
+    }
+
+    #[inline]
+    pub fn len(&self) -> usize {
+        self.bit_set.count()
+    }
 }
 
 impl<T: Idx> From<BitSet<T>> for GrowableBitSet<T> {