diff --git a/src/libcore/iter/adapters/mod.rs b/src/libcore/iter/adapters/mod.rs
index f50781890ab22..8e1ac6082c8a8 100644
--- a/src/libcore/iter/adapters/mod.rs
+++ b/src/libcore/iter/adapters/mod.rs
@@ -66,13 +66,6 @@ impl Iterator for Rev where I: DoubleEndedIterator {
{
self.iter.rfind(predicate)
}
-
- #[inline]
- fn rposition
(&mut self, predicate: P) -> Option where
- P: FnMut(Self::Item) -> bool
- {
- self.iter.position(predicate)
- }
}
#[stable(feature = "rust1", since = "1.0.0")]
diff --git a/src/libcore/tests/iter.rs b/src/libcore/tests/iter.rs
index 3a4f76852a0d7..8e0658d87c1fb 100644
--- a/src/libcore/tests/iter.rs
+++ b/src/libcore/tests/iter.rs
@@ -1688,6 +1688,12 @@ fn test_rposition() {
assert!(v.iter().rposition(g).is_none());
}
+#[test]
+fn test_rev_rposition() {
+ let v = [0, 0, 1, 1];
+ assert_eq!(v.iter().rev().rposition(|&x| x == 1), Some(1));
+}
+
#[test]
#[should_panic]
fn test_rposition_panic() {