Skip to content

Commit aee1cdd

Browse files
committed
Stabilize const_slice_split_at_mut
1 parent 39b7669 commit aee1cdd

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

library/core/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,6 @@
149149
#![feature(const_size_of_val_raw)]
150150
#![feature(const_slice_from_raw_parts_mut)]
151151
#![feature(const_slice_from_ref)]
152-
#![feature(const_slice_split_at_mut)]
153152
#![feature(const_str_from_utf8_unchecked_mut)]
154153
#![feature(const_strict_overflow_ops)]
155154
#![feature(const_swap)]

library/core/src/slice/mod.rs

+7-3
Original file line numberDiff line numberDiff line change
@@ -1899,7 +1899,8 @@ impl<T> [T] {
18991899
#[inline]
19001900
#[track_caller]
19011901
#[must_use]
1902-
#[rustc_const_unstable(feature = "const_slice_split_at_mut", issue = "101804")]
1902+
#[rustc_const_stable(feature = "const_slice_split_at_mut", since = "CURRENT_RUSTC_VERSION")]
1903+
#[cfg_attr(bootstrap, rustc_allow_const_fn_unstable(const_mut_refs))]
19031904
pub const fn split_at_mut(&mut self, mid: usize) -> (&mut [T], &mut [T]) {
19041905
match self.split_at_mut_checked(mid) {
19051906
Some(pair) => pair,
@@ -2001,7 +2002,9 @@ impl<T> [T] {
20012002
/// assert_eq!(v, [1, 2, 3, 4, 5, 6]);
20022003
/// ```
20032004
#[stable(feature = "slice_split_at_unchecked", since = "1.79.0")]
2004-
#[rustc_const_unstable(feature = "const_slice_split_at_mut", issue = "101804")]
2005+
#[rustc_const_stable(feature = "const_slice_split_at_mut", since = "CURRENT_RUSTC_VERSION")]
2006+
#[cfg_attr(bootstrap, rustc_allow_const_fn_unstable(const_mut_refs))]
2007+
#[rustc_allow_const_fn_unstable(const_slice_from_raw_parts_mut)] // TODO Wait for the Stabilization before merging!
20052008
#[inline]
20062009
#[must_use]
20072010
pub const unsafe fn split_at_mut_unchecked(&mut self, mid: usize) -> (&mut [T], &mut [T]) {
@@ -2101,7 +2104,8 @@ impl<T> [T] {
21012104
/// assert_eq!(None, v.split_at_mut_checked(7));
21022105
/// ```
21032106
#[stable(feature = "split_at_checked", since = "1.80.0")]
2104-
#[rustc_const_unstable(feature = "const_slice_split_at_mut", issue = "101804")]
2107+
#[rustc_const_stable(feature = "const_slice_split_at_mut", since = "CURRENT_RUSTC_VERSION")]
2108+
#[cfg_attr(bootstrap, rustc_allow_const_fn_unstable(const_mut_refs))]
21052109
#[inline]
21062110
#[must_use]
21072111
pub const fn split_at_mut_checked(&mut self, mid: usize) -> Option<(&mut [T], &mut [T])> {

0 commit comments

Comments
 (0)