"""
@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",  # Apache-2.0 from expression "Apache-2.0"
])

# Generated Targets

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

rust_library(
    name = "wit_printer",
    srcs = glob(["**/*.rs"]),
    crate_features = [
    ],
    crate_root = "src/lib.rs",
    data = [],
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=wit-printer",
        "manual",
    ],
    version = "0.2.0",
    # buildifier: leave-alone
    deps = [
        "@rules_rust_wasm_bindgen__anyhow__1_0_45//:anyhow",
        "@rules_rust_wasm_bindgen__wasmprinter__0_2_31//:wasmprinter",
        "@rules_rust_wasm_bindgen__wit_parser__0_2_0//:wit_parser",
        "@rules_rust_wasm_bindgen__wit_schema_version__0_1_0//:wit_schema_version",
    ],
)
