"""
@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/rust/crates", 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",
        "full",
        "parsing",
        "printing",
        "proc-macro",
        "quote",
        "visit",
    ],
    crate_root = "build.rs",
    data = glob(["**"]),
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "manual",
    ],
    version = "1.0.99",
    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",
        "full",
        "parsing",
        "printing",
        "proc-macro",
        "quote",
        "visit",
    ],
    crate_root = "src/lib.rs",
    data = [],
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=syn",
        "manual",
    ],
    version = "1.0.99",
    # buildifier: leave-alone
    deps = [
        ":syn_build_script",
        "@raze__proc_macro2__1_0_43//:proc_macro2",
        "@raze__quote__1_0_21//:quote",
        "@raze__unicode_ident__1_0_3//:unicode_ident",
    ],
)

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

# 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
