Struct AtomicCell
struct AtomicCell<T> { ... }
A thread-safe mutable memory location.
This type is equivalent to Cell, except it can also be shared among multiple threads.
Operations on AtomicCells use atomic instructions whenever possible, and synchronize using
global locks otherwise. You can call AtomicCell::<T>::is_lock_free() to check whether
atomic instructions or locks will be used.
Atomic loads use the Acquire ordering and atomic stores use the Release ordering.
Implementations
impl AtomicCell<bool>
fn fetch_and(self: &Self, val: bool) -> boolApplies logical "and" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!; assert_eq!; assert_eq!;fn fetch_nand(self: &Self, val: bool) -> boolApplies logical "nand" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!; assert_eq!; assert_eq!; assert_eq!; assert_eq!;fn fetch_or(self: &Self, val: bool) -> boolApplies logical "or" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!; assert_eq!; assert_eq!;fn fetch_xor(self: &Self, val: bool) -> boolApplies logical "xor" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!; assert_eq!; assert_eq!;
impl AtomicCell<i128>
fn fetch_add(self: &Self, val: i128) -> i128Increments the current value by
valand returns the previous value.The addition wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_sub(self: &Self, val: i128) -> i128Decrements the current value by
valand returns the previous value.The subtraction wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_and(self: &Self, val: i128) -> i128Applies bitwise "and" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_nand(self: &Self, val: i128) -> i128Applies bitwise "nand" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_or(self: &Self, val: i128) -> i128Applies bitwise "or" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_xor(self: &Self, val: i128) -> i128Applies bitwise "xor" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_max(self: &Self, val: i128) -> i128Compares and sets the maximum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_min(self: &Self, val: i128) -> i128Compares and sets the minimum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;
impl AtomicCell<i16>
fn fetch_add(self: &Self, val: i16) -> i16Increments the current value by
valand returns the previous value.The addition wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_sub(self: &Self, val: i16) -> i16Decrements the current value by
valand returns the previous value.The subtraction wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_and(self: &Self, val: i16) -> i16Applies bitwise "and" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_nand(self: &Self, val: i16) -> i16Applies bitwise "nand" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_or(self: &Self, val: i16) -> i16Applies bitwise "or" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_xor(self: &Self, val: i16) -> i16Applies bitwise "xor" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_max(self: &Self, val: i16) -> i16Compares and sets the maximum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_min(self: &Self, val: i16) -> i16Compares and sets the minimum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;
impl AtomicCell<i32>
fn fetch_add(self: &Self, val: i32) -> i32Increments the current value by
valand returns the previous value.The addition wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_sub(self: &Self, val: i32) -> i32Decrements the current value by
valand returns the previous value.The subtraction wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_and(self: &Self, val: i32) -> i32Applies bitwise "and" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_nand(self: &Self, val: i32) -> i32Applies bitwise "nand" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_or(self: &Self, val: i32) -> i32Applies bitwise "or" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_xor(self: &Self, val: i32) -> i32Applies bitwise "xor" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_max(self: &Self, val: i32) -> i32Compares and sets the maximum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_min(self: &Self, val: i32) -> i32Compares and sets the minimum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;
impl AtomicCell<i64>
fn fetch_add(self: &Self, val: i64) -> i64Increments the current value by
valand returns the previous value.The addition wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_sub(self: &Self, val: i64) -> i64Decrements the current value by
valand returns the previous value.The subtraction wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_and(self: &Self, val: i64) -> i64Applies bitwise "and" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_nand(self: &Self, val: i64) -> i64Applies bitwise "nand" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_or(self: &Self, val: i64) -> i64Applies bitwise "or" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_xor(self: &Self, val: i64) -> i64Applies bitwise "xor" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_max(self: &Self, val: i64) -> i64Compares and sets the maximum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_min(self: &Self, val: i64) -> i64Compares and sets the minimum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;
impl AtomicCell<i8>
fn fetch_add(self: &Self, val: i8) -> i8Increments the current value by
valand returns the previous value.The addition wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_sub(self: &Self, val: i8) -> i8Decrements the current value by
valand returns the previous value.The subtraction wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_and(self: &Self, val: i8) -> i8Applies bitwise "and" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_nand(self: &Self, val: i8) -> i8Applies bitwise "nand" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_or(self: &Self, val: i8) -> i8Applies bitwise "or" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_xor(self: &Self, val: i8) -> i8Applies bitwise "xor" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_max(self: &Self, val: i8) -> i8Compares and sets the maximum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_min(self: &Self, val: i8) -> i8Compares and sets the minimum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;
impl AtomicCell<isize>
fn fetch_add(self: &Self, val: isize) -> isizeIncrements the current value by
valand returns the previous value.The addition wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_sub(self: &Self, val: isize) -> isizeDecrements the current value by
valand returns the previous value.The subtraction wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_and(self: &Self, val: isize) -> isizeApplies bitwise "and" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_nand(self: &Self, val: isize) -> isizeApplies bitwise "nand" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_or(self: &Self, val: isize) -> isizeApplies bitwise "or" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_xor(self: &Self, val: isize) -> isizeApplies bitwise "xor" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_max(self: &Self, val: isize) -> isizeCompares and sets the maximum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_min(self: &Self, val: isize) -> isizeCompares and sets the minimum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;
impl AtomicCell<u128>
fn fetch_add(self: &Self, val: u128) -> u128Increments the current value by
valand returns the previous value.The addition wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_sub(self: &Self, val: u128) -> u128Decrements the current value by
valand returns the previous value.The subtraction wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_and(self: &Self, val: u128) -> u128Applies bitwise "and" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_nand(self: &Self, val: u128) -> u128Applies bitwise "nand" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_or(self: &Self, val: u128) -> u128Applies bitwise "or" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_xor(self: &Self, val: u128) -> u128Applies bitwise "xor" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_max(self: &Self, val: u128) -> u128Compares and sets the maximum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_min(self: &Self, val: u128) -> u128Compares and sets the minimum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;
impl AtomicCell<u16>
fn fetch_add(self: &Self, val: u16) -> u16Increments the current value by
valand returns the previous value.The addition wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_sub(self: &Self, val: u16) -> u16Decrements the current value by
valand returns the previous value.The subtraction wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_and(self: &Self, val: u16) -> u16Applies bitwise "and" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_nand(self: &Self, val: u16) -> u16Applies bitwise "nand" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_or(self: &Self, val: u16) -> u16Applies bitwise "or" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_xor(self: &Self, val: u16) -> u16Applies bitwise "xor" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_max(self: &Self, val: u16) -> u16Compares and sets the maximum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_min(self: &Self, val: u16) -> u16Compares and sets the minimum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;
impl AtomicCell<u32>
fn fetch_add(self: &Self, val: u32) -> u32Increments the current value by
valand returns the previous value.The addition wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_sub(self: &Self, val: u32) -> u32Decrements the current value by
valand returns the previous value.The subtraction wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_and(self: &Self, val: u32) -> u32Applies bitwise "and" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_nand(self: &Self, val: u32) -> u32Applies bitwise "nand" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_or(self: &Self, val: u32) -> u32Applies bitwise "or" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_xor(self: &Self, val: u32) -> u32Applies bitwise "xor" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_max(self: &Self, val: u32) -> u32Compares and sets the maximum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_min(self: &Self, val: u32) -> u32Compares and sets the minimum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;
impl AtomicCell<u64>
fn fetch_add(self: &Self, val: u64) -> u64Increments the current value by
valand returns the previous value.The addition wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_sub(self: &Self, val: u64) -> u64Decrements the current value by
valand returns the previous value.The subtraction wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_and(self: &Self, val: u64) -> u64Applies bitwise "and" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_nand(self: &Self, val: u64) -> u64Applies bitwise "nand" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_or(self: &Self, val: u64) -> u64Applies bitwise "or" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_xor(self: &Self, val: u64) -> u64Applies bitwise "xor" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_max(self: &Self, val: u64) -> u64Compares and sets the maximum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_min(self: &Self, val: u64) -> u64Compares and sets the minimum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;
impl AtomicCell<u8>
fn fetch_add(self: &Self, val: u8) -> u8Increments the current value by
valand returns the previous value.The addition wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_sub(self: &Self, val: u8) -> u8Decrements the current value by
valand returns the previous value.The subtraction wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_and(self: &Self, val: u8) -> u8Applies bitwise "and" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_nand(self: &Self, val: u8) -> u8Applies bitwise "nand" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_or(self: &Self, val: u8) -> u8Applies bitwise "or" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_xor(self: &Self, val: u8) -> u8Applies bitwise "xor" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_max(self: &Self, val: u8) -> u8Compares and sets the maximum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_min(self: &Self, val: u8) -> u8Compares and sets the minimum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;
impl AtomicCell<usize>
fn fetch_add(self: &Self, val: usize) -> usizeIncrements the current value by
valand returns the previous value.The addition wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_sub(self: &Self, val: usize) -> usizeDecrements the current value by
valand returns the previous value.The subtraction wraps on overflow.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_and(self: &Self, val: usize) -> usizeApplies bitwise "and" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_nand(self: &Self, val: usize) -> usizeApplies bitwise "nand" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_or(self: &Self, val: usize) -> usizeApplies bitwise "or" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_xor(self: &Self, val: usize) -> usizeApplies bitwise "xor" to the current value and returns the previous value.
Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_max(self: &Self, val: usize) -> usizeCompares and sets the maximum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;fn fetch_min(self: &Self, val: usize) -> usizeCompares and sets the minimum of the current value and
val, and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!;
impl<T> AtomicCell<T>
const fn new(val: T) -> AtomicCell<T>Creates a new atomic cell initialized with
val.Examples
use AtomicCell; let a = new;fn into_inner(self: Self) -> TConsumes the atomic and returns the contained value.
This is safe because passing
selfby value guarantees that no other threads are concurrently accessing the atomic data.Examples
use AtomicCell; let a = new; let v = a.into_inner; assert_eq!;const fn is_lock_free() -> boolReturns
trueif operations on values of this type are lock-free.If the compiler or the platform doesn't support the necessary atomic instructions,
AtomicCell<T>will use global locks for every potentially concurrent atomic operation.Examples
use AtomicCell; // This type is internally represented as `AtomicUsize` so we can just use atomic // operations provided by it. assert_eq!; // A wrapper struct around `isize`. // `AtomicCell<Foo>` will be internally represented as `AtomicIsize`. assert_eq!; // Operations on zero-sized types are always lock-free. assert_eq!; // Very large types cannot be represented as any of the standard atomic types, so atomic // operations on them will have to use global locks for synchronization. assert_eq!;fn store(self: &Self, val: T)Stores
valinto the atomic cell.Examples
use AtomicCell; let a = new; assert_eq!; a.store; assert_eq!;fn swap(self: &Self, val: T) -> TStores
valinto the atomic cell and returns the previous value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!; assert_eq!;fn as_ptr(self: &Self) -> *mut TReturns a raw pointer to the underlying data in this atomic cell.
Examples
use AtomicCell; let a = new; let ptr = a.as_ptr;
impl<T: Copy + Eq> AtomicCell<T>
fn compare_and_swap(self: &Self, current: T, new: T) -> TIf the current value equals
current, storesnewinto the atomic cell.The return value is always the previous value. If it is equal to
current, then the value was updated.Examples
# use AtomicCell; let a = new; assert_eq!; assert_eq!; assert_eq!; assert_eq!;fn compare_exchange(self: &Self, current: T, new: T) -> Result<T, T>If the current value equals
current, storesnewinto the atomic cell.The return value is a result indicating whether the new value was written and containing the previous value. On success this value is guaranteed to be equal to
current.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!; assert_eq!; assert_eq!;fn fetch_update<F>(self: &Self, f: F) -> Result<T, T> where F: FnMut(T) -> Option<T>Fetches the value, and applies a function to it that returns an optional new value. Returns a
ResultofOk(previous_value)if the function returnedSome(_), elseErr(previous_value).Note: This may call the function multiple times if the value has been changed from other threads in the meantime, as long as the function returns
Some(_), but the function will have been applied only once to the stored value.Examples
use AtomicCell; let a = new; assert_eq!; assert_eq!; assert_eq!; assert_eq!;
impl<T: Copy> AtomicCell<T>
fn load(self: &Self) -> TLoads a value from the atomic cell.
Examples
use AtomicCell; let a = new; assert_eq!;
impl<T: Default> AtomicCell<T>
fn take(self: &Self) -> TTakes the value of the atomic cell, leaving
Default::default()in its place.Examples
use AtomicCell; let a = new; let five = a.take; assert_eq!; assert_eq!;
impl<T> Any for AtomicCell<T>
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for AtomicCell<T>
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for AtomicCell<T>
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> Drop for AtomicCell<T>
fn drop(self: &mut Self)
impl<T> Freeze for AtomicCell<T>
impl<T> From for AtomicCell<T>
fn from(t: never) -> T
impl<T> From for AtomicCell<T>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> From for AtomicCell<T>
fn from(val: T) -> AtomicCell<T>
impl<T> RefUnwindSafe for AtomicCell<T>
impl<T> Unpin for AtomicCell<T>
impl<T> UnwindSafe for AtomicCell<T>
impl<T, U> Into for AtomicCell<T>
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for AtomicCell<T>
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for AtomicCell<T>
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>
impl<T: Copy + fmt::Debug> Debug for AtomicCell<T>
fn fmt(self: &Self, f: &mut fmt::Formatter<'_>) -> fmt::Result
impl<T: Default> Default for AtomicCell<T>
fn default() -> AtomicCell<T>