pub trait AtomicP<U>: Sized {
// Required methods
fn atomic_load(&self, order: Ordering) -> Self;
fn atomic_store(&self, val: Self, order: Ordering);
fn atomic_swap(&self, val: Self, order: Ordering) -> Self;
fn atomic_compare_exchange(
&self,
current: Self,
new: Self,
success: Ordering,
failure: Ordering,
) -> Result<Self, Self>;
fn atomic_compare_exchange_weak(
&self,
current: Self,
new: Self,
success: Ordering,
failure: Ordering,
) -> Result<Self, Self>;
}Required Methods§
fn atomic_load(&self, order: Ordering) -> Self
fn atomic_store(&self, val: Self, order: Ordering)
fn atomic_swap(&self, val: Self, order: Ordering) -> Self
fn atomic_compare_exchange( &self, current: Self, new: Self, success: Ordering, failure: Ordering, ) -> Result<Self, Self>
fn atomic_compare_exchange_weak( &self, current: Self, new: Self, success: Ordering, failure: Ordering, ) -> Result<Self, Self>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.