#[inline] slice::advance_by

This commit is contained in:
The8472 2021-08-03 21:32:36 +02:00
parent d5fd37f00f
commit e44d39a5b7

View file

@ -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) }