"""
@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 "//proto/raze", 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 = "tokio_uds",
    srcs = glob(["**/*.rs"]),
    crate_features = [
    ],
    crate_root = "src/lib.rs",
    data = [],
    edition = "2015",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=tokio-uds",
        "manual",
    ],
    version = "0.1.7",
    # buildifier: leave-alone
    deps = [
        "@rules_rust_proto__bytes__0_4_12//:bytes",
        "@rules_rust_proto__futures__0_1_29//:futures",
        "@rules_rust_proto__iovec__0_1_4//:iovec",
        "@rules_rust_proto__libc__0_2_69//:libc",
        "@rules_rust_proto__log__0_3_9//:log",
        "@rules_rust_proto__mio__0_6_21//:mio",
        "@rules_rust_proto__mio_uds__0_6_7//:mio_uds",
        "@rules_rust_proto__tokio_core__0_1_17//:tokio_core",
        "@rules_rust_proto__tokio_io__0_1_13//:tokio_io",
    ],
)
