1 | [package] |
2 | name = "hashbrown" |
3 | version = "0.14.3" |
4 | authors = ["Amanieu d'Antras <amanieu@gmail.com>" ] |
5 | description = "A Rust port of Google's SwissTable hash map" |
6 | license = "MIT OR Apache-2.0" |
7 | repository = "https://github.com/rust-lang/hashbrown" |
8 | readme = "README.md" |
9 | keywords = ["hash" , "no_std" , "hashmap" , "swisstable" ] |
10 | categories = ["data-structures" , "no-std" ] |
11 | exclude = [".github" , "/ci/*" ] |
12 | edition = "2021" |
13 | rust-version = "1.63.0" |
14 | |
15 | [dependencies] |
16 | # For the default hasher |
17 | ahash = { version = "0.8.6" , default-features = false, optional = true } |
18 | |
19 | # For external trait impls |
20 | rayon = { version = "1.0" , optional = true } |
21 | serde = { version = "1.0.25" , default-features = false, optional = true } |
22 | rkyv = { version = "0.7.42" , optional = true, default-features = false, features = [ |
23 | "alloc" , |
24 | ] } |
25 | |
26 | # When built as part of libstd |
27 | core = { version = "1.0.0" , optional = true, package = "rustc-std-workspace-core" } |
28 | compiler_builtins = { version = "0.1.2" , optional = true } |
29 | alloc = { version = "1.0.0" , optional = true, package = "rustc-std-workspace-alloc" } |
30 | |
31 | # Support for allocators that use allocator-api2 |
32 | allocator-api2 = { version = "0.2.9" , optional = true, default-features = false, features = [ |
33 | "alloc" , |
34 | ] } |
35 | |
36 | # Equivalent trait which can be shared with other hash table implementations. |
37 | equivalent = { version = "1.0" , optional = true, default-features = false } |
38 | |
39 | [dev-dependencies] |
40 | lazy_static = "1.4" |
41 | rand = { version = "0.8.3" , features = ["small_rng" ] } |
42 | rayon = "1.0" |
43 | fnv = "1.0.7" |
44 | serde_test = "1.0" |
45 | doc-comment = "0.3.1" |
46 | bumpalo = { version = "3.13.0" , features = ["allocator-api2" ] } |
47 | rkyv = { version = "0.7.42" , features = ["validation" ] } |
48 | |
49 | [features] |
50 | default = ["ahash" , "inline-more" , "allocator-api2" ] |
51 | |
52 | nightly = ["allocator-api2?/nightly" , "bumpalo/allocator_api" ] |
53 | |
54 | rustc-internal-api = [] |
55 | rustc-dep-of-std = [ |
56 | "nightly" , |
57 | "core" , |
58 | "compiler_builtins" , |
59 | "alloc" , |
60 | "rustc-internal-api" , |
61 | ] |
62 | raw = [] |
63 | |
64 | # Enables usage of `#[inline]` on far more functions than by default in this |
65 | # crate. This may lead to a performance increase but often comes at a compile |
66 | # time cost. |
67 | inline-more = [] |
68 | |
69 | [package.metadata.docs.rs] |
70 | features = ["nightly" , "rayon" , "serde" , "raw" ] |
71 | rustdoc-args = ["--generate-link-to-definition" ] |
72 | |