###############################################################################
# @generated
# This file is auto-generated by the cargo-bazel tool.
#
# DO NOT MODIFY: Local changes may be replaced in future executions.
###############################################################################

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

exports_files(
    [
        "cargo-bazel.json",
        "defs.bzl",
        "crates.bzl",
    ] + glob([
        "*.bazel",
    ]),
)

filegroup(
    name = "srcs",
    srcs = glob([
        "*.bazel",
        "*.bzl",
    ]),
)

# Workspace Member Dependencies
alias(
    name = "tempfile",
    actual = "@crates_vendor_manifests__tempfile-3.3.0//:tempfile",
    tags = ["manual"],
)

alias(
    name = "tokio",
    actual = "@crates_vendor_manifests__tokio-1.19.2//:tokio",
    tags = ["manual"],
)

alias(
    name = "tokio-test",
    actual = "@crates_vendor_manifests__tokio-test-0.4.2//:tokio_test",
    tags = ["manual"],
)

# Binaries
