portable-atomic 0.3.20

Portable atomic types including support for 128-bit atomics, atomic float, etc.
Documentation
[package]
name = "portable-atomic"
version = "0.3.20"
edition = "2018"
rust-version = "1.34"
license = "Apache-2.0 OR MIT"
repository = "https://github.com/taiki-e/portable-atomic"
keywords = ["atomic"]
categories = ["concurrency", "data-structures", "embedded", "hardware-support", "no-std"]
exclude = ["/.*", "/tools", "/target-specs"]
description = """
Portable atomic types including support for 128-bit atomics, atomic float, etc.
"""

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
targets = ["x86_64-unknown-linux-gnu"]

[workspace]
members = [
    "tests/api-test",
]

[lib]
doc-scrape-examples = false

[features]
default = ["fallback"]

# (enabled by default) Enable fallback implementations.
#
# Disabling this allows only atomic types for which the platform natively supports atomic operations.
fallback = ["portable-atomic-v1/fallback"]

# 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.
float = ["portable-atomic-v1/float"]

# Use `std`.
std = ["portable-atomic-v1/std"]

# no-op since 0.3.19 (removed in 1.0)
outline-atomics = []

# Note: serde is public dependencies.
[dependencies]
portable-atomic-v1 = { package = "portable-atomic", version = "1.3", default-features = false }

# Implements serde::{Serialize,Deserialize} for atomic types.
#
# Note:
# - The MSRV when this feature enables depends on the MSRV of serde.
serde = { version = "1.0.103", optional = true, default-features = false }

[dev-dependencies]
crossbeam-utils = "0.8"
fastrand = "1"
paste = "1"
quickcheck = { default-features = false, git = "https://github.com/taiki-e/quickcheck.git", branch = "dev" } # https://github.com/BurntSushi/quickcheck/pull/304 + https://github.com/BurntSushi/quickcheck/pull/282 + lower MSRV
serde = { version = "1", features = ["derive"] }
serde_test = "1"
sptr = "0.3"
static_assertions = "1"