iterator sizing lib
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 2c4ae93..a4f4645 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -110,7 +110,7 @@ where
type Item = <I as Iterator>::Item;
fn next(&mut self) -> Option<Self::Item> {
- self.len = unsafe { self.len.unchecked_sub(1) };
+ self.len = self.len.saturating_sub(1);
self.iter.next()
}
@@ -126,7 +126,7 @@ impl<I: Iterator> ExactSizeIterator for Exactly<I> {
}
impl<I: DoubleEndedIterator> DoubleEndedIterator for Exactly<I> {
fn next_back(&mut self) -> Option<Self::Item> {
- self.len = unsafe { self.len.unchecked_sub(1) };
+ self.len = self.len.saturating_sub(1);
self.iter.next_back()
}
}