Skip to content

Commit 8201866

Browse files
committed
Auto merge of #68234 - CAD97:slice-from-raw-parts, r=KodrAus
Stabilize ptr::slice_from_raw_parts[_mut] Closes #36925, the tracking issue. Initial impl: #60667 r? @rust-lang/libs In addition to stabilizing, I've adjusted the example of `ptr::slice_from_raw_parts` to use `slice_from_raw_parts` instead of `slice_from_raw_parts_mut`, which was unnecessary for the example as written.
2 parents 67fae22 + 1c0d485 commit 8201866

File tree

3 files changed

+5
-8
lines changed

3 files changed

+5
-8
lines changed

src/liballoc/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,6 @@
104104
#![feature(ptr_offset_from)]
105105
#![feature(rustc_attrs)]
106106
#![feature(receiver_trait)]
107-
#![feature(slice_from_raw_parts)]
108107
#![feature(specialization)]
109108
#![feature(staged_api)]
110109
#![feature(std_internals)]

src/libcore/ptr/mod.rs

+5-6
Original file line numberDiff line numberDiff line change
@@ -238,17 +238,16 @@ pub(crate) struct FatPtr<T> {
238238
/// # Examples
239239
///
240240
/// ```rust
241-
/// #![feature(slice_from_raw_parts)]
242241
/// use std::ptr;
243242
///
244243
/// // create a slice pointer when starting out with a pointer to the first element
245-
/// let mut x = [5, 6, 7];
246-
/// let ptr = &mut x[0] as *mut _;
247-
/// let slice = ptr::slice_from_raw_parts_mut(ptr, 3);
244+
/// let x = [5, 6, 7];
245+
/// let ptr = x.as_ptr();
246+
/// let slice = ptr::slice_from_raw_parts(ptr, 3);
248247
/// assert_eq!(unsafe { &*slice }[2], 7);
249248
/// ```
250249
#[inline]
251-
#[unstable(feature = "slice_from_raw_parts", reason = "recently added", issue = "36925")]
250+
#[stable(feature = "slice_from_raw_parts", since = "1.42.0")]
252251
#[rustc_const_unstable(feature = "const_slice_from_raw_parts", issue = "67456")]
253252
pub const fn slice_from_raw_parts<T>(data: *const T, len: usize) -> *const [T] {
254253
unsafe { Repr { raw: FatPtr { data, len } }.rust }
@@ -265,7 +264,7 @@ pub const fn slice_from_raw_parts<T>(data: *const T, len: usize) -> *const [T] {
265264
/// [`slice_from_raw_parts`]: fn.slice_from_raw_parts.html
266265
/// [`from_raw_parts_mut`]: ../../std/slice/fn.from_raw_parts_mut.html
267266
#[inline]
268-
#[unstable(feature = "slice_from_raw_parts", reason = "recently added", issue = "36925")]
267+
#[stable(feature = "slice_from_raw_parts", since = "1.42.0")]
269268
#[rustc_const_unstable(feature = "const_slice_from_raw_parts", issue = "67456")]
270269
pub const fn slice_from_raw_parts_mut<T>(data: *mut T, len: usize) -> *mut [T] {
271270
unsafe { Repr { raw: FatPtr { data, len } }.rust_mut }

src/libcore/tests/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@
3636
#![feature(iter_is_partitioned)]
3737
#![feature(iter_order_by)]
3838
#![feature(cmp_min_max_by)]
39-
#![feature(slice_from_raw_parts)]
4039
#![feature(const_slice_from_raw_parts)]
4140
#![feature(const_raw_ptr_deref)]
4241
#![feature(never_type)]

0 commit comments

Comments
 (0)