Skip to main content

AtomicPrimitive

Trait AtomicPrimitive 

Source
pub unsafe trait AtomicPrimitive:
    Sized
    + Copy
    + Sealed {
    type Storage: Sized;
}
🔬This is a nightly-only experimental API. (atomic_internals)
Expand description

A marker trait for primitive types which can be modified atomically.

This is an implementation detail for Atomic<T> which may disappear or be replaced at any time.

Required Associated Types§

Source

type Storage: Sized

🔬This is a nightly-only experimental API. (atomic_internals)

Temporary implementation detail.

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.

Implementors§

Source§

impl AtomicPrimitive for bool

Source§

type Storage = Align1<u8>

Source§

impl AtomicPrimitive for i8

Source§

type Storage = Align1<i8>

Source§

impl AtomicPrimitive for i16

Source§

type Storage = Align2<i16>

Source§

impl AtomicPrimitive for i32

Source§

type Storage = Align4<i32>

Source§

impl AtomicPrimitive for i64

Source§

type Storage = Align8<i64>

Source§

impl AtomicPrimitive for i128

Available on target_has_atomic_load_store=128 only.
Source§

type Storage = Align16<i128>

Source§

impl AtomicPrimitive for isize

Source§

type Storage = Align8<isize>

Source§

impl AtomicPrimitive for u8

Source§

type Storage = Align1<u8>

Source§

impl AtomicPrimitive for u16

Source§

type Storage = Align2<u16>

Source§

impl AtomicPrimitive for u32

Source§

type Storage = Align4<u32>

Source§

impl AtomicPrimitive for u64

Source§

type Storage = Align8<u64>

Source§

impl AtomicPrimitive for u128

Available on target_has_atomic_load_store=128 only.
Source§

type Storage = Align16<u128>

Source§

impl AtomicPrimitive for usize

Source§

type Storage = Align8<usize>

Source§

impl<T> AtomicPrimitive for *mut T

Source§

type Storage = Align8<*mut T>