"""
@generated
cargo-raze crate build file.

DO NOT EDIT! Replaced on runs of cargo-raze
"""

# buildifier: disable=load
load("@bazel_skylib//lib:selects.bzl", "selects")

# buildifier: disable=load
load(
    "@rules_rust//rust:defs.bzl",
    "rust_binary",
    "rust_library",
    "rust_proc_macro",
    "rust_test",
)

package(default_visibility = [
    # Public for visibility by "@raze__crate__version//" targets.
    #
    # Prefer access through "//third_party/rust/cargo", which limits external
    # visibility to explicit Cargo.toml dependencies.
    "//visibility:public",
])

licenses([
    "notice",  # MIT from expression "MIT OR Apache-2.0"
])

# Generated Targets

# Unsupported target "chrono" with type "bench" omitted

# Unsupported target "serde" with type "bench" omitted

rust_library(
    name = "chrono",
    srcs = glob(["**/*.rs"]),
    crate_features = [
        "clock",
        "default",
        "iana-time-zone",
        "js-sys",
        "oldtime",
        "std",
        "time",
        "wasm-bindgen",
        "wasmbind",
        "winapi",
    ],
    crate_root = "src/lib.rs",
    data = [],
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=chrono",
        "manual",
    ],
    version = "0.4.23",
    # buildifier: leave-alone
    deps = [
        "@raze__iana_time_zone__0_1_53//:iana_time_zone",
        "@raze__num_integer__0_1_45//:num_integer",
        "@raze__num_traits__0_2_15//:num_traits",
        "@raze__time__0_1_45//:time",
    ],
)

# Unsupported target "dateutils" with type "test" omitted

# Unsupported target "wasm" with type "test" omitted
