# 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 believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
name = "crossbeam"
version = "0.7.3"
authors = ["The Crossbeam Project Developers"]
exclude = ["/ci/*", "/.travis.yml", "/bors.toml"]
description = "Tools for concurrent programming"
homepage = "https://github.com/crossbeam-rs/crossbeam"
documentation = "https://docs.rs/crossbeam"
readme = "README.md"
keywords = ["atomic", "garbage", "non-blocking", "lock-free", "rcu"]
categories = ["concurrency", "memory-management", "data-structures", "no-std"]
license = "MIT/Apache-2.0"
repository = "https://github.com/crossbeam-rs/crossbeam"
[dependencies.cfg-if]
version = "0.1.2"

[dependencies.crossbeam-channel]
version = "0.4"
optional = true

[dependencies.crossbeam-deque]
version = "0.7.0"
optional = true

[dependencies.crossbeam-epoch]
version = "0.8"
default-features = false

[dependencies.crossbeam-queue]
version = "0.2"
optional = true

[dependencies.crossbeam-utils]
version = "0.7"
default-features = false
[dev-dependencies.rand]
version = "0.6"

[features]
alloc = ["crossbeam-epoch/alloc", "crossbeam-utils/alloc"]
default = ["std"]
nightly = ["crossbeam-epoch/nightly", "crossbeam-utils/nightly"]
std = ["crossbeam-channel", "crossbeam-deque", "crossbeam-epoch/std", "crossbeam-queue", "crossbeam-utils/std"]
[badges.travis-ci]
repository = "crossbeam-rs/crossbeam"
