Auto merge of #131767 - cuviper:bump-stage0, r=Mark-Simulacrum · qinheping/verify-rust-std@f7b3231 (original) (raw)

`@@ -1085,7 +1085,7 @@ extern "rust-intrinsic" {

`

1085

1085

`` /// it does not require an unsafe block.

``

1086

1086

`/// Therefore, implementations must not require the user to uphold

`

1087

1087

`/// any safety invariants.

`

1088

``

`-

#[rustc_const_stable(feature = "const_intrinsic_forget", since = "CURRENT_RUSTC_VERSION")]

`

``

1088

`+

#[rustc_const_stable(feature = "const_intrinsic_forget", since = "1.83.0")]

`

1089

1089

`#[rustc_safe_intrinsic]

`

1090

1090

`#[rustc_nounwind]

`

1091

1091

`pub fn forget<T: ?Sized>(_: T);

`

`@@ -1807,7 +1807,6 @@ extern "rust-intrinsic" {

`

1807

1807

`/// is selected, and that may depend on optimization level and context, for

`

1808

1808

`/// example.

`

1809

1809

`#[rustc_nounwind]

`

1810

``

`-

#[cfg(not(bootstrap))]

`

1811

1810

`pub fn fmuladdf16(a: f16, b: f16, c: f16) -> f16;

`

1812

1811

`` /// Returns a * b + c for f32 values, non-deterministically executing

``

1813

1812

`/// either a fused multiply-add or two operations with rounding of the

`

`@@ -1820,7 +1819,6 @@ extern "rust-intrinsic" {

`

1820

1819

`/// is selected, and that may depend on optimization level and context, for

`

1821

1820

`/// example.

`

1822

1821

`#[rustc_nounwind]

`

1823

``

`-

#[cfg(not(bootstrap))]

`

1824

1822

`pub fn fmuladdf32(a: f32, b: f32, c: f32) -> f32;

`

1825

1823

`` /// Returns a * b + c for f64 values, non-deterministically executing

``

1826

1824

`/// either a fused multiply-add or two operations with rounding of the

`

`@@ -1833,7 +1831,6 @@ extern "rust-intrinsic" {

`

1833

1831

`/// is selected, and that may depend on optimization level and context, for

`

1834

1832

`/// example.

`

1835

1833

`#[rustc_nounwind]

`

1836

``

`-

#[cfg(not(bootstrap))]

`

1837

1834

`pub fn fmuladdf64(a: f64, b: f64, c: f64) -> f64;

`

1838

1835

`` /// Returns a * b + c for f128 values, non-deterministically executing

``

1839

1836

`/// either a fused multiply-add or two operations with rounding of the

`

`@@ -1846,7 +1843,6 @@ extern "rust-intrinsic" {

`

1846

1843

`/// is selected, and that may depend on optimization level and context, for

`

1847

1844

`/// example.

`

1848

1845

`#[rustc_nounwind]

`

1849

``

`-

#[cfg(not(bootstrap))]

`

1850

1846

`pub fn fmuladdf128(a: f128, b: f128, c: f128) -> f128;

`

1851

1847

``

1852

1848

`` /// Returns the largest integer less than or equal to an f16.

``

`@@ -2541,7 +2537,7 @@ extern "rust-intrinsic" {

`

2541

2537

`/// This intrinsic can only be called where the pointer is a local without

`

2542

2538

`` /// projections (write_via_move(ptr, x), not write_via_move(*ptr, x)) so

``

2543

2539

`/// that it trivially obeys runtime-MIR rules about derefs in operands.

`

2544

``

`-

#[rustc_const_stable(feature = "const_ptr_write", since = "CURRENT_RUSTC_VERSION")]

`

``

2540

`+

#[rustc_const_stable(feature = "const_ptr_write", since = "1.83.0")]

`

2545

2541

`#[rustc_nounwind]

`

2546

2542

`pub fn write_via_move(ptr: *mut T, value: T);

`

2547

2543

``

`@@ -3070,7 +3066,7 @@ pub const fn type_id<T: ?Sized + 'static>() -> u128 {

`

3070

3066

`/// change the possible layouts of pointers.

`

3071

3067

`#[rustc_nounwind]

`

3072

3068

`#[unstable(feature = "core_intrinsics", issue = "none")]

`

3073

``

`-

#[rustc_const_stable(feature = "ptr_metadata_const", since = "CURRENT_RUSTC_VERSION")]

`

``

3069

`+

#[rustc_const_stable(feature = "ptr_metadata_const", since = "1.83.0")]

`

3074

3070

`#[rustc_intrinsic]

`

3075

3071

`#[rustc_intrinsic_must_be_overridden]

`

3076

3072

`pub const fn aggregate_raw_ptr<P: AggregateRawPtr<D, Metadata = M>, D, M>(_data: D, _meta: M) -> P {

`

`@@ -3095,7 +3091,7 @@ impl<P: ?Sized, T: ptr::Thin> AggregateRawPtr<*mut T> for *mut P {

`

3095

3091

`` /// This is used to implement functions like ptr::metadata.

``

3096

3092

`#[rustc_nounwind]

`

3097

3093

`#[unstable(feature = "core_intrinsics", issue = "none")]

`

3098

``

`-

#[rustc_const_stable(feature = "ptr_metadata_const", since = "CURRENT_RUSTC_VERSION")]

`

``

3094

`+

#[rustc_const_stable(feature = "ptr_metadata_const", since = "1.83.0")]

`

3099

3095

`#[rustc_intrinsic]

`

3100

3096

`#[rustc_intrinsic_must_be_overridden]

`

3101

3097

`pub const fn ptr_metadata<P: ptr::Pointee<Metadata = M> + ?Sized, M>(_ptr: *const P) -> M {

`

`@@ -3196,13 +3192,13 @@ pub const fn ptr_metadata<P: ptr::Pointee<Metadata = M> + ?Sized, M>(_ptr: *cons

`

3196

3192

`#[doc(alias = "memcpy")]

`

3197

3193

`#[stable(feature = "rust1", since = "1.0.0")]

`

3198

3194

`#[rustc_allowed_through_unstable_modules]

`

3199

``

`-

#[rustc_const_stable(feature = "const_intrinsic_copy", since = "CURRENT_RUSTC_VERSION")]

`

``

3195

`+

#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.83.0")]

`

3200

3196

`#[inline(always)]

`

3201

3197

`#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces

`

3202

3198

`#[rustc_diagnostic_item = "ptr_copy_nonoverlapping"]

`

3203

3199

`pub const unsafe fn copy_nonoverlapping(src: *const T, dst: *mut T, count: usize) {

`

3204

3200

`extern "rust-intrinsic" {

`

3205

``

`-

#[rustc_const_stable(feature = "const_intrinsic_copy", since = "CURRENT_RUSTC_VERSION")]

`

``

3201

`+

#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.83.0")]

`

3206

3202

`#[rustc_nounwind]

`

3207

3203

`pub fn copy_nonoverlapping(src: *const T, dst: *mut T, count: usize);

`

3208

3204

`}

`

`@@ -3300,13 +3296,13 @@ pub const unsafe fn copy_nonoverlapping(src: *const T, dst: *mut T, count: us

`

3300

3296

`#[doc(alias = "memmove")]

`

3301

3297

`#[stable(feature = "rust1", since = "1.0.0")]

`

3302

3298

`#[rustc_allowed_through_unstable_modules]

`

3303

``

`-

#[rustc_const_stable(feature = "const_intrinsic_copy", since = "CURRENT_RUSTC_VERSION")]

`

``

3299

`+

#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.83.0")]

`

3304

3300

`#[inline(always)]

`

3305

3301

`#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces

`

3306

3302

`#[rustc_diagnostic_item = "ptr_copy"]

`

3307

3303

`pub const unsafe fn copy(src: *const T, dst: *mut T, count: usize) {

`

3308

3304

`extern "rust-intrinsic" {

`

3309

``

`-

#[rustc_const_stable(feature = "const_intrinsic_copy", since = "CURRENT_RUSTC_VERSION")]

`

``

3305

`+

#[rustc_const_stable(feature = "const_intrinsic_copy", since = "1.83.0")]

`

3310

3306

`#[rustc_nounwind]

`

3311

3307

`fn copy(src: *const T, dst: *mut T, count: usize);

`

3312

3308

`}

`

`@@ -3381,13 +3377,13 @@ pub const unsafe fn copy(src: *const T, dst: *mut T, count: usize) {

`

3381

3377

`#[doc(alias = "memset")]

`

3382

3378

`#[stable(feature = "rust1", since = "1.0.0")]

`

3383

3379

`#[rustc_allowed_through_unstable_modules]

`

3384

``

`-

#[rustc_const_stable(feature = "const_ptr_write", since = "CURRENT_RUSTC_VERSION")]

`

``

3380

`+

#[rustc_const_stable(feature = "const_ptr_write", since = "1.83.0")]

`

3385

3381

`#[inline(always)]

`

3386

3382

`#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces

`

3387

3383

`#[rustc_diagnostic_item = "ptr_write_bytes"]

`

3388

3384

`pub const unsafe fn write_bytes(dst: *mut T, val: u8, count: usize) {

`

3389

3385

`extern "rust-intrinsic" {

`

3390

``

`-

#[rustc_const_stable(feature = "const_ptr_write", since = "CURRENT_RUSTC_VERSION")]

`

``

3386

`+

#[rustc_const_stable(feature = "const_ptr_write", since = "1.83.0")]

`

3391

3387

`#[rustc_nounwind]

`

3392

3388

`fn write_bytes(dst: *mut T, val: u8, count: usize);

`

3393

3389

`}

`