Skip to main content

AtomicImpl

Trait AtomicImpl 

Source
pub trait AtomicImpl:
    Sized
    + Send
    + Copy
    + Sealed {
    type Delta;
}
Expand description

A marker trait for types that implement atomic operations with C side primitives.

This trait is sealed, and only types that map directly to the C side atomics or can be implemented with lower-level C primitives are allowed to implement this:

  • i8 and i16 are implemented with lower-level C primitives.
  • i32 map to atomic_t
  • i64 map to atomic64_t

Required Associated Types§

Source

type Delta

The type of the delta in arithmetic or logical operations.

For example, in atomic_add(ptr, v), it’s the type of v. Usually it’s the same type of Self, but it may be different for the atomic pointer type.

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.

Implementations on Foreign Types§

Source§

impl AtomicImpl for i8

Available on CONFIG_ARCH_SUPPORTS_ATOMIC_RMW only.
Source§

impl AtomicImpl for i16

Available on CONFIG_ARCH_SUPPORTS_ATOMIC_RMW only.
Source§

impl AtomicImpl for i32

Source§

impl AtomicImpl for i64

Implementors§