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

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

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

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

# Workspace Member Dependencies
alias(
    name = "cortex-m",
    actual = "//crates/vendor/cortex-m-0.7.7:cortex_m",
    tags = ["manual"],
)

alias(
    name = "cortex-m-rt",
    actual = "//crates/vendor/cortex-m-rt-0.7.3:cortex_m_rt",
    tags = ["manual"],
)

alias(
    name = "cortex-m-semihosting",
    actual = "//crates/vendor/cortex-m-semihosting-0.5.0:cortex_m_semihosting",
    tags = ["manual"],
)

alias(
    name = "critical-section",
    actual = "//crates/vendor/critical-section-1.1.2:critical_section",
    tags = ["manual"],
)

alias(
    name = "embassy-sync",
    actual = "//crates/vendor/embassy-sync-0.1.0:embassy_sync",
    tags = ["manual"],
)

alias(
    name = "futures-test",
    actual = "//crates/vendor/futures-test-0.3.28:futures_test",
    tags = ["manual"],
)

alias(
    name = "panic-halt",
    actual = "//crates/vendor/panic-halt-0.2.0:panic_halt",
    tags = ["manual"],
)

alias(
    name = "static_cell",
    actual = "//crates/vendor/static_cell-1.2.0:static_cell",
    tags = ["manual"],
)
