Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 2746f26

Browse files
Unrolled build for #145467
Rollup merge of #145467 - Kivooeo:stabilize-strict_provenance_atomic_ptr, r=scottmcm Stabilize `strict_provenance_atomic_ptr` feature This closes [tracking issue](#99108) and stabilises `AtomicPtr::{fetch_ptr_add, fetch_ptr_sub, fetch_byte_add, fetch_byte_sub, fetch_or, fetch_and, fetch_xor}` --- EDIT: FCP completed at #99108 (comment)
2 parents fe55364 + b951b5d commit 2746f26

File tree

5 files changed

+7
-18
lines changed

5 files changed

+7
-18
lines changed

‎library/core/src/sync/atomic.rs

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2199,7 +2199,6 @@ impl<T> AtomicPtr<T> {
21992199
/// # Examples
22002200
///
22012201
/// ```
2202-
/// #![feature(strict_provenance_atomic_ptr)]
22032202
/// use core::sync::atomic::{AtomicPtr, Ordering};
22042203
///
22052204
/// let atom = AtomicPtr::<i64>::new(core::ptr::null_mut());
@@ -2209,7 +2208,7 @@ impl<T> AtomicPtr<T> {
22092208
/// ```
22102209
#[inline]
22112210
#[cfg(target_has_atomic = "ptr")]
2212-
#[unstable(feature = "strict_provenance_atomic_ptr", issue = "99108")]
2211+
#[stable(feature = "strict_provenance_atomic_ptr", since = "CURRENT_RUSTC_VERSION")]
22132212
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
22142213
pub fn fetch_ptr_add(&self, val: usize, order: Ordering) -> *mut T {
22152214
self.fetch_byte_add(val.wrapping_mul(size_of::<T>()), order)
@@ -2240,7 +2239,6 @@ impl<T> AtomicPtr<T> {
22402239
/// # Examples
22412240
///
22422241
/// ```
2243-
/// #![feature(strict_provenance_atomic_ptr)]
22442242
/// use core::sync::atomic::{AtomicPtr, Ordering};
22452243
///
22462244
/// let array = [1i32, 2i32];
@@ -2254,7 +2252,7 @@ impl<T> AtomicPtr<T> {
22542252
/// ```
22552253
#[inline]
22562254
#[cfg(target_has_atomic = "ptr")]
2257-
#[unstable(feature = "strict_provenance_atomic_ptr", issue = "99108")]
2255+
#[stable(feature = "strict_provenance_atomic_ptr", since = "CURRENT_RUSTC_VERSION")]
22582256
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
22592257
pub fn fetch_ptr_sub(&self, val: usize, order: Ordering) -> *mut T {
22602258
self.fetch_byte_sub(val.wrapping_mul(size_of::<T>()), order)
@@ -2279,7 +2277,6 @@ impl<T> AtomicPtr<T> {
22792277
/// # Examples
22802278
///
22812279
/// ```
2282-
/// #![feature(strict_provenance_atomic_ptr)]
22832280
/// use core::sync::atomic::{AtomicPtr, Ordering};
22842281
///
22852282
/// let atom = AtomicPtr::<i64>::new(core::ptr::null_mut());
@@ -2289,7 +2286,7 @@ impl<T> AtomicPtr<T> {
22892286
/// ```
22902287
#[inline]
22912288
#[cfg(target_has_atomic = "ptr")]
2292-
#[unstable(feature = "strict_provenance_atomic_ptr", issue = "99108")]
2289+
#[stable(feature = "strict_provenance_atomic_ptr", since = "CURRENT_RUSTC_VERSION")]
22932290
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
22942291
pub fn fetch_byte_add(&self, val: usize, order: Ordering) -> *mut T {
22952292
// SAFETY: data races are prevented by atomic intrinsics.
@@ -2315,7 +2312,6 @@ impl<T> AtomicPtr<T> {
23152312
/// # Examples
23162313
///
23172314
/// ```
2318-
/// #![feature(strict_provenance_atomic_ptr)]
23192315
/// use core::sync::atomic::{AtomicPtr, Ordering};
23202316
///
23212317
/// let mut arr = [0i64, 1];
@@ -2325,7 +2321,7 @@ impl<T> AtomicPtr<T> {
23252321
/// ```
23262322
#[inline]
23272323
#[cfg(target_has_atomic = "ptr")]
2328-
#[unstable(feature = "strict_provenance_atomic_ptr", issue = "99108")]
2324+
#[stable(feature = "strict_provenance_atomic_ptr", since = "CURRENT_RUSTC_VERSION")]
23292325
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
23302326
pub fn fetch_byte_sub(&self, val: usize, order: Ordering) -> *mut T {
23312327
// SAFETY: data races are prevented by atomic intrinsics.
@@ -2361,7 +2357,6 @@ impl<T> AtomicPtr<T> {
23612357
/// # Examples
23622358
///
23632359
/// ```
2364-
/// #![feature(strict_provenance_atomic_ptr)]
23652360
/// use core::sync::atomic::{AtomicPtr, Ordering};
23662361
///
23672362
/// let pointer = &mut 3i64 as *mut i64;
@@ -2376,7 +2371,7 @@ impl<T> AtomicPtr<T> {
23762371
/// ```
23772372
#[inline]
23782373
#[cfg(target_has_atomic = "ptr")]
2379-
#[unstable(feature = "strict_provenance_atomic_ptr", issue = "99108")]
2374+
#[stable(feature = "strict_provenance_atomic_ptr", since = "CURRENT_RUSTC_VERSION")]
23802375
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
23812376
pub fn fetch_or(&self, val: usize, order: Ordering) -> *mut T {
23822377
// SAFETY: data races are prevented by atomic intrinsics.
@@ -2412,7 +2407,6 @@ impl<T> AtomicPtr<T> {
24122407
/// # Examples
24132408
///
24142409
/// ```
2415-
/// #![feature(strict_provenance_atomic_ptr)]
24162410
/// use core::sync::atomic::{AtomicPtr, Ordering};
24172411
///
24182412
/// let pointer = &mut 3i64 as *mut i64;
@@ -2426,7 +2420,7 @@ impl<T> AtomicPtr<T> {
24262420
/// ```
24272421
#[inline]
24282422
#[cfg(target_has_atomic = "ptr")]
2429-
#[unstable(feature = "strict_provenance_atomic_ptr", issue = "99108")]
2423+
#[stable(feature = "strict_provenance_atomic_ptr", since = "CURRENT_RUSTC_VERSION")]
24302424
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
24312425
pub fn fetch_and(&self, val: usize, order: Ordering) -> *mut T {
24322426
// SAFETY: data races are prevented by atomic intrinsics.
@@ -2462,7 +2456,6 @@ impl<T> AtomicPtr<T> {
24622456
/// # Examples
24632457
///
24642458
/// ```
2465-
/// #![feature(strict_provenance_atomic_ptr)]
24662459
/// use core::sync::atomic::{AtomicPtr, Ordering};
24672460
///
24682461
/// let pointer = &mut 3i64 as *mut i64;
@@ -2474,7 +2467,7 @@ impl<T> AtomicPtr<T> {
24742467
/// ```
24752468
#[inline]
24762469
#[cfg(target_has_atomic = "ptr")]
2477-
#[unstable(feature = "strict_provenance_atomic_ptr", issue = "99108")]
2470+
#[stable(feature = "strict_provenance_atomic_ptr", since = "CURRENT_RUSTC_VERSION")]
24782471
#[cfg_attr(miri, track_caller)] // even without panics, this helps for Miri backtraces
24792472
pub fn fetch_xor(&self, val: usize, order: Ordering) -> *mut T {
24802473
// SAFETY: data races are prevented by atomic intrinsics.

‎library/coretests/tests/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@
9595
#![feature(std_internals)]
9696
#![feature(step_trait)]
9797
#![feature(str_internals)]
98-
#![feature(strict_provenance_atomic_ptr)]
9998
#![feature(strict_provenance_lints)]
10099
#![feature(test)]
101100
#![feature(trusted_len)]

‎library/std/src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,6 @@
371371
#![feature(slice_range)]
372372
#![feature(std_internals)]
373373
#![feature(str_internals)]
374-
#![feature(strict_provenance_atomic_ptr)]
375374
#![feature(sync_unsafe_cell)]
376375
#![feature(temporary_niche_types)]
377376
#![feature(ub_checks)]

‎src/tools/miri/tests/pass/atomic.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
//@[tree]compile-flags: -Zmiri-tree-borrows
33
//@compile-flags: -Zmiri-strict-provenance
44

5-
#![feature(strict_provenance_atomic_ptr)]
65
// FIXME(static_mut_refs): Do not allow `static_mut_refs` lint
76
#![allow(static_mut_refs)]
87

‎tests/codegen-llvm/atomicptr.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
//@ compile-flags: -Copt-level=3 -Cno-prepopulate-passes
88
#![crate_type = "lib"]
9-
#![feature(strict_provenance_atomic_ptr)]
109

1110
use std::ptr::without_provenance_mut;
1211
use std::sync::atomic::AtomicPtr;

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /