fn next(&mut self) -> Option<&'a T> {
self.iter.next()
}
+
fn size_hint(&self) -> (usize, Option<usize>) {
self.iter.size_hint()
}
+
fn last(mut self) -> Option<&'a T> {
self.next_back()
}
+
+ fn min(mut self) -> Option<&'a T> {
+ self.next()
+ }
+
+ fn max(mut self) -> Option<&'a T> {
+ self.next_back()
+ }
}
#[stable(feature = "rust1", since = "1.0.0")]
impl<'a, T> DoubleEndedIterator for Iter<'a, T> {
fn next(&mut self) -> Option<T> {
self.iter.next().map(|(k, _)| k)
}
+
fn size_hint(&self) -> (usize, Option<usize>) {
self.iter.size_hint()
}
fn last(mut self) -> Option<&'a T> {
self.next_back()
}
+
+ fn min(mut self) -> Option<&'a T> {
+ self.next()
+ }
+
+ fn max(mut self) -> Option<&'a T> {
+ self.next_back()
+ }
}
#[stable(feature = "btree_range", since = "1.17.0")]
};
(self_len.saturating_sub(other_len), Some(self_len))
}
+
+ fn min(mut self) -> Option<&'a T> {
+ self.next()
+ }
}
#[stable(feature = "fused", since = "1.26.0")]
// the number of elements to less than half the range of usize.
(0, Some(a_len + b_len))
}
+
+ fn min(mut self) -> Option<&'a T> {
+ self.next()
+ }
}
#[stable(feature = "fused", since = "1.26.0")]
IntersectionInner::Answer(Some(_)) => (1, Some(1)),
}
}
+
+ fn min(mut self) -> Option<&'a T> {
+ self.next()
+ }
}
#[stable(feature = "fused", since = "1.26.0")]
// No checked_add - see SymmetricDifference::size_hint.
(max(a_len, b_len), Some(a_len + b_len))
}
+
+ fn min(mut self) -> Option<&'a T> {
+ self.next()
+ }
}
#[stable(feature = "fused", since = "1.26.0")]