# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies
#
# If you believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
edition = "2018"
name = "rust_icu_common"
version = "0.4.1"
authors = ["Google Inc."]
description = "Native bindings to the ICU4C library from Unicode.\n\nCommonly used types.\n"
readme = "README.md"
keywords = ["icu", "unicode", "i18n", "l10n"]
license = "Apache-2.0"
repository = "https://github.com/google/rust_icu"
[dependencies.anyhow]
version = "1.0.25"

[dependencies.rust_icu_sys]
version = "0.4.1"
default-features = false

[dependencies.thiserror]
version = "1.0.9"

[features]
default = ["use-bindgen", "renaming", "icu_config"]
icu_config = ["rust_icu_sys/icu_config"]
icu_version_64_plus = ["rust_icu_sys/icu_version_64_plus"]
icu_version_67_plus = ["rust_icu_sys/icu_version_67_plus"]
icu_version_68_plus = ["rust_icu_sys/icu_version_68_plus"]
icu_version_in_env = ["rust_icu_sys/icu_version_in_env"]
renaming = ["rust_icu_sys/renaming"]
use-bindgen = ["rust_icu_sys/use-bindgen"]
[badges.is-it-maintained-issue-resolution]
repository = "google/rust_icu"

[badges.is-it-maintained-open-issues]
repository = "google/rust_icu"

[badges.maintenance]
status = "actively-developed"

[badges.travis-ci]
branch = "master"
repository = "google/rust_icu"
