Skip to content

Commit fb8cc7b

Browse files
committed
Clean up branching in skip
1 parent 9155a9d commit fb8cc7b

File tree

1 file changed

+4
-6
lines changed
  • library/core/src/iter/adapters

1 file changed

+4
-6
lines changed

library/core/src/iter/adapters/skip.rs

+4-6
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)