diff --git a/library/core/src/slice/iter/macros.rs b/library/core/src/slice/iter/macros.rs index 791a88dd97f28..cf15756868e65 100644 --- a/library/core/src/slice/iter/macros.rs +++ b/library/core/src/slice/iter/macros.rs @@ -185,8 +185,9 @@ macro_rules! iterator { } } + #[inline] fn advance_by(&mut self, n: usize) -> Result<(), usize> { - let advance = cmp::min(n, len!(self)); + let advance = cmp::min(len!(self), n); // SAFETY: By construction, `advance` does not exceed `self.len()`. unsafe { self.post_inc_start(advance as isize) }; if advance == n { Ok(()) } else { Err(advance) } @@ -381,7 +382,7 @@ macro_rules! iterator { #[inline] fn advance_back_by(&mut self, n: usize) -> Result<(), usize> { - let advance = cmp::min(n, len!(self)); + let advance = cmp::min(len!(self), n); // SAFETY: By construction, `advance` does not exceed `self.len()`. unsafe { self.pre_dec_end(advance as isize) }; if advance == n { Ok(()) } else { Err(advance) }