atomint/
lib.rs

1use std::sync::atomic::{
2    AtomicI8, AtomicI16, AtomicI32, AtomicI64, AtomicU8, AtomicU16, AtomicU32, AtomicU64,
3};
4
5pub trait AtomicInt {
6    type Atomic;
7}
8
9impl AtomicInt for i8 {
10    type Atomic = AtomicI8;
11}
12impl AtomicInt for i16 {
13    type Atomic = AtomicI16;
14}
15impl AtomicInt for i32 {
16    type Atomic = AtomicI32;
17}
18impl AtomicInt for i64 {
19    type Atomic = AtomicI64;
20}
21impl AtomicInt for u8 {
22    type Atomic = AtomicU8;
23}
24impl AtomicInt for u16 {
25    type Atomic = AtomicU16;
26}
27impl AtomicInt for u32 {
28    type Atomic = AtomicU32;
29}
30impl AtomicInt for u64 {
31    type Atomic = AtomicU64;
32}