"""
@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:rust.bzl",
    "rust_binary",
    "rust_library",
    "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
# 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 = "syn_build_script",
    srcs = glob(["**/*.rs"]),
    build_script_env = {
    },
    crate_features = [
        "clone-impls",
        "default",
        "derive",
        "extra-traits",
        "fold",
        "full",
        "parsing",
        "printing",
        "proc-macro",
        "quote",
        "visit-mut",
    ],
    crate_root = "build.rs",
    data = glob(["**"]),
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "manual",
    ],
    version = "1.0.73",
    visibility = ["//visibility:private"],
    deps = [
    ],
)

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

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

rust_library(
    name = "syn",
    srcs = glob(["**/*.rs"]),
    crate_features = [
        "clone-impls",
        "default",
        "derive",
        "extra-traits",
        "fold",
        "full",
        "parsing",
        "printing",
        "proc-macro",
        "quote",
        "visit-mut",
    ],
    crate_root = "src/lib.rs",
    crate_type = "lib",
    data = [],
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "manual",
    ],
    version = "1.0.73",
    # buildifier: leave-alone
    deps = [
        ":syn_build_script",
        "@raze__proc_macro2__1_0_27//:proc_macro2",
        "@raze__quote__1_0_9//:quote",
        "@raze__unicode_xid__0_2_2//:unicode_xid",
    ],
)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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