"""
@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/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_library(
    name = "regex",
    srcs = glob(["**/*.rs"]),
    crate_features = [
        "default",
        "perf",
        "perf-backtrack",
        "perf-cache",
        "perf-dfa",
        "perf-inline",
        "perf-literal",
        "perf-onepass",
        "std",
        "unicode",
        "unicode-age",
        "unicode-bool",
        "unicode-case",
        "unicode-gencat",
        "unicode-perl",
        "unicode-script",
        "unicode-segment",
    ],
    crate_root = "src/lib.rs",
    data = [],
    edition = "2021",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=regex",
        "manual",
    ],
    version = "1.9.6",
    # buildifier: leave-alone
    deps = [
        "@raze__aho_corasick__1_1_1//:aho_corasick",
        "@raze__memchr__2_6_4//:memchr",
        "@raze__regex_automata__0_3_9//:regex_automata",
        "@raze__regex_syntax__0_7_5//:regex_syntax",
    ],
)

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