mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 07:14:28 +00:00
Use unchecked_sub
in split_at
This commit is contained in:
parent
fcc06c894b
commit
f1de4c16ee
@ -9,7 +9,7 @@
|
|||||||
use crate::cmp::Ordering::{self, Equal, Greater, Less};
|
use crate::cmp::Ordering::{self, Equal, Greater, Less};
|
||||||
use crate::fmt;
|
use crate::fmt;
|
||||||
use crate::hint;
|
use crate::hint;
|
||||||
use crate::intrinsics::exact_div;
|
use crate::intrinsics::{exact_div, unchecked_sub};
|
||||||
use crate::mem::{self, SizedTypeProperties};
|
use crate::mem::{self, SizedTypeProperties};
|
||||||
use crate::num::NonZero;
|
use crate::num::NonZero;
|
||||||
use crate::ops::{Bound, OneSidedRange, Range, RangeBounds};
|
use crate::ops::{Bound, OneSidedRange, Range, RangeBounds};
|
||||||
@ -1983,7 +1983,7 @@ impl<T> [T] {
|
|||||||
);
|
);
|
||||||
|
|
||||||
// SAFETY: Caller has to check that `0 <= mid <= self.len()`
|
// SAFETY: Caller has to check that `0 <= mid <= self.len()`
|
||||||
unsafe { (from_raw_parts(ptr, mid), from_raw_parts(ptr.add(mid), len - mid)) }
|
unsafe { (from_raw_parts(ptr, mid), from_raw_parts(ptr.add(mid), unchecked_sub(len, mid))) }
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Divides one mutable slice into two at an index, without doing bounds checking.
|
/// Divides one mutable slice into two at an index, without doing bounds checking.
|
||||||
@ -2035,7 +2035,12 @@ impl<T> [T] {
|
|||||||
//
|
//
|
||||||
// `[ptr; mid]` and `[mid; len]` are not overlapping, so returning a mutable reference
|
// `[ptr; mid]` and `[mid; len]` are not overlapping, so returning a mutable reference
|
||||||
// is fine.
|
// is fine.
|
||||||
unsafe { (from_raw_parts_mut(ptr, mid), from_raw_parts_mut(ptr.add(mid), len - mid)) }
|
unsafe {
|
||||||
|
(
|
||||||
|
from_raw_parts_mut(ptr, mid),
|
||||||
|
from_raw_parts_mut(ptr.add(mid), unchecked_sub(len, mid)),
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Divides one slice into two at an index, returning `None` if the slice is
|
/// Divides one slice into two at an index, returning `None` if the slice is
|
||||||
|
Loading…
Reference in New Issue
Block a user