"""
@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 "//tools/rust_analyzer/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 = "syn_build_script",
    srcs = glob(["**/*.rs"]),
    build_script_env = {
    },
    crate_features = [
        "clone-impls",
        "default",
        "derive",
        "full",
        "parsing",
        "printing",
        "proc-macro",
        "quote",
    ],
    crate_root = "build.rs",
    data = glob(["**"]),
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "manual",
    ],
    version = "1.0.81",
    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",
        "full",
        "parsing",
        "printing",
        "proc-macro",
        "quote",
    ],
    crate_root = "src/lib.rs",
    data = [],
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=syn",
        "manual",
    ],
    version = "1.0.81",
    # buildifier: leave-alone
    deps = [
        ":syn_build_script",
        "@rules_rust_tools_rust_analyzer__proc_macro2__1_0_32//:proc_macro2",
        "@rules_rust_tools_rust_analyzer__quote__1_0_10//:quote",
        "@rules_rust_tools_rust_analyzer__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
