"""
@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 "//wasm_bindgen/raze", which limits external
    # visibility to explicit Cargo.toml dependencies.
    "//visibility:public",
])

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

# Generated Targets
# buildifier: disable=out-of-order-load
# buildifier: disable=load-on-top
load(
    "@rules_rust//cargo:cargo_build_script.bzl",
    "cargo_build_script",
)

cargo_build_script(
    name = "crossbeam_utils_build_script",
    srcs = glob(["**/*.rs"]),
    build_script_env = {
    },
    crate_features = [
        "default",
        "lazy_static",
        "std",
    ],
    crate_root = "build.rs",
    data = glob(["**"]),
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "manual",
    ],
    version = "0.8.5",
    visibility = ["//visibility:private"],
    deps = [
    ],
)

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

rust_library(
    name = "crossbeam_utils",
    srcs = glob(["**/*.rs"]),
    crate_features = [
        "default",
        "lazy_static",
        "std",
    ],
    crate_root = "src/lib.rs",
    data = [],
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=crossbeam-utils",
        "manual",
    ],
    version = "0.8.5",
    # buildifier: leave-alone
    deps = [
        ":crossbeam_utils_build_script",
        "@rules_rust_wasm_bindgen__cfg_if__1_0_0//:cfg_if",
        "@rules_rust_wasm_bindgen__lazy_static__1_4_0//:lazy_static",
    ],
)

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

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

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

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

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

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