Rollup merge of #107706 - tgross35:atomic-as-mut-ptr, r=m-ou-se
Mark 'atomic_mut_ptr' methods const There's nothing that would block these methods from being const (just an UnsafeCell get), and it would be helpful for FFI interfaces in static contexts Related tracking issue: #66893
This commit is contained in:
commit
e45984b774
@ -928,8 +928,8 @@ pub fn fetch_not(&self, order: Ordering) -> bool {
|
||||
/// ```
|
||||
#[inline]
|
||||
#[unstable(feature = "atomic_mut_ptr", reason = "recently added", issue = "66893")]
|
||||
pub fn as_mut_ptr(&self) -> *mut bool {
|
||||
self.v.get() as *mut bool
|
||||
pub const fn as_mut_ptr(&self) -> *mut bool {
|
||||
self.v.get().cast()
|
||||
}
|
||||
|
||||
/// Fetches the value, and applies a function to it that returns an optional
|
||||
@ -1803,7 +1803,7 @@ pub fn fetch_xor(&self, val: usize, order: Ordering) -> *mut T {
|
||||
///
|
||||
/// ```ignore (extern-declaration)
|
||||
/// #![feature(atomic_mut_ptr)]
|
||||
//// use std::sync::atomic::AtomicPtr;
|
||||
/// use std::sync::atomic::AtomicPtr;
|
||||
///
|
||||
/// extern "C" {
|
||||
/// fn my_atomic_op(arg: *mut *mut u32);
|
||||
@ -1819,7 +1819,7 @@ pub fn fetch_xor(&self, val: usize, order: Ordering) -> *mut T {
|
||||
/// ```
|
||||
#[inline]
|
||||
#[unstable(feature = "atomic_mut_ptr", reason = "recently added", issue = "66893")]
|
||||
pub fn as_mut_ptr(&self) -> *mut *mut T {
|
||||
pub const fn as_mut_ptr(&self) -> *mut *mut T {
|
||||
self.p.get()
|
||||
}
|
||||
}
|
||||
@ -2727,7 +2727,7 @@ pub fn fetch_min(&self, val: $int_type, order: Ordering) -> $int_type {
|
||||
#[unstable(feature = "atomic_mut_ptr",
|
||||
reason = "recently added",
|
||||
issue = "66893")]
|
||||
pub fn as_mut_ptr(&self) -> *mut $int_type {
|
||||
pub const fn as_mut_ptr(&self) -> *mut $int_type {
|
||||
self.v.get()
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user