# This file is part of ICU4X. For terms of use, please see the file # called LICENSE at the top level of the ICU4X source tree # (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). [package] name = "zerotrie" description = "A data structure that efficiently maps strings to integers" version = "0.2.4" categories.workspace = true keywords = ["zero-copy", "serialization", "memory-efficiency", "trie"] authors.workspace = true edition.workspace = true homepage.workspace = true include.workspace = true license.workspace = true repository.workspace = true rust-version = "1.82" [package.metadata.docs.rs] all-features = true [package.metadata.cargo-all-features] max_combination_size = 3 [dependencies] databake = { workspace = true, features = ["derive"], optional = true } displaydoc = { workspace = true } litemap = { workspace = true, features = ["alloc"], optional = true } serde_core = { workspace = true, optional = true } yoke = { workspace = true, features = ["derive"], optional = true } zerofrom = { workspace = true, optional = true } zerovec = { workspace = true, optional = true } [dev-dependencies] bincode = { workspace = true } icu_benchmark_macros = { path = "../../tools/benchmark/macros" } litemap = { path = "../../utils/litemap" } postcard = { workspace = true, features = ["alloc"] } itertools = { workspace = true } rand = { workspace = true } rand_pcg = { workspace = true } rmp-serde = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } zerovec = { path = "../../utils/zerovec", features = ["serde", "hashmap"] } icu_locale_core = { workspace = true, features = ["alloc"] } writeable = { path = "../../utils/writeable" } [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] criterion = { workspace = true } [lib] bench = false # This option is required for Benchmark CI [features] default = [] alloc = ["zerovec?/alloc"] databake = ["dep:databake", "zerovec?/databake"] dense = ["dep:zerovec"] litemap = ["dep:litemap", "alloc"] serde = ["dep:serde_core", "dep:litemap", "alloc", "litemap/serde", "zerovec?/serde"] yoke = ["dep:yoke"] zerofrom = ["dep:zerofrom"] zerovec = ["dep:zerovec"] [[bench]] name = "overview" harness = false required-features = ["alloc", "litemap"] [[test]] name = "asciitrie_test" required-features = ["alloc", "litemap"] [[test]] name = "builder_test" required-features = ["alloc", "litemap"] [[test]] name = "dense_test" required-features = ["alloc", "dense"] [[test]] name = "locale_aux_test" required-features = ["alloc", "litemap"] [lints] workspace = true