don't duplicate slice panic_bounds_check
This commit is contained in:
parent
c517a0de3e
commit
cf12732a38
1 changed files with 4 additions and 10 deletions
|
@ -560,8 +560,8 @@ impl<T> [T] {
|
|||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
#[inline]
|
||||
pub fn swap(&mut self, a: usize, b: usize) {
|
||||
assert_in_bounds(self.len(), a);
|
||||
assert_in_bounds(self.len(), b);
|
||||
let _ = &self[a];
|
||||
let _ = &self[b];
|
||||
|
||||
// SAFETY: we just checked that both `a` and `b` are in bounds
|
||||
unsafe { self.swap_unchecked(a, b) }
|
||||
|
@ -598,8 +598,8 @@ impl<T> [T] {
|
|||
pub unsafe fn swap_unchecked(&mut self, a: usize, b: usize) {
|
||||
#[cfg(debug_assertions)]
|
||||
{
|
||||
assert_in_bounds(self.len(), a);
|
||||
assert_in_bounds(self.len(), b);
|
||||
let _ = &self[a];
|
||||
let _ = &self[b];
|
||||
}
|
||||
|
||||
let ptr = self.as_mut_ptr();
|
||||
|
@ -3502,12 +3502,6 @@ impl<T> [T] {
|
|||
}
|
||||
}
|
||||
|
||||
fn assert_in_bounds(len: usize, idx: usize) {
|
||||
if idx >= len {
|
||||
panic!("index out of bounds: the len is {} but the index is {}", len, idx);
|
||||
}
|
||||
}
|
||||
|
||||
trait CloneFromSpec<T> {
|
||||
fn spec_clone_from(&mut self, src: &[T]);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue