###############################################################################
# @generated
# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
# regenerate this file, run the following:
#
#     bazel run @//vendor_local_pkgs:crates_vendor
###############################################################################

load("@rules_rust//rust:defs.bzl", "rust_library")

package(default_visibility = ["//visibility:public"])

rust_library(
    name = "tokio",
    srcs = glob(
        include = ["**/*.rs"],
        allow_empty = False,
    ),
    compile_data = glob(
        include = ["**"],
        allow_empty = True,
        exclude = [
            "**/* *",
            ".tmp_git_root/**/*",
            "BUILD",
            "BUILD.bazel",
            "WORKSPACE",
            "WORKSPACE.bazel",
        ],
    ),
    crate_features = [
        "bytes",
        "default",
        "fs",
        "full",
        "io-std",
        "io-util",
        "libc",
        "macros",
        "mio",
        "net",
        "num_cpus",
        "parking_lot",
        "process",
        "rt",
        "rt-multi-thread",
        "signal",
        "signal-hook-registry",
        "socket2",
        "sync",
        "time",
        "tokio-macros",
    ] + select({
        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
            "windows-sys",  # aarch64-pc-windows-msvc
        ],
        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
            "windows-sys",  # i686-pc-windows-msvc
        ],
        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
            "windows-sys",  # x86_64-pc-windows-msvc
        ],
        "//conditions:default": [],
    }),
    crate_root = "src/lib.rs",
    edition = "2021",
    proc_macro_deps = [
        "//vendor_local_pkgs/crates/tokio-macros-2.2.0:tokio_macros",
    ],
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-bazel",
        "crate-name=tokio",
        "manual",
        "noclippy",
        "norustfmt",
    ],
    target_compatible_with = select({
        "@rules_rust//rust/platform:aarch64-apple-darwin": [],
        "@rules_rust//rust/platform:aarch64-apple-ios": [],
        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
        "@rules_rust//rust/platform:aarch64-fuchsia": [],
        "@rules_rust//rust/platform:aarch64-linux-android": [],
        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [],
        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [],
        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
        "@rules_rust//rust/platform:armv7-linux-androideabi": [],
        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
        "@rules_rust//rust/platform:i686-apple-darwin": [],
        "@rules_rust//rust/platform:i686-linux-android": [],
        "@rules_rust//rust/platform:i686-pc-windows-msvc": [],
        "@rules_rust//rust/platform:i686-unknown-freebsd": [],
        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:thumbv7em-none-eabi": [],
        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
        "@rules_rust//rust/platform:wasm32-unknown-unknown": [],
        "@rules_rust//rust/platform:wasm32-wasi": [],
        "@rules_rust//rust/platform:x86_64-apple-darwin": [],
        "@rules_rust//rust/platform:x86_64-apple-ios": [],
        "@rules_rust//rust/platform:x86_64-fuchsia": [],
        "@rules_rust//rust/platform:x86_64-linux-android": [],
        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [],
        "@rules_rust//rust/platform:x86_64-unknown-none": [],
        "//conditions:default": ["@platforms//:incompatible"],
    }),
    version = "1.36.0",
    deps = [
        "//vendor_local_pkgs/crates/bytes-1.5.0:bytes",
        "//vendor_local_pkgs/crates/mio-0.8.10:mio",
        "//vendor_local_pkgs/crates/num_cpus-1.16.0:num_cpus",
        "//vendor_local_pkgs/crates/parking_lot-0.12.1:parking_lot",
        "//vendor_local_pkgs/crates/pin-project-lite-0.2.13:pin_project_lite",
    ] + select({
        "@rules_rust//rust/platform:aarch64-apple-darwin": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:aarch64-apple-ios": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:aarch64-apple-ios-sim": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:aarch64-fuchsia": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:aarch64-linux-android": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
            "//vendor_local_pkgs/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
        ],
        "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:armv7-linux-androideabi": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:i686-apple-darwin": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:i686-linux-android": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:i686-pc-windows-msvc": [
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
            "//vendor_local_pkgs/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
        ],
        "@rules_rust//rust/platform:i686-unknown-freebsd": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:i686-unknown-linux-gnu": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:s390x-unknown-linux-gnu": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:thumbv7em-none-eabi": [
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:thumbv8m.main-none-eabi": [
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:x86_64-apple-darwin": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:x86_64-apple-ios": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:x86_64-fuchsia": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:x86_64-linux-android": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
            "//vendor_local_pkgs/crates/windows-sys-0.48.0:windows_sys",  # cfg(windows)
        ],
        "@rules_rust//rust/platform:x86_64-unknown-freebsd": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [
            "//vendor_local_pkgs/crates/libc-0.2.153:libc",  # cfg(unix)
            "//vendor_local_pkgs/crates/signal-hook-registry-1.4.1:signal_hook_registry",  # cfg(unix)
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "@rules_rust//rust/platform:x86_64-unknown-none": [
            "//vendor_local_pkgs/crates/socket2-0.5.5:socket2",  # cfg(not(target_family = "wasm"))
        ],
        "//conditions:default": [],
    }),
)
