# 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.36"
name = "crossbeam-epoch"
version = "0.9.7"
description = "Epoch-based garbage collection"
homepage = "https://github.com/crossbeam-rs/crossbeam/tree/master/crossbeam-epoch"
keywords = [
    "lock-free",
    "rcu",
    "atomic",
    "garbage",
]
categories = [
    "concurrency",
    "memory-management",
    "no-std",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/crossbeam-rs/crossbeam"

[dependencies.cfg-if]
version = "1"

[dependencies.const_fn]
version = "0.4.4"
optional = true

[dependencies.crossbeam-utils]
version = "0.8.5"
default-features = false

[dependencies.lazy_static]
version = "1.4.0"
optional = true

[dependencies.memoffset]
version = "0.6"

[dependencies.scopeguard]
version = "1.1.0"
default-features = false

[dev-dependencies.rand]
version = "0.8"

[features]
alloc = []
default = ["std"]
loom = [
    "loom-crate",
    "crossbeam-utils/loom",
]
nightly = [
    "crossbeam-utils/nightly",
    "const_fn",
]
std = [
    "alloc",
    "crossbeam-utils/std",
    "lazy_static",
]

[target."cfg(crossbeam_loom)".dependencies.loom-crate]
version = "0.5"
optional = true
package = "loom"
