1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
[]
= "portable-atomic"
= "0.3.5" #publish:version
= "2018"
= "1.34"
= "Apache-2.0 OR MIT"
= "https://github.com/taiki-e/portable-atomic"
= ["atomic"]
= ["concurrency", "data-structures", "embedded", "hardware-support", "no-std"]
= ["/.*", "/tools"]
= """
Portable atomic types including support for 128-bit atomics, atomic float, etc.
"""
[]
= true
= ["--cfg", "docsrs"]
= ["x86_64-unknown-linux-gnu"]
[]
= [
"bench",
"tests/no-std",
]
[]
= ["fallback"]
# (enabled by default) Enable fallback implementations.
#
# Disabling this allows only atomic types for which the platform natively supports atomic operations.
= []
# Enable run-time CPU feature detection.
#
# This allows maintaining support for older CPUs while using features that are not supported on older CPUs, such as cmpxchg16b (x86_64) and LSE (aarch64).
#
# Note:
# - Dynamic detection is currently only enabled in Rust 1.61+ for aarch64 and in nightly for other platforms, otherwise it works the same as the default.
# - If the required target features are enabled at compile-time, the atomic operations are inlined.
# - This is compatible with no-std (as with all features except `std`).
= []
# Provide `AtomicF{32,64}`.
# Note that most of `fetch_*` operations of atomic floats are implemented using CAS loops, which can be slower than equivalent operations of atomic integers.
= []
# TODO
# # Provides generic `atomic<t>` type.
# generic = []
# Use `std`.
= []
# Note: serde is public dependencies.
[]
# Implements serde::{Serialize,Deserialize} for atomic types.
#
# Note:
# - The MSRV when this feature enables depends on the MSRV of serde.
= { = "1.0.103", = true, = false }
[]
= "0.8"
= "1"
= "1"
= { = false, = "https://github.com/taiki-e/quickcheck.git", = "dev" } # https://github.com/BurntSushi/quickcheck/pull/304 + https://github.com/BurntSushi/quickcheck/pull/282 + lower MSRV
= { = "1", = ["derive"] }
= "1"
= "1"