library: Stabilize const_replace
Depends on stabilizing `const_ptr_write`. Const-stabilizes: - `core::mem::replace` - `core::ptr::replace`
This commit is contained in:
parent
ddc367ded7
commit
187c8b0ce9
@ -138,7 +138,6 @@
|
|||||||
#![feature(const_ptr_is_null)]
|
#![feature(const_ptr_is_null)]
|
||||||
#![feature(const_ptr_sub_ptr)]
|
#![feature(const_ptr_sub_ptr)]
|
||||||
#![feature(const_raw_ptr_comparison)]
|
#![feature(const_raw_ptr_comparison)]
|
||||||
#![feature(const_replace)]
|
|
||||||
#![feature(const_size_of_val)]
|
#![feature(const_size_of_val)]
|
||||||
#![feature(const_size_of_val_raw)]
|
#![feature(const_size_of_val_raw)]
|
||||||
#![feature(const_strict_overflow_ops)]
|
#![feature(const_strict_overflow_ops)]
|
||||||
|
@ -857,7 +857,8 @@ pub fn take<T: Default>(dest: &mut T) -> T {
|
|||||||
#[inline]
|
#[inline]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[must_use = "if you don't need the old value, you can just assign the new value directly"]
|
#[must_use = "if you don't need the old value, you can just assign the new value directly"]
|
||||||
#[rustc_const_unstable(feature = "const_replace", issue = "83164")]
|
#[cfg_attr(bootstrap, rustc_allow_const_fn_unstable(const_mut_refs))]
|
||||||
|
#[rustc_const_stable(feature = "const_replace", since = "CURRENT_RUSTC_VERSION")]
|
||||||
#[cfg_attr(not(test), rustc_diagnostic_item = "mem_replace")]
|
#[cfg_attr(not(test), rustc_diagnostic_item = "mem_replace")]
|
||||||
pub const fn replace<T>(dest: &mut T, src: T) -> T {
|
pub const fn replace<T>(dest: &mut T, src: T) -> T {
|
||||||
// It may be tempting to use `swap` to avoid `unsafe` here. Don't!
|
// It may be tempting to use `swap` to avoid `unsafe` here. Don't!
|
||||||
|
@ -1263,7 +1263,8 @@ macro_rules! attempt_swap_as_chunks {
|
|||||||
/// ```
|
/// ```
|
||||||
#[inline]
|
#[inline]
|
||||||
#[stable(feature = "rust1", since = "1.0.0")]
|
#[stable(feature = "rust1", since = "1.0.0")]
|
||||||
#[rustc_const_unstable(feature = "const_replace", issue = "83164")]
|
#[cfg_attr(bootstrap, rustc_allow_const_fn_unstable(const_mut_refs))]
|
||||||
|
#[rustc_const_stable(feature = "const_replace", since = "CURRENT_RUSTC_VERSION")]
|
||||||
#[rustc_diagnostic_item = "ptr_replace"]
|
#[rustc_diagnostic_item = "ptr_replace"]
|
||||||
pub const unsafe fn replace<T>(dst: *mut T, src: T) -> T {
|
pub const unsafe fn replace<T>(dst: *mut T, src: T) -> T {
|
||||||
// SAFETY: the caller must guarantee that `dst` is valid to be
|
// SAFETY: the caller must guarantee that `dst` is valid to be
|
||||||
|
Loading…
Reference in New Issue
Block a user