1# This file is part of ICU4X. For terms of use, please see the file
2# called LICENSE at the top level of the ICU4X source tree
3# (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ).
4
5[package]
6name = "icu_collections"
7description = "Collection of API for use in ICU libraries."
8
9authors.workspace = true
10categories.workspace = true
11edition.workspace = true
12homepage.workspace = true
13include.workspace = true
14license.workspace = true
15repository.workspace = true
16rust-version.workspace = true
17version.workspace = true
18
19[package.metadata.docs.rs]
20all-features = true
21
22[dependencies]
23displaydoc = { workspace = true }
24yoke = { workspace = true, features = ["derive"] }
25zerofrom = { workspace = true, features = ["derive"] }
26zerovec = { workspace = true, features = ["derive", "yoke"] }
27
28serde = { workspace = true, features = ["derive", "alloc"], optional = true }
29databake = { workspace = true, features = ["derive"], optional = true }
30
31[dev-dependencies]
32iai = { workspace = true }
33icu = { path = "../../components/icu", default-features = false }
34icu_benchmark_macros = { path = "../../tools/benchmark/macros" }
35icu_properties = { path = "../../components/properties" }
36postcard = { workspace = true, features = ["alloc"] }
37serde = { workspace = true, features = ["derive"] }
38serde_json = { workspace = true }
39
40toml = { workspace = true }
41
42[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
43criterion = { workspace = true }
44
45[features]
46std = []
47serde = ["dep:serde", "zerovec/serde"]
48databake = ["dep:databake", "zerovec/databake"]
49bench = []
50
51[lib]
52bench = false # This option is required for Benchmark CI
53
54[package.metadata.cargo-all-features]
55# Bench feature gets tested separately and is only relevant for CI
56denylist = ["bench"]
57
58[[bench]]
59name = "codepointtrie"
60harness = false
61path = "benches/codepointtrie.rs"
62
63[[bench]]
64name = "iai_cpt"
65harness = false
66required-features = ["bench"]
67path = "benches/iai_cpt.rs"
68
69[[bench]]
70name = "inv_list"
71harness = false
72path = "benches/inv_list.rs"
73