[package]
name = "icu_provider"
description = "Trait and struct definitions for the ICU data provider"
authors.workspace = true
categories.workspace = true
edition.workspace = true
homepage.workspace = true
include.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
version.workspace = true
[package.metadata.docs.rs]
all-features = true
[dependencies]
displaydoc = { workspace = true }
icu_locid = { workspace = true }
stable_deref_trait = { workspace = true }
writeable = { workspace = true }
tinystr = { workspace = true }
yoke = { workspace = true, features = ["alloc", "derive"] }
zerofrom = { workspace = true, features = ["alloc", "derive"] }
zerovec = { workspace = true, features = ["derive"]}
icu_provider_macros = { workspace = true, optional = true }
log = { workspace = true, optional = true }
bincode = { workspace = true, optional = true }
postcard = { workspace = true, optional = true }
serde = { workspace = true, features = ["derive", "alloc"], optional = true }
serde_json = { workspace = true, optional = true }
erased-serde = { workspace = true, optional = true, features = ["alloc"] }
databake = { workspace = true, optional = true, features = ["derive"] }
[dev-dependencies]
serde_json = { workspace = true }
icu = { path = "../../components/icu", default-features = false }
icu_provider_adapters = { path = "../adapters" }
icu_locid_transform = { path = "../../components/locid_transform" }
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies]
criterion = { workspace = true }
[features]
bench = []
std = ["icu_locid/std"]
sync = []
experimental = []
macros = ["dep:icu_provider_macros"]
logging = ["dep:log"]
log_error_context = ["logging"]
serde = ["dep:serde", "yoke/serde"]
deserialize_json = ["serde", "dep:serde_json"]
deserialize_bincode_1 = ["serde", "dep:bincode", "std"]
deserialize_postcard_1 = ["serde", "dep:postcard"]
datagen = ["serde", "dep:erased-serde", "dep:databake", "std", "sync"]
[package.metadata.cargo-all-features]
denylist = ["macros"]
max_combination_size = 3
[lib]
bench = false
[[bench]]
name = "data_locale_bench"
harness = false