Changeset - 166c201a1d43
[Not reviewed]
0 1 0
Christopher Esterhuyse - 5 years ago 2020-02-20 16:52:55
christopher.esterhuyse@gmail.com
bitsets are so great
1 file changed with 1 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/runtime/experimental/vec_storage.rs
Show inline comments
 
@@ -174,12 +174,13 @@ impl<T> VecStorage<T> {
 
    }
 
    pub fn new_reserved(&mut self) -> usize {
 
        if let Some(i) = self.vacant.pop_first() {
 
            i
 
        } else {
 
            let bitsets_need_another_chunk = self.data.len() % usize_bits() == 0;
 
            // every (usize_bits())th time self.data grows by 1, bitsets grow by usize_bits().
 
            if bitsets_need_another_chunk {
 
                self.vacant.0.push(0usize);
 
                self.occupied.0.push(0usize);
 
            }
 
            self.data.push(MaybeUninit::uninit());
 
            self.data.len() - 1
0 comments (0 inline, 0 general)