# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
rust-version = "1.34"
name = "portable-atomic"
version = "1.9.0"
build = "build.rs"
exclude = [
    "/.*",
    "/tools",
    "/target-specs",
    "/DEVELOPMENT.md",
]
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
Portable atomic types including support for 128-bit atomics, atomic float, etc.
"""
readme = "README.md"
keywords = ["atomic"]
categories = [
    "concurrency",
    "embedded",
    "hardware-support",
    "no-std",
    "no-std::no-alloc",
]
license = "Apache-2.0 OR MIT"
repository = "https://github.com/taiki-e/portable-atomic"

[package.metadata.cargo_check_external_types]
allowed_external_types = ["serde::*"]

[package.metadata.docs.rs]
features = [
    "float",
    "std",
    "serde",
    "critical-section",
]
targets = ["x86_64-unknown-linux-gnu"]

[lib]
name = "portable_atomic"
path = "src/lib.rs"
doc-scrape-examples = false

[dependencies.critical-section]
version = "1"
optional = true

[dependencies.serde]
version = "1.0.60"
optional = true
default-features = false

[dev-dependencies.build-context]
version = "0.1"

[dev-dependencies.crossbeam-utils]
version = "=0.8.16"

[dev-dependencies.fastrand]
version = "2"

[dev-dependencies.paste]
version = "1"

[dev-dependencies.sptr]
version = "0.3"

[dev-dependencies.static_assertions]
version = "1"

[features]
default = ["fallback"]
disable-fiq = []
fallback = []
float = []
force-amo = []
require-cas = []
s-mode = []
std = []
unsafe-assume-single-core = []

[lints.clippy]
all = "warn"
as_ptr_cast_mut = "warn"
as_underscore = "warn"
default_union_representation = "warn"
inline_asm_x86_att_syntax = "warn"
pedantic = "warn"
trailing_empty_array = "warn"
transmute_undefined_repr = "warn"
undocumented_unsafe_blocks = "warn"

[lints.clippy.bool_assert_comparison]
level = "allow"
priority = 1

[lints.clippy.borrow_as_ptr]
level = "allow"
priority = 1

[lints.clippy.cast_lossless]
level = "allow"
priority = 1

[lints.clippy.declare_interior_mutable_const]
level = "allow"
priority = 1

[lints.clippy.doc_markdown]
level = "allow"
priority = 1

[lints.clippy.float_cmp]
level = "allow"
priority = 1

[lints.clippy.incompatible_msrv]
level = "allow"
priority = 1

[lints.clippy.lint_groups_priority]
level = "allow"
priority = 1

[lints.clippy.manual_assert]
level = "allow"
priority = 1

[lints.clippy.manual_range_contains]
level = "allow"
priority = 1

[lints.clippy.missing_errors_doc]
level = "allow"
priority = 1

[lints.clippy.module_name_repetitions]
level = "allow"
priority = 1

[lints.clippy.naive_bytecount]
level = "allow"
priority = 1

[lints.clippy.nonminimal_bool]
level = "allow"
priority = 1

[lints.clippy.range_plus_one]
level = "allow"
priority = 1

[lints.clippy.similar_names]
level = "allow"
priority = 1

[lints.clippy.single_match]
level = "allow"
priority = 1

[lints.clippy.single_match_else]
level = "allow"
priority = 1

[lints.clippy.struct_excessive_bools]
level = "allow"
priority = 1

[lints.clippy.struct_field_names]
level = "allow"
priority = 1

[lints.clippy.too_many_arguments]
level = "allow"
priority = 1

[lints.clippy.too_many_lines]
level = "allow"
priority = 1

[lints.clippy.type_complexity]
level = "allow"
priority = 1

[lints.clippy.unreadable_literal]
level = "allow"
priority = 1

[lints.rust]
deprecated_safe = "warn"
improper_ctypes = "warn"
improper_ctypes_definitions = "warn"
non_ascii_idents = "warn"
rust_2018_idioms = "warn"
single_use_lifetimes = "warn"
unreachable_pub = "warn"

[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
    'cfg(target_arch,values("xtensa"))',
    'cfg(target_feature,values("lse2","lse128","rcpc3"))',
    'cfg(target_feature,values("quadword-atomics"))',
    'cfg(target_pointer_width,values("128"))',
    "cfg(portable_atomic_test_outline_atomics_detect_false,qemu,valgrind)",
    "cfg(portable_atomic_no_outline_atomics,portable_atomic_outline_atomics)",
]
