Skip to content

Commit 91bc052

Browse files
committed
Clean up branching in skip
1 parent 4b65353 commit 91bc052

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

core/src/iter/adapters/skip.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use crate::intrinsics::unlikely;
12
use crate::iter::{adapters::SourceIter, FusedIterator, InPlaceIterable};
23
use crate::ops::{ControlFlow, Try};
34

@@ -31,13 +32,10 @@ where
3132

3233
#[inline]
3334
fn next(&mut self) -> Option<I::Item> {
34-
if self.n == 0 {
35-
self.iter.next()
36-
} else {
37-
let old_n = self.n;
38-
self.n = 0;
39-
self.iter.nth(old_n)
35+
if unlikely(self.n > 0) {
36+
self.iter.nth(crate::mem::take(&mut self.n) - 1);
4037
}
38+
self.iter.next()
4139
}
4240

4341
#[inline]

0 commit comments

Comments
 (0)