# 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 = "2024" rust-version = "1.85.0" name = "hashbrown" version = "0.17.1" build = false exclude = [ ".github", "/ci/*", ] autolib = false autobins = false autoexamples = false autotests = false autobenches = false 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 = "MIT OR Apache-2.0" repository = "https://github.com/rust-lang/hashbrown" [package.metadata.docs.rs] features = [ "nightly", "rayon", "serde", "raw-entry", ] rustdoc-args = ["--generate-link-to-definition"] [features] default = [ "default-hasher", "inline-more", "allocator-api2", "equivalent", "raw-entry", ] default-hasher = ["dep:foldhash"] inline-more = [] nightly = [ "foldhash?/nightly", "bumpalo/allocator_api", ] raw-entry = [] rustc-dep-of-std = [ "nightly", "core", "alloc", "rustc-internal-api", ] rustc-internal-api = [] serde = [ "dep:serde_core", "dep:serde", ] [lib] name = "hashbrown" path = "src/lib.rs" [[test]] name = "equivalent_trait" path = "tests/equivalent_trait.rs" [[test]] name = "hasher" path = "tests/hasher.rs" [[test]] name = "hasher_unwind" path = "tests/hasher_unwind.rs" [[test]] name = "rayon" path = "tests/rayon.rs" [[test]] name = "serde" path = "tests/serde.rs" [[test]] name = "set" path = "tests/set.rs" [[bench]] name = "bench" path = "benches/bench.rs" harness = false [dependencies.alloc] version = "1.0.0" optional = true package = "rustc-std-workspace-alloc" [dependencies.allocator-api2] version = "0.2.9" features = ["alloc"] optional = true default-features = false [dependencies.core] version = "1.0.0" optional = true package = "rustc-std-workspace-core" [dependencies.equivalent] version = "1.0" optional = true default-features = false [dependencies.foldhash] version = "0.2.0" optional = true default-features = false [dependencies.rayon] version = "1.9.0" optional = true [dependencies.serde_core] version = "1.0.221" optional = true default-features = false [dev-dependencies.bumpalo] version = "3.13.0" features = ["allocator-api2"] [dev-dependencies.criterion] version = "0.7" features = ["html_reports"] [dev-dependencies.fnv] version = "1.0.7" [dev-dependencies.rand] version = "0.9.0" features = ["small_rng"] [dev-dependencies.rayon] version = "1.2" [dev-dependencies.serde_test] version = "1.0" [target."cfg(any())".dependencies.serde] version = "1.0.220" optional = true default-features = false [target."cfg(unix)".dev-dependencies.libc] version = "0.2.155" [lints.clippy] borrow_as_ptr = "warn" doc_markdown = "allow" manual_let_else = "warn" manual_map = "allow" missing_errors_doc = "allow" missing_safety_doc = "allow" module_name_repetitions = "allow" must_use_candidate = "allow" needless_continue = "warn" option_if_let_else = "allow" ptr_as_ptr = "warn" ptr_cast_constness = "warn" redundant_else = "warn" ref_as_ptr = "warn" semicolon_if_nothing_returned = "warn" str_to_string = "warn" [lints.rust] bare_trait_objects = "warn" elided_lifetimes_in_paths = "warn" ellipsis_inclusive_range_patterns = "warn" explicit_outlives_requirements = "warn" missing_docs = "warn" unreachable_pub = "warn" unsafe_op_in_unsafe_fn = "warn" unused_extern_crates = "warn"