"""
@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
# 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 = "futures_util_build_script",
    srcs = glob(["**/*.rs"]),
    build_script_env = {
    },
    crate_features = [
        "alloc",
        "async-await",
        "async-await-macro",
        "default",
        "futures-macro",
        "futures-sink",
        "sink",
        "slab",
        "std",
    ],
    crate_root = "build.rs",
    data = glob(["**"]),
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "manual",
    ],
    version = "0.3.25",
    visibility = ["//visibility:private"],
    deps = [
    ],
)

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

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

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

rust_library(
    name = "futures_util",
    srcs = glob(["**/*.rs"]),
    crate_features = [
        "alloc",
        "async-await",
        "async-await-macro",
        "default",
        "futures-macro",
        "futures-sink",
        "sink",
        "slab",
        "std",
    ],
    crate_root = "src/lib.rs",
    data = [],
    edition = "2018",
    proc_macro_deps = [
        "@raze__futures_macro__0_3_25//:futures_macro",
    ],
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=futures-util",
        "manual",
    ],
    version = "0.3.25",
    # buildifier: leave-alone
    deps = [
        ":futures_util_build_script",
        "@raze__futures_core__0_3_25//:futures_core",
        "@raze__futures_sink__0_3_25//:futures_sink",
        "@raze__futures_task__0_3_25//:futures_task",
        "@raze__pin_project_lite__0_2_9//:pin_project_lite",
        "@raze__pin_utils__0_1_0//:pin_utils",
        "@raze__slab__0_4_7//:slab",
    ],
)
