AtomicPrimitive

Trait AtomicPrimitive 

Source
pub unsafe trait AtomicPrimitive:
    Sized
    + Copy
    + Sealed {
    type AtomicInner;
}
๐Ÿ”ฌ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.

ยงSafety

Types implementing this trait must be primitives that can be modified atomically.

The associated Self::AtomicInner type must have the same size and bit validity as Self, but may have a higher alignment requirement, so the following transmutes are sound:

  • &mut Self::AtomicInner as &mut Self
  • Self as Self::AtomicInner or the reverse

Required Associated Typesยง

Source

type AtomicInner

๐Ÿ”ฌ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

Available on target_has_atomic_load_store=8 only.
Sourceยง

impl AtomicPrimitive for i8

Available on target_has_atomic_load_store=8 only.
Sourceยง

impl AtomicPrimitive for i16

Available on target_has_atomic_load_store=16 only.
Sourceยง

impl AtomicPrimitive for i32

Available on target_has_atomic_load_store=32 only.
Sourceยง

impl AtomicPrimitive for i64

Available on target_has_atomic_load_store=64 only.
Sourceยง

impl AtomicPrimitive for i128

Available on target_has_atomic_load_store=128 only.
Sourceยง

impl AtomicPrimitive for isize

Available on target_has_atomic_load_store=ptr only.
Sourceยง

impl AtomicPrimitive for u8

Available on target_has_atomic_load_store=8 only.
Sourceยง

impl AtomicPrimitive for u16

Available on target_has_atomic_load_store=16 only.
Sourceยง

impl AtomicPrimitive for u32

Available on target_has_atomic_load_store=32 only.
Sourceยง

impl AtomicPrimitive for u64

Available on target_has_atomic_load_store=64 only.
Sourceยง

impl AtomicPrimitive for u128

Available on target_has_atomic_load_store=128 only.
Sourceยง

impl AtomicPrimitive for usize

Available on target_has_atomic_load_store=ptr only.
Sourceยง

impl<T> AtomicPrimitive for *mut T

Available on target_has_atomic_load_store=ptr only.