We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 9155a9d commit fb8cc7bCopy full SHA for fb8cc7b
library/core/src/iter/adapters/skip.rs
@@ -1,3 +1,4 @@
1
+use crate::intrinsics::unlikely;
2
use crate::iter::{adapters::SourceIter, FusedIterator, InPlaceIterable};
3
use crate::ops::{ControlFlow, Try};
4
@@ -31,13 +32,10 @@ where
31
32
33
#[inline]
34
fn next(&mut self) -> Option<I::Item> {
- 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)
+ if unlikely(self.n > 0) {
+ self.iter.nth(crate::mem::take(&mut self.n) - 1);
40
}
+ self.iter.next()
41
42
43
0 commit comments