# 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"
name = "atomic"
version = "0.6.0"
authors = ["Amanieu d'Antras <amanieu@gmail.com>"]
description = "Generic Atomic<T> wrapper type"
readme = "README.md"
keywords = [
    "atomic",
    "no_std",
]
license = "Apache-2.0/MIT"
repository = "https://github.com/Amanieu/atomic-rs"

[dependencies.bytemuck]
version = "1.13.1"

[dev-dependencies.bytemuck]
version = "1.13.1"
features = ["derive"]

[features]
default = ["fallback"]
fallback = []
nightly = []
std = []
