@@ -2199,7 +2199,6 @@ impl<T> AtomicPtr<T> {
2199
2199
/// # Examples
2200
2200
///
2201
2201
/// ```
2202
- /// #![feature(strict_provenance_atomic_ptr)]
2203
2202
/// use core::sync::atomic::{AtomicPtr, Ordering};
2204
2203
///
2205
2204
/// let atom = AtomicPtr::<i64>::new(core::ptr::null_mut());
@@ -2209,7 +2208,7 @@ impl<T> AtomicPtr<T> {
2209
2208
/// ```
2210
2209
#[ inline]
2211
2210
#[ 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 " ) ]
2213
2212
#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
2214
2213
pub fn fetch_ptr_add ( & self , val : usize , order : Ordering ) -> * mut T {
2215
2214
self . fetch_byte_add ( val. wrapping_mul ( size_of :: < T > ( ) ) , order)
@@ -2240,7 +2239,6 @@ impl<T> AtomicPtr<T> {
2240
2239
/// # Examples
2241
2240
///
2242
2241
/// ```
2243
- /// #![feature(strict_provenance_atomic_ptr)]
2244
2242
/// use core::sync::atomic::{AtomicPtr, Ordering};
2245
2243
///
2246
2244
/// let array = [1i32, 2i32];
@@ -2254,7 +2252,7 @@ impl<T> AtomicPtr<T> {
2254
2252
/// ```
2255
2253
#[ inline]
2256
2254
#[ 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 " ) ]
2258
2256
#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
2259
2257
pub fn fetch_ptr_sub ( & self , val : usize , order : Ordering ) -> * mut T {
2260
2258
self . fetch_byte_sub ( val. wrapping_mul ( size_of :: < T > ( ) ) , order)
@@ -2279,7 +2277,6 @@ impl<T> AtomicPtr<T> {
2279
2277
/// # Examples
2280
2278
///
2281
2279
/// ```
2282
- /// #![feature(strict_provenance_atomic_ptr)]
2283
2280
/// use core::sync::atomic::{AtomicPtr, Ordering};
2284
2281
///
2285
2282
/// let atom = AtomicPtr::<i64>::new(core::ptr::null_mut());
@@ -2289,7 +2286,7 @@ impl<T> AtomicPtr<T> {
2289
2286
/// ```
2290
2287
#[ inline]
2291
2288
#[ 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 " ) ]
2293
2290
#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
2294
2291
pub fn fetch_byte_add ( & self , val : usize , order : Ordering ) -> * mut T {
2295
2292
// SAFETY: data races are prevented by atomic intrinsics.
@@ -2315,7 +2312,6 @@ impl<T> AtomicPtr<T> {
2315
2312
/// # Examples
2316
2313
///
2317
2314
/// ```
2318
- /// #![feature(strict_provenance_atomic_ptr)]
2319
2315
/// use core::sync::atomic::{AtomicPtr, Ordering};
2320
2316
///
2321
2317
/// let mut arr = [0i64, 1];
@@ -2325,7 +2321,7 @@ impl<T> AtomicPtr<T> {
2325
2321
/// ```
2326
2322
#[ inline]
2327
2323
#[ 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 " ) ]
2329
2325
#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
2330
2326
pub fn fetch_byte_sub ( & self , val : usize , order : Ordering ) -> * mut T {
2331
2327
// SAFETY: data races are prevented by atomic intrinsics.
@@ -2361,7 +2357,6 @@ impl<T> AtomicPtr<T> {
2361
2357
/// # Examples
2362
2358
///
2363
2359
/// ```
2364
- /// #![feature(strict_provenance_atomic_ptr)]
2365
2360
/// use core::sync::atomic::{AtomicPtr, Ordering};
2366
2361
///
2367
2362
/// let pointer = &mut 3i64 as *mut i64;
@@ -2376,7 +2371,7 @@ impl<T> AtomicPtr<T> {
2376
2371
/// ```
2377
2372
#[ inline]
2378
2373
#[ 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 " ) ]
2380
2375
#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
2381
2376
pub fn fetch_or ( & self , val : usize , order : Ordering ) -> * mut T {
2382
2377
// SAFETY: data races are prevented by atomic intrinsics.
@@ -2412,7 +2407,6 @@ impl<T> AtomicPtr<T> {
2412
2407
/// # Examples
2413
2408
///
2414
2409
/// ```
2415
- /// #![feature(strict_provenance_atomic_ptr)]
2416
2410
/// use core::sync::atomic::{AtomicPtr, Ordering};
2417
2411
///
2418
2412
/// let pointer = &mut 3i64 as *mut i64;
@@ -2426,7 +2420,7 @@ impl<T> AtomicPtr<T> {
2426
2420
/// ```
2427
2421
#[ inline]
2428
2422
#[ 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 " ) ]
2430
2424
#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
2431
2425
pub fn fetch_and ( & self , val : usize , order : Ordering ) -> * mut T {
2432
2426
// SAFETY: data races are prevented by atomic intrinsics.
@@ -2462,7 +2456,6 @@ impl<T> AtomicPtr<T> {
2462
2456
/// # Examples
2463
2457
///
2464
2458
/// ```
2465
- /// #![feature(strict_provenance_atomic_ptr)]
2466
2459
/// use core::sync::atomic::{AtomicPtr, Ordering};
2467
2460
///
2468
2461
/// let pointer = &mut 3i64 as *mut i64;
@@ -2474,7 +2467,7 @@ impl<T> AtomicPtr<T> {
2474
2467
/// ```
2475
2468
#[ inline]
2476
2469
#[ 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 " ) ]
2478
2471
#[ cfg_attr( miri, track_caller) ] // even without panics, this helps for Miri backtraces
2479
2472
pub fn fetch_xor ( & self , val : usize , order : Ordering ) -> * mut T {
2480
2473
// SAFETY: data races are prevented by atomic intrinsics.
0 commit comments