From eadc8a7b45b6897640c44b14e81c2c272d364bb7 Mon Sep 17 00:00:00 2001 From: "Felix S. Klock II" Date: Wed, 18 Feb 2015 23:01:48 +0100 Subject: [PATCH] fix Iter::rposition for new arith-overflow checking. --- src/libcore/iter.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libcore/iter.rs b/src/libcore/iter.rs index 518ec05f5b9..edc67fbf8c9 100644 --- a/src/libcore/iter.rs +++ b/src/libcore/iter.rs @@ -728,10 +728,11 @@ pub trait IteratorExt: Iterator + Sized { P: FnMut(Self::Item) -> bool, Self: ExactSizeIterator + DoubleEndedIterator { - let mut i = self.len() - 1; + let mut i = self.len(); + while let Some(v) = self.next_back() { if predicate(v) { - return Some(i); + return Some(i - 1); } i -= 1; }