#[inline] slice::advance_by
This commit is contained in:
parent
d5fd37f00f
commit
e44d39a5b7
1 changed files with 3 additions and 2 deletions
|
@ -185,8 +185,9 @@ macro_rules! iterator {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
fn advance_by(&mut self, n: usize) -> Result<(), usize> {
|
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()`.
|
// SAFETY: By construction, `advance` does not exceed `self.len()`.
|
||||||
unsafe { self.post_inc_start(advance as isize) };
|
unsafe { self.post_inc_start(advance as isize) };
|
||||||
if advance == n { Ok(()) } else { Err(advance) }
|
if advance == n { Ok(()) } else { Err(advance) }
|
||||||
|
@ -381,7 +382,7 @@ macro_rules! iterator {
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn advance_back_by(&mut self, n: usize) -> Result<(), usize> {
|
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()`.
|
// SAFETY: By construction, `advance` does not exceed `self.len()`.
|
||||||
unsafe { self.pre_dec_end(advance as isize) };
|
unsafe { self.pre_dec_end(advance as isize) };
|
||||||
if advance == n { Ok(()) } else { Err(advance) }
|
if advance == n { Ok(()) } else { Err(advance) }
|
||||||
|
|
Loading…
Reference in a new issue