# 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]
edition = "2018"
name = "hashbrown"
version = "0.2.2"
authors = ["Amanieu d'Antras <amanieu@gmail.com>"]
exclude = [".travis.yml", "bors.toml", "/ci/*"]
description = "A Rust port of Google's SwissTable hash map"
readme = "README.md"
keywords = ["hash", "no_std", "hashmap", "swisstable"]
categories = ["data-structures", "no-std"]
license = "Apache-2.0/MIT"
repository = "https://github.com/Amanieu/hashbrown"
[dependencies.alloc]
version = "1.0.0"
optional = true
package = "rustc-std-workspace-alloc"

[dependencies.compiler_builtins]
version = "0.1.2"
optional = true

[dependencies.core]
version = "1.0.0"
optional = true
package = "rustc-std-workspace-core"

[dependencies.rayon]
version = "1.0"
optional = true

[dependencies.serde]
version = "1.0.25"
optional = true
default-features = false
[dev-dependencies.lazy_static]
version = "~1.2"

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

[dev-dependencies.rayon]
version = "1.0"

[dev-dependencies.rustc-hash]
version = "1.0"

[dev-dependencies.serde_test]
version = "1.0"

[features]
default = []
nightly = []
rustc-dep-of-std = ["nightly", "core", "compiler_builtins", "alloc"]
