Skip to content

Commit cd2e4a3

Browse files
committed
Stabilize const_intrinsic_copy
1 parent ef9b498 commit cd2e4a3

File tree

5 files changed

+12
-13
lines changed

5 files changed

+12
-13
lines changed

library/core/src/intrinsics.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -2116,11 +2116,11 @@ pub(crate) fn is_nonoverlapping<T>(src: *const T, dst: *const T, count: usize) -
21162116
/// [`Vec::append`]: ../../std/vec/struct.Vec.html#method.append
21172117
#[doc(alias = "memcpy")]
21182118
#[stable(feature = "rust1", since = "1.0.0")]
2119-
#[rustc_const_unstable(feature = "const_intrinsic_copy", issue = "80697")]
2119+
#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.63.0")]
21202120
#[inline]
21212121
pub const unsafe fn copy_nonoverlapping<T>(src: *const T, dst: *mut T, count: usize) {
21222122
extern "rust-intrinsic" {
2123-
#[rustc_const_unstable(feature = "const_intrinsic_copy", issue = "80697")]
2123+
#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.63.0")]
21242124
pub fn copy_nonoverlapping<T>(src: *const T, dst: *mut T, count: usize);
21252125
}
21262126

@@ -2198,11 +2198,11 @@ pub const unsafe fn copy_nonoverlapping<T>(src: *const T, dst: *mut T, count: us
21982198
/// ```
21992199
#[doc(alias = "memmove")]
22002200
#[stable(feature = "rust1", since = "1.0.0")]
2201-
#[rustc_const_unstable(feature = "const_intrinsic_copy", issue = "80697")]
2201+
#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.63.0")]
22022202
#[inline]
22032203
pub const unsafe fn copy<T>(src: *const T, dst: *mut T, count: usize) {
22042204
extern "rust-intrinsic" {
2205-
#[rustc_const_unstable(feature = "const_intrinsic_copy", issue = "80697")]
2205+
#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.63.0")]
22062206
fn copy<T>(src: *const T, dst: *mut T, count: usize);
22072207
}
22082208

library/core/src/lib.rs

-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,6 @@
114114
#![feature(const_convert)]
115115
#![feature(const_inherent_unchecked_arith)]
116116
#![feature(const_int_unchecked_arith)]
117-
#![feature(const_intrinsic_copy)]
118117
#![feature(const_intrinsic_forget)]
119118
#![feature(const_likely)]
120119
#![feature(const_maybe_uninit_uninit_array)]

library/core/src/ptr/const_ptr.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1197,7 +1197,7 @@ impl<T: ?Sized> *const T {
11971197
/// See [`ptr::copy`] for safety concerns and examples.
11981198
///
11991199
/// [`ptr::copy`]: crate::ptr::copy()
1200-
#[rustc_const_unstable(feature = "const_intrinsic_copy", issue = "80697")]
1200+
#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.63.0")]
12011201
#[stable(feature = "pointer_methods", since = "1.26.0")]
12021202
#[inline]
12031203
pub const unsafe fn copy_to(self, dest: *mut T, count: usize)
@@ -1216,7 +1216,7 @@ impl<T: ?Sized> *const T {
12161216
/// See [`ptr::copy_nonoverlapping`] for safety concerns and examples.
12171217
///
12181218
/// [`ptr::copy_nonoverlapping`]: crate::ptr::copy_nonoverlapping()
1219-
#[rustc_const_unstable(feature = "const_intrinsic_copy", issue = "80697")]
1219+
#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.63.0")]
12201220
#[stable(feature = "pointer_methods", since = "1.26.0")]
12211221
#[inline]
12221222
pub const unsafe fn copy_to_nonoverlapping(self, dest: *mut T, count: usize)

library/core/src/ptr/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1089,7 +1089,7 @@ pub const unsafe fn read<T>(src: *const T) -> T {
10891089
// We are calling the intrinsics directly to avoid function calls in the generated code
10901090
// as `intrinsics::copy_nonoverlapping` is a wrapper function.
10911091
extern "rust-intrinsic" {
1092-
#[rustc_const_unstable(feature = "const_intrinsic_copy", issue = "80697")]
1092+
#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.63.0")]
10931093
fn copy_nonoverlapping<T>(src: *const T, dst: *mut T, count: usize);
10941094
}
10951095

@@ -1284,7 +1284,7 @@ pub const unsafe fn write<T>(dst: *mut T, src: T) {
12841284
// We are calling the intrinsics directly to avoid function calls in the generated code
12851285
// as `intrinsics::copy_nonoverlapping` is a wrapper function.
12861286
extern "rust-intrinsic" {
1287-
#[rustc_const_unstable(feature = "const_intrinsic_copy", issue = "80697")]
1287+
#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.63.0")]
12881288
fn copy_nonoverlapping<T>(src: *const T, dst: *mut T, count: usize);
12891289
}
12901290

library/core/src/ptr/mut_ptr.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -1309,7 +1309,7 @@ impl<T: ?Sized> *mut T {
13091309
/// See [`ptr::copy`] for safety concerns and examples.
13101310
///
13111311
/// [`ptr::copy`]: crate::ptr::copy()
1312-
#[rustc_const_unstable(feature = "const_intrinsic_copy", issue = "80697")]
1312+
#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.63.0")]
13131313
#[stable(feature = "pointer_methods", since = "1.26.0")]
13141314
#[inline(always)]
13151315
pub const unsafe fn copy_to(self, dest: *mut T, count: usize)
@@ -1328,7 +1328,7 @@ impl<T: ?Sized> *mut T {
13281328
/// See [`ptr::copy_nonoverlapping`] for safety concerns and examples.
13291329
///
13301330
/// [`ptr::copy_nonoverlapping`]: crate::ptr::copy_nonoverlapping()
1331-
#[rustc_const_unstable(feature = "const_intrinsic_copy", issue = "80697")]
1331+
#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.63.0")]
13321332
#[stable(feature = "pointer_methods", since = "1.26.0")]
13331333
#[inline(always)]
13341334
pub const unsafe fn copy_to_nonoverlapping(self, dest: *mut T, count: usize)
@@ -1347,7 +1347,7 @@ impl<T: ?Sized> *mut T {
13471347
/// See [`ptr::copy`] for safety concerns and examples.
13481348
///
13491349
/// [`ptr::copy`]: crate::ptr::copy()
1350-
#[rustc_const_unstable(feature = "const_intrinsic_copy", issue = "80697")]
1350+
#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.63.0")]
13511351
#[stable(feature = "pointer_methods", since = "1.26.0")]
13521352
#[inline(always)]
13531353
pub const unsafe fn copy_from(self, src: *const T, count: usize)
@@ -1366,7 +1366,7 @@ impl<T: ?Sized> *mut T {
13661366
/// See [`ptr::copy_nonoverlapping`] for safety concerns and examples.
13671367
///
13681368
/// [`ptr::copy_nonoverlapping`]: crate::ptr::copy_nonoverlapping()
1369-
#[rustc_const_unstable(feature = "const_intrinsic_copy", issue = "80697")]
1369+
#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.63.0")]
13701370
#[stable(feature = "pointer_methods", since = "1.26.0")]
13711371
#[inline(always)]
13721372
pub const unsafe fn copy_from_nonoverlapping(self, src: *const T, count: usize)

0 commit comments

Comments
 (0)