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

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

# Generated Targets

rust_proc_macro(
    name = "derivative",
    srcs = glob(["**/*.rs"]),
    crate_features = [
        "use_core",
    ],
    crate_root = "src/lib.rs",
    data = [],
    edition = "2015",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=derivative",
        "manual",
    ],
    version = "2.2.0",
    # buildifier: leave-alone
    deps = [
        "@raze__proc_macro2__1_0_32//:proc_macro2",
        "@raze__quote__1_0_10//:quote",
        "@raze__syn__1_0_81//:syn",
    ],
)

# Unsupported target "clippy-warning-clone-from" with type "test" omitted

# Unsupported target "compile-test" with type "test" omitted

# Unsupported target "derive-clone" with type "test" omitted

# Unsupported target "derive-clone-generics" with type "test" omitted

# Unsupported target "derive-debug" with type "test" omitted

# Unsupported target "derive-debug-bounds" with type "test" omitted

# Unsupported target "derive-debug-generics" with type "test" omitted

# Unsupported target "derive-debug-packed" with type "test" omitted

# Unsupported target "derive-debug-transparent" with type "test" omitted

# Unsupported target "derive-default" with type "test" omitted

# Unsupported target "derive-default-bounds" with type "test" omitted

# Unsupported target "derive-eq" with type "test" omitted

# Unsupported target "derive-eq-packed" with type "test" omitted

# Unsupported target "derive-hash" with type "test" omitted

# Unsupported target "derive-ord" with type "test" omitted

# Unsupported target "derive-ord-packed" with type "test" omitted

# Unsupported target "derive-partial-eq" with type "test" omitted

# Unsupported target "derive-partial-eq-packed" with type "test" omitted

# Unsupported target "issue-37-turbofish" with type "test" omitted

# Unsupported target "issue-55" with type "test" omitted

# Unsupported target "issue-57" with type "test" omitted

# Unsupported target "issue-58" with type "test" omitted

# Unsupported target "issue-67" with type "test" omitted

# Unsupported target "issue-82" with type "test" omitted

# Unsupported target "rustc-class-implement-traits" with type "test" omitted

# Unsupported target "rustc-deriving-bounds" with type "test" omitted

# Unsupported target "rustc-deriving-clone-array" with type "test" omitted

# Unsupported target "rustc-deriving-clone-enum" with type "test" omitted

# Unsupported target "rustc-deriving-clone-generic-enum" with type "test" omitted

# Unsupported target "rustc-deriving-clone-generic-tuple-struct" with type "test" omitted

# Unsupported target "rustc-deriving-clone-struct" with type "test" omitted

# Unsupported target "rustc-deriving-clone-tuple-struct" with type "test" omitted

# Unsupported target "rustc-deriving-cmp-generic-enum" with type "test" omitted

# Unsupported target "rustc-deriving-cmp-generic-struct" with type "test" omitted

# Unsupported target "rustc-deriving-cmp-generic-struct-enum" with type "test" omitted

# Unsupported target "rustc-deriving-cmp-generic-tuple-struct" with type "test" omitted

# Unsupported target "rustc-deriving-copyclone" with type "test" omitted

# Unsupported target "rustc-deriving-default-box" with type "test" omitted

# Unsupported target "rustc-deriving-enum-single-variant" with type "test" omitted

# Unsupported target "rustc-deriving-hash" with type "test" omitted

# Unsupported target "rustc-deriving-in-fn" with type "test" omitted

# Unsupported target "rustc-deriving-meta" with type "test" omitted

# Unsupported target "rustc-deriving-meta-multiple" with type "test" omitted

# Unsupported target "rustc-deriving-show" with type "test" omitted

# Unsupported target "rustc-deriving-show-2" with type "test" omitted

# Unsupported target "rustc-deriving-via-extension-hash-enum" with type "test" omitted

# Unsupported target "rustc-deriving-via-extension-hash-struct" with type "test" omitted

# Unsupported target "rustc-deriving-via-extension-type-params" with type "test" omitted

# Unsupported target "rustc-expr-copy" with type "test" omitted

# Unsupported target "rustc-exterior" with type "test" omitted

# Unsupported target "rustc-issue-12860" with type "test" omitted

# Unsupported target "rustc-issue-13434" with type "test" omitted

# Unsupported target "rustc-issue-16530" with type "test" omitted

# Unsupported target "rustc-issue-19037" with type "test" omitted

# Unsupported target "rustc-issue-19102" with type "test" omitted

# Unsupported target "rustc-issue-19135" with type "test" omitted

# Unsupported target "rustc-issue-19358" with type "test" omitted

# Unsupported target "rustc-issue-21402" with type "test" omitted

# Unsupported target "rustc-issue-23649-3" with type "test" omitted

# Unsupported target "rustc-issue-24085" with type "test" omitted

# Unsupported target "rustc-issue-25394" with type "test" omitted

# Unsupported target "rustc-issue-28561" with type "test" omitted

# Unsupported target "rustc-issue-29030" with type "test" omitted

# Unsupported target "rustc-issue-29540" with type "test" omitted

# Unsupported target "rustc-issue-29710" with type "test" omitted

# Unsupported target "rustc-issue-32292" with type "test" omitted

# Unsupported target "rustc-issue-3935" with type "test" omitted

# Unsupported target "rustc-issue-42453" with type "test" omitted

# Unsupported target "rustc-issue-58319" with type "test" omitted

# Unsupported target "rustc-issue-6341" with type "test" omitted

# Unsupported target "rustc-typeclasses-eq-example" with type "test" omitted

# Unsupported target "rustc-zero-sized-btreemap-insert" with type "test" omitted
