We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 527e094 commit d25797eCopy full SHA for d25797e
roaring/src/bitmap/store/interval_store.rs
@@ -693,9 +693,10 @@ impl<I: SliceIterator<Interval>> RunIter<I> {
693
}
694
695
fn remaining_size(&self) -> usize {
696
- (self.intervals.as_slice().iter().map(|f| f.run_len()).sum::<u64>()
697
- - self.forward_offset as u64
698
- - self.backward_offset as u64) as usize
+ let total_size = self.intervals.as_slice().iter().map(|f| f.run_len()).sum::<u64>();
+ let total_offset = u64::from(self.forward_offset) + u64::from(self.backward_offset);
+ debug_assert!(total_size >= total_offset);
699
+ total_size.saturating_sub(total_offset) as usize
700
701
702
/// Advance the iterator to the first value greater than or equal to `n`.
0 commit comments