about summary refs log tree commit diff
diff options
context:
space:
mode:
authorking6cong <king6cong@gmail.com>2017-02-17 09:47:37 +0800
committerking6cong <king6cong@gmail.com>2017-02-17 09:47:37 +0800
commit860900cfc348e0579eac3acb07097161306d7908 (patch)
tree3691b2e04e97d968956b0f7a49a942444fbac39b
parent668864d9edd4f28d48005b57e5b177228cb974c5 (diff)
downloadrust-860900cfc348e0579eac3acb07097161306d7908.tar.gz
rust-860900cfc348e0579eac3acb07097161306d7908.zip
code order tweak
-rw-r--r--src/libcore/iter/iterator.rs6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libcore/iter/iterator.rs b/src/libcore/iter/iterator.rs
index d41767cce18..3785bbe9bb0 100644
--- a/src/libcore/iter/iterator.rs
+++ b/src/libcore/iter/iterator.rs
@@ -1603,12 +1603,12 @@ pub trait Iterator {
         let mut i = self.len();
 
         while let Some(v) = self.next_back() {
-            if predicate(v) {
-                return Some(i - 1);
-            }
             // No need for an overflow check here, because `ExactSizeIterator`
             // implies that the number of elements fits into a `usize`.
             i -= 1;
+            if predicate(v) {
+                return Some(i);
+            }
         }
         None
     }