1
Fork 0

Make ptr::slice_from_raw_parts a const fn available under a feature flag

This commit is contained in:
Dodo 2019-12-20 21:42:03 +01:00
parent 6b561b4917
commit 382d370c4f
3 changed files with 18 additions and 2 deletions

View file

@ -257,7 +257,8 @@ pub(crate) struct FatPtr<T> {
/// ```
#[inline]
#[unstable(feature = "slice_from_raw_parts", reason = "recently added", issue = "36925")]
pub fn slice_from_raw_parts<T>(data: *const T, len: usize) -> *const [T] {
#[rustc_const_unstable(feature = "const_slice_from_raw_parts", issue = "67456")]
pub const fn slice_from_raw_parts<T>(data: *const T, len: usize) -> *const [T] {
unsafe { Repr { raw: FatPtr { data, len } }.rust }
}
@ -273,7 +274,8 @@ pub fn slice_from_raw_parts<T>(data: *const T, len: usize) -> *const [T] {
/// [`from_raw_parts_mut`]: ../../std/slice/fn.from_raw_parts_mut.html
#[inline]
#[unstable(feature = "slice_from_raw_parts", reason = "recently added", issue = "36925")]
pub fn slice_from_raw_parts_mut<T>(data: *mut T, len: usize) -> *mut [T] {
#[rustc_const_unstable(feature = "const_slice_from_raw_parts", issue = "67456")]
pub const fn slice_from_raw_parts_mut<T>(data: *mut T, len: usize) -> *mut [T] {
unsafe { Repr { raw: FatPtr { data, len } }.rust_mut }
}