[package]
edition = "2021"
rust-version = "1.82"
name = "zerotrie"
version = "0.2.4"
authors = ["The ICU4X Project Developers"]
build = false
include = [
"data/**/*",
"src/**/*",
"examples/**/*",
"benches/**/*",
"tests/**/*",
"Cargo.toml",
"LICENSE",
"README.md",
"build.rs",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A data structure that efficiently maps strings to integers"
homepage = "https://icu4x.unicode.org"
readme = "README.md"
keywords = [
"zero-copy",
"serialization",
"memory-efficiency",
"trie",
]
categories = [
"internationalization",
"localization",
"no-std",
"embedded",
]
license = "Unicode-3.0"
repository = "https://github.com/unicode-org/icu4x"
[package.metadata.docs.rs]
all-features = true
[package.metadata.cargo-all-features]
max_combination_size = 3
[features]
alloc = ["zerovec?/alloc"]
databake = [
"dep:databake",
"zerovec?/databake",
]
default = []
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"]
[lib]
name = "zerotrie"
path = "src/lib.rs"
bench = false
[[example]]
name = "first_weekday_for_region"
path = "examples/first_weekday_for_region.rs"
[[test]]
name = "asciitrie_test"
path = "tests/asciitrie_test.rs"
required-features = [
"alloc",
"litemap",
]
[[test]]
name = "builder_test"
path = "tests/builder_test.rs"
required-features = [
"alloc",
"litemap",
]
[[test]]
name = "dense_test"
path = "tests/dense_test.rs"
required-features = [
"alloc",
"dense",
]
[[test]]
name = "derive_test"
path = "tests/derive_test.rs"
[[test]]
name = "ignorecase_test"
path = "tests/ignorecase_test.rs"
[[test]]
name = "locale_aux_test"
path = "tests/locale_aux_test.rs"
required-features = [
"alloc",
"litemap",
]
[[bench]]
name = "overview"
path = "benches/overview.rs"
harness = false
required-features = [
"alloc",
"litemap",
]
[dependencies.databake]
version = "0.2.0"
features = ["derive"]
optional = true
default-features = false
[dependencies.displaydoc]
version = "0.2.3"
default-features = false
[dependencies.litemap]
version = "0.8.0"
features = ["alloc"]
optional = true
default-features = false
[dependencies.serde_core]
version = "1.0.220"
optional = true
default-features = false
[dependencies.yoke]
version = "0.8.2"
features = ["derive"]
optional = true
default-features = false
[dependencies.zerofrom]
version = "0.1.6"
optional = true
default-features = false
[dependencies.zerovec]
version = "0.11.6"
optional = true
default-features = false
[dev-dependencies.bincode]
version = "1.3.1"
[dev-dependencies.icu_locale_core]
version = "2.2.0"
features = ["alloc"]
default-features = false
[dev-dependencies.itertools]
version = "0.14.0"
[dev-dependencies.postcard]
version = "1.0.3"
features = ["alloc"]
default-features = false
[dev-dependencies.rand]
version = "0.9"
[dev-dependencies.rand_pcg]
version = "0.9"
[dev-dependencies.rmp-serde]
version = "1.2.0"
[dev-dependencies.serde]
version = "1.0.220"
features = ["derive"]
default-features = false
[dev-dependencies.serde_json]
version = "1.0.45"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.criterion]
version = "0.5.0"
[lints.clippy]
alloc-instead-of-core = "warn"
branches-sharing-code = "warn"
collection_is_never_read = "warn"
crosspointer_transmute = "warn"
dbg_macro = "warn"
debug_assert_with_mut_call = "warn"
doc_markdown = "warn"
exhaustive_enums = "deny"
exhaustive_structs = "deny"
fn_to_numeric_cast_any = "warn"
infinite_loop = "warn"
large_stack_arrays = "warn"
mismatching_type_param_order = "warn"
missing_fields_in_debug = "warn"
missing_transmute_annotations = "warn"
negative_feature_names = "warn"
or-fun-call = "warn"
same_functions_in_if_condition = "warn"
todo = "warn"
transmute_bytes_to_str = "warn"
transmute_int_to_bool = "warn"
transmute_int_to_non_zero = "warn"
transmute_ptr_to_ptr = "warn"
transmute_ptr_to_ref = "warn"
transmute_undefined_repr = "warn"
transmutes_expressible_as_ptr_casts = "warn"
trivially_copy_pass_by_ref = "deny"
unnecessary-wraps = "warn"
useless_transmute = "warn"
wildcard_dependencies = "warn"
[lints.rust]
missing_debug_implementations = "deny"
trivial_numeric_casts = "deny"
unused_lifetimes = "warn"
unused_macro_rules = "warn"
unused_qualifications = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(icu4c_enable_renaming)",
"cfg(needs_alloc_error_handler)",
"cfg(icu4x_run_size_tests)",
"cfg(icu4x_unstable_fast_trie_only)",
]