"""
@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"
])

# Generated Targets

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

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

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

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

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

# Unsupported target "client" with type "example" omitted

# Unsupported target "client_json" with type "example" omitted

# Unsupported target "echo" with type "example" omitted

# Unsupported target "gateway" with type "example" omitted

# Unsupported target "hello" with type "example" omitted

# Unsupported target "http_proxy" with type "example" omitted

# Unsupported target "multi_server" with type "example" omitted

# Unsupported target "params" with type "example" omitted

# Unsupported target "send_file" with type "example" omitted

# Unsupported target "service_struct_impl" with type "example" omitted

# Unsupported target "single_threaded" with type "example" omitted

# Unsupported target "state" with type "example" omitted

# Unsupported target "tower_client" with type "example" omitted

# Unsupported target "tower_server" with type "example" omitted

# Unsupported target "upgrades" with type "example" omitted

# Unsupported target "web_api" with type "example" omitted

rust_library(
    name = "hyper",
    srcs = glob(["**/*.rs"]),
    crate_features = [
        "client",
        "default",
        "h2",
        "http1",
        "http2",
        "server",
        "socket2",
        "stream",
        "tcp",
    ],
    crate_root = "src/lib.rs",
    data = [],
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=hyper",
        "manual",
    ],
    version = "0.14.23",
    # buildifier: leave-alone
    deps = [
        "@raze__bytes__1_3_0//:bytes",
        "@raze__futures_channel__0_3_25//:futures_channel",
        "@raze__futures_core__0_3_25//:futures_core",
        "@raze__futures_util__0_3_25//:futures_util",
        "@raze__h2__0_3_15//:h2",
        "@raze__http__0_2_8//:http",
        "@raze__http_body__0_4_5//:http_body",
        "@raze__httparse__1_8_0//:httparse",
        "@raze__httpdate__1_0_2//:httpdate",
        "@raze__itoa__1_0_5//:itoa",
        "@raze__pin_project_lite__0_2_9//:pin_project_lite",
        "@raze__socket2__0_4_7//:socket2",
        "@raze__tokio__1_24_1//:tokio",
        "@raze__tower_service__0_3_2//:tower_service",
        "@raze__tracing__0_1_37//:tracing",
        "@raze__want__0_3_0//:want",
    ],
)

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

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

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