library: Stabilize const MaybeUninit::assume_init_mut

Co-authored-by: Ralf Jung <post@ralfj.de>
This commit is contained in:
Jubilee Young 2024-10-04 18:22:54 -07:00
parent bece740dad
commit 0b00a54976
2 changed files with 7 additions and 3 deletions

View File

@ -131,7 +131,6 @@
#![feature(const_ipv6)] #![feature(const_ipv6)]
#![feature(const_likely)] #![feature(const_likely)]
#![feature(const_make_ascii)] #![feature(const_make_ascii)]
#![feature(const_maybe_uninit_assume_init)]
#![feature(const_nonnull_new)] #![feature(const_nonnull_new)]
#![feature(const_num_midpoint)] #![feature(const_num_midpoint)]
#![feature(const_option)] #![feature(const_option)]

View File

@ -913,7 +913,11 @@ impl<T> MaybeUninit<T> {
/// }; /// };
/// ``` /// ```
#[stable(feature = "maybe_uninit_ref", since = "1.55.0")] #[stable(feature = "maybe_uninit_ref", since = "1.55.0")]
#[rustc_const_unstable(feature = "const_maybe_uninit_assume_init", issue = "none")] #[cfg_attr(bootstrap, rustc_allow_const_fn_unstable(const_mut_refs))]
#[rustc_const_stable(
feature = "const_maybe_uninit_assume_init",
since = "CURRENT_RUSTC_VERSION"
)]
#[inline(always)] #[inline(always)]
pub const unsafe fn assume_init_mut(&mut self) -> &mut T { pub const unsafe fn assume_init_mut(&mut self) -> &mut T {
// SAFETY: the caller must guarantee that `self` is initialized. // SAFETY: the caller must guarantee that `self` is initialized.
@ -999,7 +1003,8 @@ impl<T> MaybeUninit<T> {
/// ///
/// [`assume_init_mut`]: MaybeUninit::assume_init_mut /// [`assume_init_mut`]: MaybeUninit::assume_init_mut
#[unstable(feature = "maybe_uninit_slice", issue = "63569")] #[unstable(feature = "maybe_uninit_slice", issue = "63569")]
#[rustc_const_unstable(feature = "const_maybe_uninit_assume_init", issue = "none")] #[cfg_attr(bootstrap, rustc_allow_const_fn_unstable(const_mut_refs))]
#[rustc_const_unstable(feature = "maybe_uninit_slice", issue = "63569")]
#[inline(always)] #[inline(always)]
pub const unsafe fn slice_assume_init_mut(slice: &mut [Self]) -> &mut [T] { pub const unsafe fn slice_assume_init_mut(slice: &mut [Self]) -> &mut [T] {
// SAFETY: similar to safety notes for `slice_get_ref`, but we have a // SAFETY: similar to safety notes for `slice_get_ref`, but we have a