#[inline] slice::advance_by
This commit is contained in:
@@ -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) }
|
||||||
|
|||||||
Reference in New Issue
Block a user