"""
@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:rust.bzl",
    "rust_binary",
    "rust_library",
    "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 "autoreload" with type "example" omitted

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

rust_library(
    name = "warp",
    srcs = glob(["**/*.rs"]),
    crate_features = [
        "tokio-tungstenite",
        "websocket",
    ],
    crate_root = "src/lib.rs",
    crate_type = "lib",
    data = [],
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "manual",
    ],
    version = "0.2.5",
    # buildifier: leave-alone
    deps = [
        "@raze__bytes__0_5_6//:bytes",
        "@raze__futures__0_3_15//:futures",
        "@raze__headers__0_3_4//:headers",
        "@raze__http__0_2_4//:http",
        "@raze__hyper__0_13_10//:hyper",
        "@raze__log__0_4_14//:log",
        "@raze__mime__0_3_16//:mime",
        "@raze__mime_guess__2_0_3//:mime_guess",
        "@raze__pin_project__0_4_28//:pin_project",
        "@raze__scoped_tls__1_0_0//:scoped_tls",
        "@raze__serde__1_0_126//:serde",
        "@raze__serde_json__1_0_64//:serde_json",
        "@raze__serde_urlencoded__0_6_1//:serde_urlencoded",
        "@raze__tokio__0_2_25//:tokio",
        "@raze__tokio_tungstenite__0_11_0//:tokio_tungstenite",
        "@raze__tower_service__0_3_1//:tower_service",
        "@raze__tracing__0_1_26//:tracing",
        "@raze__tracing_futures__0_2_5//:tracing_futures",
        "@raze__urlencoding__1_3_3//:urlencoding",
    ],
)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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