]> git.lizzy.rs Git - rust.git/commitdiff
iter: Use underlying find/rfind for the same methods in Rev
authorUlrik Sverdrup <bluss@users.noreply.github.com>
Mon, 3 Apr 2017 00:03:12 +0000 (02:03 +0200)
committerUlrik Sverdrup <bluss@users.noreply.github.com>
Mon, 3 Apr 2017 00:03:19 +0000 (02:03 +0200)
src/libcore/iter/mod.rs

index 04394e0a3a876c811ab3ce7d3af3543b2713b3af..273f9d0e6f6d31cf9581cbafb0fde73d7f569f96 100644 (file)
@@ -358,12 +358,24 @@ impl<I> Iterator for Rev<I> where I: DoubleEndedIterator {
     fn next(&mut self) -> Option<<I as Iterator>::Item> { self.iter.next_back() }
     #[inline]
     fn size_hint(&self) -> (usize, Option<usize>) { self.iter.size_hint() }
+
+    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
+        where P: FnMut(&Self::Item) -> bool
+    {
+        self.iter.rfind(predicate)
+    }
 }
 
 #[stable(feature = "rust1", since = "1.0.0")]
 impl<I> DoubleEndedIterator for Rev<I> where I: DoubleEndedIterator {
     #[inline]
     fn next_back(&mut self) -> Option<<I as Iterator>::Item> { self.iter.next() }
+
+    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
+        where P: FnMut(&Self::Item) -> bool
+    {
+        self.iter.find(predicate)
+    }
 }
 
 #[stable(feature = "rust1", since = "1.0.0")]