[package]
edition = "2024"
rust-version = "1.88"
name = "icu"
version = "2.3.0"
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 = "ICU4X: International Components for Unicode, written in Rust"
homepage = "https://icu4x.unicode.org"
readme = "README.md"
keywords = [
"unicode",
"internationalization",
"localization",
"i18n",
]
categories = [
"internationalization",
"localization",
"no-std",
"embedded",
]
license = "Unicode-3.0"
repository = "https://github.com/unicode-org/icu4x"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
[package.metadata.cargo-all-features]
skip_feature_sets = [[]]
[features]
compiled_data = [
"icu_calendar/compiled_data",
"icu_casemap/compiled_data",
"icu_collator/compiled_data",
"icu_datetime/compiled_data",
"icu_decimal/compiled_data",
"icu_list/compiled_data",
"icu_locale/compiled_data",
"icu_normalizer/compiled_data",
"icu_plurals/compiled_data",
"icu_properties/compiled_data",
"icu_segmenter/compiled_data",
"icu_time/compiled_data",
"icu_experimental?/compiled_data",
]
datagen = [
"dep:icu_provider_registry",
"dep:memchr",
"icu_calendar/datagen",
"icu_casemap/datagen",
"icu_collator/datagen",
"icu_datetime/datagen",
"icu_decimal/datagen",
"icu_list/datagen",
"icu_locale/datagen",
"icu_normalizer/datagen",
"icu_plurals/datagen",
"icu_properties/datagen",
"icu_segmenter/datagen",
"icu_time/datagen",
"icu_experimental?/datagen",
]
default = [
"icu_calendar/default",
"icu_casemap/default",
"icu_collator/default",
"icu_datetime/default",
"icu_decimal/default",
"icu_list/default",
"icu_locale/default",
"icu_normalizer/default",
"icu_plurals/default",
"icu_properties/default",
"icu_segmenter/default",
"icu_time/default",
"icu_experimental?/default",
"icu_pattern?/default",
]
logging = [
"icu_provider/logging",
"icu_datetime/logging",
]
serde = [
"icu_calendar/serde",
"icu_casemap/serde",
"icu_collator/serde",
"icu_collections/serde",
"icu_datetime/serde",
"icu_decimal/serde",
"icu_list/serde",
"icu_locale/serde",
"icu_normalizer/serde",
"icu_plurals/serde",
"icu_properties/serde",
"icu_segmenter/serde",
"icu_time/serde",
"icu_experimental?/serde",
"icu_pattern?/serde",
]
serde_human = ["icu_list/serde_human"]
sync = ["icu_provider/sync"]
unstable = [
"icu_calendar/unstable",
"icu_datetime/unstable",
"icu_locale/unstable",
"icu_plurals/unstable",
"icu_properties/unstable",
"icu_segmenter/unstable",
"icu_time/unstable",
"dep:icu_experimental",
"dep:icu_pattern",
]
[lib]
name = "icu"
path = "src/lib.rs"
[[example]]
name = "and_list"
path = "examples/and_list.rs"
[[example]]
name = "casemapping"
path = "examples/casemapping.rs"
[[example]]
name = "chrome_transliterators"
path = "examples/chrome_transliterators.rs"
[[example]]
name = "chrono_jiff"
path = "examples/chrono_jiff.rs"
[[example]]
name = "code_line_diff"
path = "examples/code_line_diff.rs"
required-features = ["serde"]
[[example]]
name = "date_try_from_fields"
path = "examples/date_try_from_fields.rs"
[[example]]
name = "elevator_floors"
path = "examples/elevator_floors.rs"
required-features = ["serde"]
[[example]]
name = "filter_langids"
path = "examples/filter_langids.rs"
test = true
[[example]]
name = "iso_date_manipulations"
path = "examples/iso_date_manipulations.rs"
[[example]]
name = "syntatically_canonicalize_locales"
path = "examples/syntatically_canonicalize_locales.rs"
test = true
[[example]]
name = "timezone_picker"
path = "examples/timezone_picker.rs"
[[example]]
name = "tui"
path = "examples/tui.rs"
required-features = ["serde"]
[[example]]
name = "unicode_bmp_blocks_selector"
path = "examples/unicode_bmp_blocks_selector.rs"
[[example]]
name = "unread_emails"
path = "examples/unread_emails.rs"
required-features = ["serde"]
[[example]]
name = "work_log"
path = "examples/work_log.rs"
required-features = ["compiled_data"]
[dependencies.icu_calendar]
version = "~2.3.0"
features = ["alloc"]
default-features = false
[dependencies.icu_casemap]
version = "~2.3.0"
default-features = false
[dependencies.icu_collator]
version = "~2.3.0"
default-features = false
[dependencies.icu_collections]
version = "~2.3.0"
default-features = false
[dependencies.icu_datetime]
version = "~2.3.0"
default-features = false
[dependencies.icu_decimal]
version = "~2.3.0"
features = ["alloc"]
default-features = false
[dependencies.icu_experimental]
version = "~0.6.0"
optional = true
default-features = false
[dependencies.icu_list]
version = "~2.3.0"
features = ["alloc"]
default-features = false
[dependencies.icu_locale]
version = "~2.3.0"
default-features = false
[dependencies.icu_normalizer]
version = "~2.3.0"
default-features = false
[dependencies.icu_pattern]
version = "0.5.0"
optional = true
default-features = false
[dependencies.icu_plurals]
version = "~2.3.0"
default-features = false
[dependencies.icu_properties]
version = "~2.3.0"
features = ["alloc"]
default-features = false
[dependencies.icu_provider]
version = "2.3.0"
default-features = false
[dependencies.icu_provider_registry]
version = "~2.3.0"
optional = true
default-features = false
[dependencies.icu_segmenter]
version = "~2.3.0"
default-features = false
[dependencies.icu_time]
version = "~2.3.0"
features = ["alloc"]
default-features = false
[dependencies.memchr]
version = "2.6.0"
optional = true
default-features = false
[dev-dependencies.chrono]
version = "0.4"
default-features = false
[dev-dependencies.chrono-tz]
version = "0.10"
default-features = false
[dev-dependencies.jiff]
version = "0.2"
features = [
"tzdb-bundle-always",
"tz-system",
"std",
]
default-features = false
[lints.clippy]
alloc_instead_of_core = "warn"
bool_assert_comparison = "allow"
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_nightly_tests)",
"cfg(icu4x_run_size_tests)",
"cfg(icu4x_unstable_fast_trie_only)",
]