| module( | |
| name = "rules_rust_test_no_std", | |
| version = "0.0.0", | |
| ) | |
| bazel_dep(name = "rules_rust", version = "0.0.0") | |
| local_path_override( | |
| module_name = "rules_rust", | |
| path = "../../..", | |
| ) | |
| bazel_dep(name = "rules_cc", version = "0.2.4") | |
| bazel_dep(name = "platforms", version = "1.1.0") | |
| rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") | |
| rust.toolchain( | |
| edition = "2021", | |
| target_settings = [ | |
| "@rules_rust//rust/settings:experimental_use_allocator_libraries_with_mangled_symbols_off", | |
| ], | |
| versions = [ | |
| "nightly/2024-10-17", | |
| "1.82.0", | |
| ], | |
| ) | |
| # Generate a toolchain to be used for rust-based allocator symbols. | |
| # A recent enough version of rustc that mangles the internal allocator symbols. | |
| VERSION = "nightly/2025-04-08" | |
| rust.repository_set( | |
| name = "rust_with_alloc_mangling_linux_x86_64", | |
| allocator_library = "@rules_rust//ffi/rs:empty", | |
| edition = "2021", | |
| exec_triple = "x86_64-unknown-linux-gnu", | |
| target_compatible_with = [ | |
| "@platforms//cpu:x86_64", | |
| "@platforms//os:linux", | |
| ], | |
| target_settings = [ | |
| "@rules_rust//rust/settings:experimental_use_allocator_libraries_with_mangled_symbols_on", | |
| ], | |
| target_triple = "x86_64-unknown-linux-gnu", | |
| versions = [VERSION], | |
| ) | |
| use_repo(rust, "rust_toolchains") | |
| register_toolchains("@rust_toolchains//:all") | |
| crate = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") | |
| crate.spec( | |
| package = "libc_alloc", | |
| version = "1.0.3", | |
| ) | |
| crate.from_specs(name = "no_std_crate_index") | |
| use_repo(crate, "no_std_crate_index") |