Skip to content

Commit eed52fb

Browse files
committed
Use double_ended_iterator_methods!
1 parent a6e0188 commit eed52fb

File tree

2 files changed

+10
-30
lines changed

2 files changed

+10
-30
lines changed

src/map.rs

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -813,9 +813,7 @@ impl<'a, K, V> Iterator for Keys<'a, K, V> {
813813
}
814814

815815
impl<K, V> DoubleEndedIterator for Keys<'_, K, V> {
816-
fn next_back(&mut self) -> Option<Self::Item> {
817-
self.iter.next_back().map(Bucket::key_ref)
818-
}
816+
double_ended_iterator_methods!(Bucket::key_ref);
819817
}
820818

821819
impl<K, V> ExactSizeIterator for Keys<'_, K, V> {
@@ -857,9 +855,7 @@ impl<K, V> Iterator for IntoKeys<K, V> {
857855
}
858856

859857
impl<K, V> DoubleEndedIterator for IntoKeys<K, V> {
860-
fn next_back(&mut self) -> Option<Self::Item> {
861-
self.iter.next_back().map(Bucket::key)
862-
}
858+
double_ended_iterator_methods!(Bucket::key);
863859
}
864860

865861
impl<K, V> ExactSizeIterator for IntoKeys<K, V> {
@@ -893,9 +889,7 @@ impl<'a, K, V> Iterator for Values<'a, K, V> {
893889
}
894890

895891
impl<K, V> DoubleEndedIterator for Values<'_, K, V> {
896-
fn next_back(&mut self) -> Option<Self::Item> {
897-
self.iter.next_back().map(Bucket::value_ref)
898-
}
892+
double_ended_iterator_methods!(Bucket::value_ref);
899893
}
900894

901895
impl<K, V> ExactSizeIterator for Values<'_, K, V> {
@@ -937,9 +931,7 @@ impl<'a, K, V> Iterator for ValuesMut<'a, K, V> {
937931
}
938932

939933
impl<K, V> DoubleEndedIterator for ValuesMut<'_, K, V> {
940-
fn next_back(&mut self) -> Option<Self::Item> {
941-
self.iter.next_back().map(Bucket::value_mut)
942-
}
934+
double_ended_iterator_methods!(Bucket::value_mut);
943935
}
944936

945937
impl<K, V> ExactSizeIterator for ValuesMut<'_, K, V> {
@@ -966,9 +958,7 @@ impl<K, V> Iterator for IntoValues<K, V> {
966958
}
967959

968960
impl<K, V> DoubleEndedIterator for IntoValues<K, V> {
969-
fn next_back(&mut self) -> Option<Self::Item> {
970-
self.iter.next_back().map(Bucket::value)
971-
}
961+
double_ended_iterator_methods!(Bucket::value);
972962
}
973963

974964
impl<K, V> ExactSizeIterator for IntoValues<K, V> {
@@ -1002,9 +992,7 @@ impl<'a, K, V> Iterator for Iter<'a, K, V> {
1002992
}
1003993

1004994
impl<K, V> DoubleEndedIterator for Iter<'_, K, V> {
1005-
fn next_back(&mut self) -> Option<Self::Item> {
1006-
self.iter.next_back().map(Bucket::refs)
1007-
}
995+
double_ended_iterator_methods!(Bucket::refs);
1008996
}
1009997

1010998
impl<K, V> ExactSizeIterator for Iter<'_, K, V> {
@@ -1046,9 +1034,7 @@ impl<'a, K, V> Iterator for IterMut<'a, K, V> {
10461034
}
10471035

10481036
impl<K, V> DoubleEndedIterator for IterMut<'_, K, V> {
1049-
fn next_back(&mut self) -> Option<Self::Item> {
1050-
self.iter.next_back().map(Bucket::ref_mut)
1051-
}
1037+
double_ended_iterator_methods!(Bucket::ref_mut);
10521038
}
10531039

10541040
impl<K, V> ExactSizeIterator for IterMut<'_, K, V> {
@@ -1075,9 +1061,7 @@ impl<K, V> Iterator for IntoIter<K, V> {
10751061
}
10761062

10771063
impl<K, V> DoubleEndedIterator for IntoIter<K, V> {
1078-
fn next_back(&mut self) -> Option<Self::Item> {
1079-
self.iter.next_back().map(Bucket::key_value)
1080-
}
1064+
double_ended_iterator_methods!(Bucket::key_value);
10811065
}
10821066

10831067
impl<K, V> ExactSizeIterator for IntoIter<K, V> {

src/set.rs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -708,9 +708,7 @@ impl<T> Iterator for IntoIter<T> {
708708
}
709709

710710
impl<T> DoubleEndedIterator for IntoIter<T> {
711-
fn next_back(&mut self) -> Option<Self::Item> {
712-
self.iter.next_back().map(Bucket::key)
713-
}
711+
double_ended_iterator_methods!(Bucket::key);
714712
}
715713

716714
impl<T> ExactSizeIterator for IntoIter<T> {
@@ -744,9 +742,7 @@ impl<'a, T> Iterator for Iter<'a, T> {
744742
}
745743

746744
impl<T> DoubleEndedIterator for Iter<'_, T> {
747-
fn next_back(&mut self) -> Option<Self::Item> {
748-
self.iter.next_back().map(Bucket::key_ref)
749-
}
745+
double_ended_iterator_methods!(Bucket::key_ref);
750746
}
751747

752748
impl<T> ExactSizeIterator for Iter<'_, T> {

0 commit comments

Comments
 (0)