@@ -428,8 +428,7 @@ pub const unsafe fn swap_nonoverlapping<T>(x: *mut T, y: *mut T, count: usize) {
428
428
}
429
429
430
430
#[ inline]
431
- #[ rustc_const_unstable( feature = "const_swap" , issue = "83163" ) ]
432
- pub ( crate ) const unsafe fn swap_nonoverlapping_one < T > ( x : * mut T , y : * mut T ) {
431
+ pub ( crate ) unsafe fn swap_nonoverlapping_one < T > ( x : * mut T , y : * mut T ) {
433
432
// NOTE(eddyb) SPIR-V's Logical addressing model doesn't allow for arbitrary
434
433
// reinterpretation of values as (chunkable) byte arrays, and the loop in the
435
434
// block optimization in `swap_nonoverlapping_bytes` is hard to rewrite back
@@ -562,8 +561,7 @@ const unsafe fn swap_nonoverlapping_bytes(x: *mut u8, y: *mut u8, len: usize) {
562
561
/// ```
563
562
#[ inline]
564
563
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
565
- #[ rustc_const_unstable( feature = "const_replace" , issue = "83164" ) ]
566
- pub const unsafe fn replace < T > ( dst : * mut T , mut src : T ) -> T {
564
+ pub unsafe fn replace < T > ( dst : * mut T , mut src : T ) -> T {
567
565
// SAFETY: the caller must guarantee that `dst` is valid to be
568
566
// cast to a mutable reference (valid for writes, aligned, initialized),
569
567
// and cannot overlap `src` since `dst` must point to a distinct
@@ -877,8 +875,7 @@ pub const unsafe fn read_unaligned<T>(src: *const T) -> T {
877
875
/// ```
878
876
#[ inline]
879
877
#[ stable( feature = "rust1" , since = "1.0.0" ) ]
880
- #[ rustc_const_unstable( feature = "const_ptr_write" , issue = "none" ) ]
881
- pub const unsafe fn write < T > ( dst : * mut T , src : T ) {
878
+ pub unsafe fn write < T > ( dst : * mut T , src : T ) {
882
879
// SAFETY: the caller must guarantee that `dst` is valid for writes.
883
880
// `dst` cannot overlap `src` because the caller has mutable access
884
881
// to `dst` while `src` is owned by this function.
0 commit comments