"""
@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

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

# Unsupported target "build-wasm-from-scratch" with type "example" omitted

# Unsupported target "parse" with type "example" omitted

# Unsupported target "round-trip" with type "example" omitted

rust_library(
    name = "walrus",
    srcs = glob(["**/*.rs"]),
    crate_features = [
        "parallel",
        "rayon",
    ],
    crate_root = "src/lib.rs",
    data = [],
    edition = "2018",
    proc_macro_deps = [
        "@rules_rust_wasm_bindgen__walrus_macro__0_19_0//:walrus_macro",
    ],
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=walrus",
        "manual",
    ],
    version = "0.19.0",
    # buildifier: leave-alone
    deps = [
        "@rules_rust_wasm_bindgen__anyhow__1_0_45//:anyhow",
        "@rules_rust_wasm_bindgen__id_arena__2_2_1//:id_arena",
        "@rules_rust_wasm_bindgen__leb128__0_2_5//:leb128",
        "@rules_rust_wasm_bindgen__log__0_4_14//:log",
        "@rules_rust_wasm_bindgen__rayon__1_5_1//:rayon",
        "@rules_rust_wasm_bindgen__wasmparser__0_77_0//:wasmparser",
    ],
)
