diff options
| author | onestacked <chrisi.schrefl@gmail.com> | 2022-09-14 16:54:49 +0200 |
|---|---|---|
| committer | onestacked <chrisi.schrefl@gmail.com> | 2022-09-14 16:54:49 +0200 |
| commit | 8d6edac7639bdd4854ab026fbdac0c4d1a22f64d (patch) | |
| tree | d16a1800d267863c9243d47e3c500501c569dbee | |
| parent | c97922dca563cb7f9385b18dbf7ca8c97f8e1597 (diff) | |
| download | rust-8d6edac7639bdd4854ab026fbdac0c4d1a22f64d.tar.gz rust-8d6edac7639bdd4854ab026fbdac0c4d1a22f64d.zip | |
Add const_slice_split_at_mut Feature gate.
| -rw-r--r-- | library/core/src/lib.rs | 1 | ||||
| -rw-r--r-- | library/core/src/slice/mod.rs | 6 |
2 files changed, 5 insertions, 2 deletions
diff --git a/library/core/src/lib.rs b/library/core/src/lib.rs index 5621d15c1cd..79dfc9cb1b1 100644 --- a/library/core/src/lib.rs +++ b/library/core/src/lib.rs @@ -137,6 +137,7 @@ #![feature(const_size_of_val)] #![feature(const_slice_from_raw_parts_mut)] #![feature(const_slice_ptr_len)] +#![feature(const_slice_split_at_mut)] #![feature(const_str_from_utf8_unchecked_mut)] #![feature(const_swap)] #![feature(const_trait_impl)] diff --git a/library/core/src/slice/mod.rs b/library/core/src/slice/mod.rs index 6a7150d2986..03c8051c5b4 100644 --- a/library/core/src/slice/mod.rs +++ b/library/core/src/slice/mod.rs @@ -1580,7 +1580,8 @@ impl<T> [T] { #[inline] #[track_caller] #[must_use] - pub fn split_at_mut(&mut self, mid: usize) -> (&mut [T], &mut [T]) { + #[rustc_const_unstable(feature = "const_slice_split_at_mut", issue = "101804")] + pub const fn split_at_mut(&mut self, mid: usize) -> (&mut [T], &mut [T]) { assert!(mid <= self.len()); // SAFETY: `[ptr; mid]` and `[mid; len]` are inside `self`, which // fulfills the requirements of `from_raw_parts_mut`. @@ -1679,9 +1680,10 @@ impl<T> [T] { /// assert_eq!(v, [1, 2, 3, 4, 5, 6]); /// ``` #[unstable(feature = "slice_split_at_unchecked", reason = "new API", issue = "76014")] + #[rustc_const_unstable(feature = "const_slice_split_at_mut", issue = "101804")] #[inline] #[must_use] - pub unsafe fn split_at_mut_unchecked(&mut self, mid: usize) -> (&mut [T], &mut [T]) { + pub const unsafe fn split_at_mut_unchecked(&mut self, mid: usize) -> (&mut [T], &mut [T]) { let len = self.len(); let ptr = self.as_mut_ptr(); |
