From 1a4844f03e75582309ee244c5735667eab5cfb24 Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 1 Aug 2026 23:20:07 +0000 Subject: [PATCH 1/3] PR 1: stop shipping machine-specific state in the repo Removes generated and machine-local files from version control, and fixes the docs and ignore rules that were keeping them there. No build logic changes. rust-project.json (untracked, now gitignored) Generated by gen_rust_project on a macOS machine: 60 of its 65 crate roots point into /private/var/tmp/_bazel_uriah/..., the remaining 5 into /Users/uriah/Code/yoyo, the sysroot into a dead rust_analyzer_1.86.0_tools path, and all four proc_macro_dylib_path entries at darwin_arm64 .dylib files. It is also three commits stale: two of its five target labels no longer exist (server:server_tests, server:integrated_tests_suite_tests/ just_test_test) and src/bin/proxy.rs, examples/axum.rs and benches/fibonacci_benchmark.rs have no entry at all. Shipping it is strictly worse than not having it. rust-analyzer's ProjectManifest::discover returns as soon as it finds rust-project.json in a parent directory and never reaches the Cargo fallback -- and that fallback works today, discovering corex/, server/ and combos/ one level down. build-ra.sh set -euo pipefail, resolve the repo root instead of assuming the caller's cwd, prefer bazelisk and fail with a clear message when neither binary is on PATH, and accept target patterns instead of hardcoding //.... .cargo-runner.json Drop the linked_projects array: five absolute /Users/uriah/Code/yoyo paths that resolve nowhere else. Delete combos/.cargo-runner.json -- combos/ is a virtual workspace root with no [package], so the file configures nothing. Strip combos/frontend's override, whose match.file_path is another absolute /Users/uriah path and can never fire, plus its redundant "command": "bazel" already set at the root. .gitignore - Delete the *.md catch-all with its two exceptions. It silently swallowed every future doc; CONTRIBUTING.md was unaddable without a -f. - Delete cargo-bazel-lock.json. That is the crate_universe `lockfile` artifact and must be committed for deterministic crate resolution -- ignoring it pre-blocks the fix, the same way ignoring MODULE.bazel.lock does. - .vscode/ -> .vscode/* plus negations, so shared editor config can be committed without dragging in per-user state. - Add rust-project.json. - Remove the five leaf .gitignore files (combos/, combos/backend/, combos/frontend/, corex/, server/). All five were byte-identical (cb20a5d3...) and were the root file minus the *.md block. Verified with git check-ignore that target/, bazel-*, .DS_Store and rust-project.json are still ignored at every depth from the root file alone. README.md The IDE section pointed at three things that do not exist in this repo (.vscode/tasks.json, a Cmd+R Cmd+R binding, ./refresh-rust-analyzer.sh) and told the reader to hand-write "rust-analyzer.linkedProjects": ["rust-project.json"] -- which, now that the file is gitignored, would point at nothing and suppress the working Cargo fallback. Replaced with what actually works. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01D3MwkT9fzAzZweK4birHYz --- .cargo-runner.json | 11 +---- .gitignore | 18 ++++--- README.md | 25 +++++----- build-ra.sh | 21 +++++++-- combos/.cargo-runner.json | 8 ---- combos/.gitignore | 75 ------------------------------ combos/backend/.gitignore | 75 ------------------------------ combos/frontend/.cargo-runner.json | 17 +------ combos/frontend/.gitignore | 75 ------------------------------ corex/.gitignore | 75 ------------------------------ rust-project.json | 1 - server/.gitignore | 75 ------------------------------ 12 files changed, 47 insertions(+), 429 deletions(-) delete mode 100644 combos/.cargo-runner.json delete mode 100644 combos/.gitignore delete mode 100644 combos/backend/.gitignore delete mode 100644 combos/frontend/.gitignore delete mode 100644 corex/.gitignore delete mode 100644 rust-project.json delete mode 100644 server/.gitignore diff --git a/.cargo-runner.json b/.cargo-runner.json index 31ea616..380efa0 100644 --- a/.cargo-runner.json +++ b/.cargo-runner.json @@ -3,14 +3,7 @@ "command": "bazel", "extra_args": [], "extra_env": {}, - "extra_test_binary_args": [], - "linked_projects": [ - "/Users/uriah/Code/yoyo/combos/Cargo.toml", - "/Users/uriah/Code/yoyo/combos/frontend/Cargo.toml", - "/Users/uriah/Code/yoyo/combos/backend/Cargo.toml", - "/Users/uriah/Code/yoyo/server/Cargo.toml", - "/Users/uriah/Code/yoyo/corex/Cargo.toml" - ] + "extra_test_binary_args": [] }, "overrides": [] -} \ No newline at end of file +} diff --git a/.gitignore b/.gitignore index 5c974f9..d06da75 100644 --- a/.gitignore +++ b/.gitignore @@ -16,14 +16,22 @@ target/ # Cargo.lock # Bazel + Rust specific -# Generated by cargo-bazel -cargo-bazel-lock.json +# NOTE: cargo-bazel-lock.json is the crate_universe `lockfile` artifact. It must +# be COMMITTED -- it is what makes crate resolution deterministic and lets CI +# detect a Cargo.lock bump that was never repinned. Do not ignore it. .cargo-bazel/ # IDE .idea/ *.iml -.vscode/ +# Generated by ./build-ra.sh. Machine-specific: it embeds absolute output-base +# paths and the host target triple, and committing it makes rust-analyzer skip +# its (working) Cargo fallback on every other machine. +rust-project.json +.vscode/* +!.vscode/extensions.json +!.vscode/launch.json +!.vscode/tasks.json *.swp *.swo *~ @@ -73,7 +81,3 @@ coverage/ # Temporary files tmp/ temp/ - -*.md -!BAZEL_RUST_GUIDE.md -!README.md diff --git a/README.md b/README.md index 74699e6..8aa1c49 100644 --- a/README.md +++ b/README.md @@ -86,20 +86,23 @@ CARGO_BAZEL_REPIN=1 bazel sync --only=crates --enable_workspace ### 3. IDE Integration **rust-analyzer Setup** -```bash -# Generate rust-project.json -bazel run @rules_rust//tools/rust_analyzer:gen_rust_project -- //... -# VS Code settings.json -{ - "rust-analyzer.linkedProjects": ["rust-project.json"] -} +No editor configuration is required. rust-analyzer discovers `corex/`, `server/` +and `combos/` as three separate Cargo projects on its own. + +For Bazel-accurate metadata — the Bazel-only edges such as `//corex:corex_lib`, +and the exact flags Bazel passes to rustc — generate a `rust-project.json`: + +```bash +./build-ra.sh +# wraps: bazel run @rules_rust//tools/rust_analyzer:gen_rust_project -- //... ``` -**Automation Options** -- VS Code tasks (see `.vscode/tasks.json`) -- Keyboard shortcuts: `Cmd+R Cmd+R` to regenerate -- Shell script: `./refresh-rust-analyzer.sh` +That file is gitignored on purpose: it embeds absolute output-base paths and the +host target triple, so it is only valid on the machine that produced it. Re-run +`./build-ra.sh` after adding or renaming a Bazel target — a stale file points +rust-analyzer at labels that no longer exist, and its mere presence stops +rust-analyzer from falling back to Cargo. ### 4. Common Issues & Solutions diff --git a/build-ra.sh b/build-ra.sh index 2402251..2c258f1 100755 --- a/build-ra.sh +++ b/build-ra.sh @@ -1,3 +1,18 @@ -#!/bin/bash -# Regenerate rust-project.json for rust-analyzer -bazel run @rules_rust//tools/rust_analyzer:gen_rust_project -- //... \ No newline at end of file +#!/usr/bin/env bash +# Regenerate rust-project.json for rust-analyzer. +# +# The generated file is machine-specific -- it embeds absolute output-base paths +# and the host target triple -- so it is gitignored. Run this after changing any +# BUILD.bazel, or skip it entirely: rust-analyzer also discovers corex/, server/ +# and combos/ through plain Cargo. +set -euo pipefail + +cd "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +BAZEL="${BAZEL:-$(command -v bazelisk || command -v bazel || true)}" +if [[ -z "$BAZEL" ]]; then + echo "error: neither bazelisk nor bazel found on PATH" >&2 + exit 1 +fi + +exec "$BAZEL" run @rules_rust//tools/rust_analyzer:gen_rust_project -- "${@:-//...}" diff --git a/combos/.cargo-runner.json b/combos/.cargo-runner.json deleted file mode 100644 index 26f6e45..0000000 --- a/combos/.cargo-runner.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "cargo": { - "extra_args": [], - "extra_env": {}, - "extra_test_binary_args": [] - }, - "overrides": [] -} \ No newline at end of file diff --git a/combos/.gitignore b/combos/.gitignore deleted file mode 100644 index 9463e84..0000000 --- a/combos/.gitignore +++ /dev/null @@ -1,75 +0,0 @@ -bazel-* -.bazelrc.user -.bazelversion.user -MODULE.bazel.lock -.cache/ -.bazel/ - -# Rust -target/ -**/*.rs.bk -*.pdb - -# Cargo -# For applications, you typically want to commit Cargo.lock -# For libraries, you might want to ignore it -# Cargo.lock - -# Bazel + Rust specific -# Generated by cargo-bazel -cargo-bazel-lock.json -.cargo-bazel/ - -# IDE -.idea/ -*.iml -.vscode/ -*.swp -*.swo -*~ -.DS_Store - -# Editor backup files -*.bak -*.tmp -*.temp - -# Debug -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Environment variables -.env -.env.local -.env.*.local - -# OS Files -.DS_Store -.DS_Store? -._* -.Spotlight-V100 -.Trashes -ehthumbs.db -Thumbs.db - -# Python (if using any Python scripts) -__pycache__/ -*.py[cod] -*$py.class -*.so -.Python -env/ -venv/ - -# Coverage -*.lcov -coverage/ -*.gcov -*.gcda -*.gcno - -# Temporary files -tmp/ -temp/ diff --git a/combos/backend/.gitignore b/combos/backend/.gitignore deleted file mode 100644 index 9463e84..0000000 --- a/combos/backend/.gitignore +++ /dev/null @@ -1,75 +0,0 @@ -bazel-* -.bazelrc.user -.bazelversion.user -MODULE.bazel.lock -.cache/ -.bazel/ - -# Rust -target/ -**/*.rs.bk -*.pdb - -# Cargo -# For applications, you typically want to commit Cargo.lock -# For libraries, you might want to ignore it -# Cargo.lock - -# Bazel + Rust specific -# Generated by cargo-bazel -cargo-bazel-lock.json -.cargo-bazel/ - -# IDE -.idea/ -*.iml -.vscode/ -*.swp -*.swo -*~ -.DS_Store - -# Editor backup files -*.bak -*.tmp -*.temp - -# Debug -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Environment variables -.env -.env.local -.env.*.local - -# OS Files -.DS_Store -.DS_Store? -._* -.Spotlight-V100 -.Trashes -ehthumbs.db -Thumbs.db - -# Python (if using any Python scripts) -__pycache__/ -*.py[cod] -*$py.class -*.so -.Python -env/ -venv/ - -# Coverage -*.lcov -coverage/ -*.gcov -*.gcda -*.gcno - -# Temporary files -tmp/ -temp/ diff --git a/combos/frontend/.cargo-runner.json b/combos/frontend/.cargo-runner.json index a464b8d..d307f56 100644 --- a/combos/frontend/.cargo-runner.json +++ b/combos/frontend/.cargo-runner.json @@ -1,22 +1,9 @@ { "cargo": { - "command": "bazel", "extra_args": [], "extra_env": {}, "extra_test_binary_args": [], "package": "frontend" }, - "overrides": [ - { - "match": { - "file_path": "/Users/uriah/Code/yoyo/combos/frontend/src/main.rs", - "function_name": "it_works_too", - "module_path": "tests", - "package": "frontend" - }, - "bazel": { - "extra_test_args": ["--nocapture"] - } - } - ] -} \ No newline at end of file + "overrides": [] +} diff --git a/combos/frontend/.gitignore b/combos/frontend/.gitignore deleted file mode 100644 index 9463e84..0000000 --- a/combos/frontend/.gitignore +++ /dev/null @@ -1,75 +0,0 @@ -bazel-* -.bazelrc.user -.bazelversion.user -MODULE.bazel.lock -.cache/ -.bazel/ - -# Rust -target/ -**/*.rs.bk -*.pdb - -# Cargo -# For applications, you typically want to commit Cargo.lock -# For libraries, you might want to ignore it -# Cargo.lock - -# Bazel + Rust specific -# Generated by cargo-bazel -cargo-bazel-lock.json -.cargo-bazel/ - -# IDE -.idea/ -*.iml -.vscode/ -*.swp -*.swo -*~ -.DS_Store - -# Editor backup files -*.bak -*.tmp -*.temp - -# Debug -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Environment variables -.env -.env.local -.env.*.local - -# OS Files -.DS_Store -.DS_Store? -._* -.Spotlight-V100 -.Trashes -ehthumbs.db -Thumbs.db - -# Python (if using any Python scripts) -__pycache__/ -*.py[cod] -*$py.class -*.so -.Python -env/ -venv/ - -# Coverage -*.lcov -coverage/ -*.gcov -*.gcda -*.gcno - -# Temporary files -tmp/ -temp/ diff --git a/corex/.gitignore b/corex/.gitignore deleted file mode 100644 index 9463e84..0000000 --- a/corex/.gitignore +++ /dev/null @@ -1,75 +0,0 @@ -bazel-* -.bazelrc.user -.bazelversion.user -MODULE.bazel.lock -.cache/ -.bazel/ - -# Rust -target/ -**/*.rs.bk -*.pdb - -# Cargo -# For applications, you typically want to commit Cargo.lock -# For libraries, you might want to ignore it -# Cargo.lock - -# Bazel + Rust specific -# Generated by cargo-bazel -cargo-bazel-lock.json -.cargo-bazel/ - -# IDE -.idea/ -*.iml -.vscode/ -*.swp -*.swo -*~ -.DS_Store - -# Editor backup files -*.bak -*.tmp -*.temp - -# Debug -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Environment variables -.env -.env.local -.env.*.local - -# OS Files -.DS_Store -.DS_Store? -._* -.Spotlight-V100 -.Trashes -ehthumbs.db -Thumbs.db - -# Python (if using any Python scripts) -__pycache__/ -*.py[cod] -*$py.class -*.so -.Python -env/ -venv/ - -# Coverage -*.lcov -coverage/ -*.gcov -*.gcda -*.gcno - -# Temporary files -tmp/ -temp/ diff --git a/rust-project.json b/rust-project.json deleted file mode 100644 index ad849ab..0000000 --- a/rust-project.json +++ /dev/null @@ -1 +0,0 @@ -{"sysroot":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/external/rules_rust++rust+rust_analyzer_1.86.0_tools","sysroot_src":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/external/rules_rust++rust+rust_analyzer_1.86.0_tools/lib/rustlib/src/library","crates":[{"display_name":"backend_bin","root_module":"/Users/uriah/Code/yoyo/combos/backend/src/main.rs","edition":"2021","deps":[],"is_workspace_member":true,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"backend_bin","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/combos/backend","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"backend_bin","CARGO_PKG_VERSION":"0.0.0","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"0","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"","ZERO_AR_DATE":"1"},"is_proc_macro":false,"build":{"label":"combos/backend:backend_tests","build_file":"/Users/uriah/Code/yoyo/combos/backend/BUILD.bazel","target_kind":"bin"}},{"display_name":"frontend_bin","root_module":"/Users/uriah/Code/yoyo/combos/frontend/src/main.rs","edition":"2021","deps":[],"is_workspace_member":true,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"frontend_bin","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/combos/frontend","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"frontend_bin","CARGO_PKG_VERSION":"0.0.0","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"0","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"","ZERO_AR_DATE":"1"},"is_proc_macro":false,"build":{"label":"combos/frontend:frontend_tests","build_file":"/Users/uriah/Code/yoyo/combos/frontend/BUILD.bazel","target_kind":"test"}},{"display_name":"unicode_ident","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+corex_crates__unicode-ident-1.0.18/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"unicode_ident","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+corex_crates__unicode-ident-1.0.18","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"unicode_ident","CARGO_PKG_VERSION":"1.0.18","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"18","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+corex_crates__unicode-ident-1.0.18"},"is_proc_macro":false},{"display_name":"bytes","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__bytes-1.10.1/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"default\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"bytes","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__bytes-1.10.1","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"bytes","CARGO_PKG_VERSION":"1.10.1","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"10","CARGO_PKG_VERSION_PATCH":"1","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__bytes-1.10.1"},"is_proc_macro":false},{"display_name":"cfg_if","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__cfg-if-1.0.1/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"cfg_if","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__cfg-if-1.0.1","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"cfg_if","CARGO_PKG_VERSION":"1.0.1","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"1","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__cfg-if-1.0.1"},"is_proc_macro":false},{"display_name":"fnv","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__fnv-1.0.7/lib.rs","edition":"2015","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"default\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"fnv","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__fnv-1.0.7","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"fnv","CARGO_PKG_VERSION":"1.0.7","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"7","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__fnv-1.0.7"},"is_proc_macro":false},{"display_name":"futures_core","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__futures-core-0.3.31/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"alloc\"","feature=\"default\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"futures_core","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__futures-core-0.3.31","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"futures_core","CARGO_PKG_VERSION":"0.3.31","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"3","CARGO_PKG_VERSION_PATCH":"31","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__futures-core-0.3.31"},"is_proc_macro":false},{"display_name":"futures_task","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__futures-task-0.3.31/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"alloc\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"futures_task","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__futures-task-0.3.31","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"futures_task","CARGO_PKG_VERSION":"0.3.31","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"3","CARGO_PKG_VERSION_PATCH":"31","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__futures-task-0.3.31"},"is_proc_macro":false},{"display_name":"httparse","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__httparse-1.10.1/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"source":{"include_dirs":["/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__httparse-1.10.1/src","/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/external/rules_rust++crate+server_crates__httparse-1.10.1/_bs.out_dir"],"exclude_dirs":[]},"cfg":["test","debug_assertions","feature=\"default\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"httparse","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__httparse-1.10.1","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"httparse","CARGO_PKG_VERSION":"1.10.1","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"10","CARGO_PKG_VERSION_PATCH":"1","CARGO_PKG_VERSION_PRE":"","OUT_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/external/rules_rust++crate+server_crates__httparse-1.10.1/_bs.out_dir","REPOSITORY_NAME":"rules_rust++crate+server_crates__httparse-1.10.1"},"is_proc_macro":false},{"display_name":"httpdate","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__httpdate-1.0.3/src/lib.rs","edition":"2021","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"httpdate","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__httpdate-1.0.3","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"httpdate","CARGO_PKG_VERSION":"1.0.3","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"3","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__httpdate-1.0.3"},"is_proc_macro":false},{"display_name":"itoa","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__itoa-1.0.15/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"itoa","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__itoa-1.0.15","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"itoa","CARGO_PKG_VERSION":"1.0.15","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"15","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__itoa-1.0.15"},"is_proc_macro":false},{"display_name":"libc","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__libc-0.2.175/src/lib.rs","edition":"2021","deps":[],"is_workspace_member":false,"source":{"include_dirs":["/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__libc-0.2.175/src","/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/external/rules_rust++crate+server_crates__libc-0.2.175/_bs.out_dir"],"exclude_dirs":[]},"cfg":["test","debug_assertions","feature=\"default\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"libc","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__libc-0.2.175","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"libc","CARGO_PKG_VERSION":"0.2.175","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"2","CARGO_PKG_VERSION_PATCH":"175","CARGO_PKG_VERSION_PRE":"","OUT_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/external/rules_rust++crate+server_crates__libc-0.2.175/_bs.out_dir","REPOSITORY_NAME":"rules_rust++crate+server_crates__libc-0.2.175"},"is_proc_macro":false},{"display_name":"log","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__log-0.4.27/src/lib.rs","edition":"2021","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"log","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__log-0.4.27","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"log","CARGO_PKG_VERSION":"0.4.27","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"4","CARGO_PKG_VERSION_PATCH":"27","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__log-0.4.27"},"is_proc_macro":false},{"display_name":"matchit","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__matchit-0.8.4/src/lib.rs","edition":"2021","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"default\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"matchit","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__matchit-0.8.4","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"matchit","CARGO_PKG_VERSION":"0.8.4","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"8","CARGO_PKG_VERSION_PATCH":"4","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__matchit-0.8.4"},"is_proc_macro":false},{"display_name":"memchr","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__memchr-2.7.5/src/lib.rs","edition":"2021","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"alloc\"","feature=\"default\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"memchr","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__memchr-2.7.5","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"memchr","CARGO_PKG_VERSION":"2.7.5","CARGO_PKG_VERSION_MAJOR":"2","CARGO_PKG_VERSION_MINOR":"7","CARGO_PKG_VERSION_PATCH":"5","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__memchr-2.7.5"},"is_proc_macro":false},{"display_name":"mime","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__mime-0.3.17/src/lib.rs","edition":"2015","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"mime","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__mime-0.3.17","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"mime","CARGO_PKG_VERSION":"0.3.17","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"3","CARGO_PKG_VERSION_PATCH":"17","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__mime-0.3.17"},"is_proc_macro":false},{"display_name":"mio","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__mio-1.0.4/src/lib.rs","edition":"2021","deps":[{"crate":11,"name":"libc"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"net\"","feature=\"os-ext\"","feature=\"os-poll\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"mio","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__mio-1.0.4","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"mio","CARGO_PKG_VERSION":"1.0.4","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"4","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__mio-1.0.4"},"is_proc_macro":false},{"display_name":"once_cell","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__once_cell-1.21.3/src/lib.rs","edition":"2021","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"alloc\"","feature=\"default\"","feature=\"race\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"once_cell","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__once_cell-1.21.3","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"once_cell","CARGO_PKG_VERSION":"1.21.3","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"21","CARGO_PKG_VERSION_PATCH":"3","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__once_cell-1.21.3"},"is_proc_macro":false},{"display_name":"percent_encoding","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__percent-encoding-2.3.1/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"alloc\"","feature=\"default\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"percent_encoding","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__percent-encoding-2.3.1","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"percent_encoding","CARGO_PKG_VERSION":"2.3.1","CARGO_PKG_VERSION_MAJOR":"2","CARGO_PKG_VERSION_MINOR":"3","CARGO_PKG_VERSION_PATCH":"1","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__percent-encoding-2.3.1"},"is_proc_macro":false},{"display_name":"pin_project_lite","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__pin-project-lite-0.2.16/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"pin_project_lite","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__pin-project-lite-0.2.16","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"pin_project_lite","CARGO_PKG_VERSION":"0.2.16","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"2","CARGO_PKG_VERSION_PATCH":"16","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__pin-project-lite-0.2.16"},"is_proc_macro":false},{"display_name":"pin_utils","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__pin-utils-0.1.0/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"pin_utils","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__pin-utils-0.1.0","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"pin_utils","CARGO_PKG_VERSION":"0.1.0","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"1","CARGO_PKG_VERSION_PATCH":"0","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__pin-utils-0.1.0"},"is_proc_macro":false},{"display_name":"rustversion","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__rustversion-1.0.22/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"source":{"include_dirs":["/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__rustversion-1.0.22/src","/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-opt-exec-ST-d57f47055a04/bin/external/rules_rust++crate+server_crates__rustversion-1.0.22/_bs.out_dir"],"exclude_dirs":[]},"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"rustversion","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__rustversion-1.0.22","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"rustversion","CARGO_PKG_VERSION":"1.0.22","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"22","CARGO_PKG_VERSION_PRE":"","OUT_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-opt-exec-ST-d57f47055a04/bin/external/rules_rust++crate+server_crates__rustversion-1.0.22/_bs.out_dir","REPOSITORY_NAME":"rules_rust++crate+server_crates__rustversion-1.0.22","ZERO_AR_DATE":"1"},"is_proc_macro":true,"proc_macro_dylib_path":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-opt-exec-ST-d57f47055a04/bin/external/rules_rust++crate+server_crates__rustversion-1.0.22/librustversion-938116891.dylib"},{"display_name":"ryu","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__ryu-1.0.20/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"ryu","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__ryu-1.0.20","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"ryu","CARGO_PKG_VERSION":"1.0.20","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"20","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__ryu-1.0.20"},"is_proc_macro":false},{"display_name":"scopeguard","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__scopeguard-1.2.0/src/lib.rs","edition":"2015","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"scopeguard","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__scopeguard-1.2.0","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"scopeguard","CARGO_PKG_VERSION":"1.2.0","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"2","CARGO_PKG_VERSION_PATCH":"0","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__scopeguard-1.2.0"},"is_proc_macro":false},{"display_name":"signal_hook_registry","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__signal-hook-registry-1.4.6/src/lib.rs","edition":"2015","deps":[{"crate":11,"name":"libc"}],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"signal_hook_registry","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__signal-hook-registry-1.4.6","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"signal_hook_registry","CARGO_PKG_VERSION":"1.4.6","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"4","CARGO_PKG_VERSION_PATCH":"6","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__signal-hook-registry-1.4.6"},"is_proc_macro":false},{"display_name":"smallvec","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__smallvec-1.15.1/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"const_generics\"","feature=\"const_new\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"smallvec","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__smallvec-1.15.1","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"smallvec","CARGO_PKG_VERSION":"1.15.1","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"15","CARGO_PKG_VERSION_PATCH":"1","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__smallvec-1.15.1"},"is_proc_macro":false},{"display_name":"socket2","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__socket2-0.6.0/src/lib.rs","edition":"2021","deps":[{"crate":11,"name":"libc"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"all\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"socket2","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__socket2-0.6.0","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"socket2","CARGO_PKG_VERSION":"0.6.0","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"6","CARGO_PKG_VERSION_PATCH":"0","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__socket2-0.6.0"},"is_proc_macro":false},{"display_name":"sync_wrapper","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__sync_wrapper-1.0.2/src/lib.rs","edition":"2021","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"sync_wrapper","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__sync_wrapper-1.0.2","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"sync_wrapper","CARGO_PKG_VERSION":"1.0.2","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"2","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__sync_wrapper-1.0.2"},"is_proc_macro":false},{"display_name":"tower_layer","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__tower-layer-0.3.3/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"tower_layer","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__tower-layer-0.3.3","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"tower_layer","CARGO_PKG_VERSION":"0.3.3","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"3","CARGO_PKG_VERSION_PATCH":"3","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__tower-layer-0.3.3"},"is_proc_macro":false},{"display_name":"tower_service","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__tower-service-0.3.3/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"tower_service","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__tower-service-0.3.3","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"tower_service","CARGO_PKG_VERSION":"0.3.3","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"3","CARGO_PKG_VERSION_PATCH":"3","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__tower-service-0.3.3"},"is_proc_macro":false},{"display_name":"tracing_core","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__tracing-core-0.1.34/src/lib.rs","edition":"2018","deps":[{"crate":17,"name":"once_cell"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"once_cell\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"tracing_core","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__tracing-core-0.1.34","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"tracing_core","CARGO_PKG_VERSION":"0.1.34","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"1","CARGO_PKG_VERSION_PATCH":"34","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__tracing-core-0.1.34"},"is_proc_macro":false},{"display_name":"unicode_ident","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__unicode-ident-1.0.18/src/lib.rs","edition":"2018","deps":[],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"unicode_ident","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__unicode-ident-1.0.18","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"unicode_ident","CARGO_PKG_VERSION":"1.0.18","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"18","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__unicode-ident-1.0.18"},"is_proc_macro":false},{"display_name":"integrated_tests_suite_tests_just_test_test","root_module":"/Users/uriah/Code/yoyo/server/tests/just_test.rs","edition":"2021","deps":[],"is_workspace_member":true,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"integrated_tests_suite_tests_just_test_test","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/server","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"integrated_tests_suite_tests/just_test_test","CARGO_PKG_VERSION":"0.0.0","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"0","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"","ZERO_AR_DATE":"1"},"is_proc_macro":false,"build":{"label":"server:integrated_tests_suite_tests/just_test_test","build_file":"/Users/uriah/Code/yoyo/server/BUILD.bazel","target_kind":"test"}},{"display_name":"proc_macro2","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+corex_crates__proc-macro2-1.0.96/src/lib.rs","edition":"2021","deps":[{"crate":2,"name":"unicode_ident"}],"is_workspace_member":false,"source":{"include_dirs":["/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+corex_crates__proc-macro2-1.0.96/src","/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-opt-exec-ST-d57f47055a04/bin/external/rules_rust++crate+corex_crates__proc-macro2-1.0.96/_bs.out_dir"],"exclude_dirs":[]},"cfg":["test","debug_assertions","feature=\"proc-macro\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"proc_macro2","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+corex_crates__proc-macro2-1.0.96","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"proc_macro2","CARGO_PKG_VERSION":"1.0.96","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"96","CARGO_PKG_VERSION_PRE":"","OUT_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-opt-exec-ST-d57f47055a04/bin/external/rules_rust++crate+corex_crates__proc-macro2-1.0.96/_bs.out_dir","REPOSITORY_NAME":"rules_rust++crate+corex_crates__proc-macro2-1.0.96"},"is_proc_macro":false},{"display_name":"quote","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+corex_crates__quote-1.0.40/src/lib.rs","edition":"2018","deps":[{"crate":33,"name":"proc_macro2"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"proc-macro\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"quote","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+corex_crates__quote-1.0.40","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"quote","CARGO_PKG_VERSION":"1.0.40","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"40","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+corex_crates__quote-1.0.40"},"is_proc_macro":false},{"display_name":"syn","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+corex_crates__syn-2.0.104/src/lib.rs","edition":"2021","deps":[{"crate":33,"name":"proc_macro2"},{"crate":34,"name":"quote"},{"crate":2,"name":"unicode_ident"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"clone-impls\"","feature=\"derive\"","feature=\"parsing\"","feature=\"printing\"","feature=\"proc-macro\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"syn","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+corex_crates__syn-2.0.104","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"syn","CARGO_PKG_VERSION":"2.0.104","CARGO_PKG_VERSION_MAJOR":"2","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"104","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+corex_crates__syn-2.0.104"},"is_proc_macro":false},{"display_name":"form_urlencoded","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__form_urlencoded-1.2.1/src/lib.rs","edition":"2018","deps":[{"crate":18,"name":"percent_encoding"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"alloc\"","feature=\"default\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"form_urlencoded","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__form_urlencoded-1.2.1","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"form_urlencoded","CARGO_PKG_VERSION":"1.2.1","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"2","CARGO_PKG_VERSION_PATCH":"1","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__form_urlencoded-1.2.1"},"is_proc_macro":false},{"display_name":"futures_channel","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__futures-channel-0.3.31/src/lib.rs","edition":"2018","deps":[{"crate":6,"name":"futures_core"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"alloc\"","feature=\"default\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"futures_channel","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__futures-channel-0.3.31","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"futures_channel","CARGO_PKG_VERSION":"0.3.31","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"3","CARGO_PKG_VERSION_PATCH":"31","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__futures-channel-0.3.31"},"is_proc_macro":false},{"display_name":"futures_util","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__futures-util-0.3.31/src/lib.rs","edition":"2018","deps":[{"crate":6,"name":"futures_core"},{"crate":7,"name":"futures_task"},{"crate":19,"name":"pin_project_lite"},{"crate":20,"name":"pin_utils"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"alloc\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"futures_util","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__futures-util-0.3.31","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"futures_util","CARGO_PKG_VERSION":"0.3.31","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"3","CARGO_PKG_VERSION_PATCH":"31","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__futures-util-0.3.31"},"is_proc_macro":false},{"display_name":"http","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__http-1.3.1/src/lib.rs","edition":"2018","deps":[{"crate":3,"name":"bytes"},{"crate":5,"name":"fnv"},{"crate":10,"name":"itoa"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"default\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"http","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__http-1.3.1","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"http","CARGO_PKG_VERSION":"1.3.1","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"3","CARGO_PKG_VERSION_PATCH":"1","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__http-1.3.1"},"is_proc_macro":false},{"display_name":"http_body","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__http-body-1.0.1/src/lib.rs","edition":"2018","deps":[{"crate":3,"name":"bytes"},{"crate":39,"name":"http"}],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"http_body","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__http-body-1.0.1","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"http_body","CARGO_PKG_VERSION":"1.0.1","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"1","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__http-body-1.0.1"},"is_proc_macro":false},{"display_name":"http_body_util","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__http-body-util-0.1.3/src/lib.rs","edition":"2018","deps":[{"crate":3,"name":"bytes"},{"crate":6,"name":"futures_core"},{"crate":39,"name":"http"},{"crate":40,"name":"http_body"},{"crate":19,"name":"pin_project_lite"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"default\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"http_body_util","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__http-body-util-0.1.3","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"http_body_util","CARGO_PKG_VERSION":"0.1.3","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"1","CARGO_PKG_VERSION_PATCH":"3","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__http-body-util-0.1.3"},"is_proc_macro":false},{"display_name":"lock_api","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__lock_api-0.4.13/src/lib.rs","edition":"2021","deps":[{"crate":23,"name":"scopeguard"}],"is_workspace_member":false,"source":{"include_dirs":["/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__lock_api-0.4.13/src","/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/external/rules_rust++crate+server_crates__lock_api-0.4.13/_bs.out_dir"],"exclude_dirs":[]},"cfg":["test","debug_assertions","feature=\"atomic_usize\"","feature=\"default\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"lock_api","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__lock_api-0.4.13","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"lock_api","CARGO_PKG_VERSION":"0.4.13","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"4","CARGO_PKG_VERSION_PATCH":"13","CARGO_PKG_VERSION_PRE":"","OUT_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/external/rules_rust++crate+server_crates__lock_api-0.4.13/_bs.out_dir","REPOSITORY_NAME":"rules_rust++crate+server_crates__lock_api-0.4.13"},"is_proc_macro":false},{"display_name":"parking_lot_core","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__parking_lot_core-0.9.11/src/lib.rs","edition":"2021","deps":[{"crate":4,"name":"cfg_if"},{"crate":11,"name":"libc"},{"crate":25,"name":"smallvec"}],"is_workspace_member":false,"source":{"include_dirs":["/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__parking_lot_core-0.9.11/src","/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/external/rules_rust++crate+server_crates__parking_lot_core-0.9.11/_bs.out_dir"],"exclude_dirs":[]},"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"parking_lot_core","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__parking_lot_core-0.9.11","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"parking_lot_core","CARGO_PKG_VERSION":"0.9.11","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"9","CARGO_PKG_VERSION_PATCH":"11","CARGO_PKG_VERSION_PRE":"","OUT_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/external/rules_rust++crate+server_crates__parking_lot_core-0.9.11/_bs.out_dir","REPOSITORY_NAME":"rules_rust++crate+server_crates__parking_lot_core-0.9.11"},"is_proc_macro":false},{"display_name":"proc_macro2","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__proc-macro2-1.0.96/src/lib.rs","edition":"2021","deps":[{"crate":31,"name":"unicode_ident"}],"is_workspace_member":false,"source":{"include_dirs":["/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__proc-macro2-1.0.96/src","/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-opt-exec-ST-d57f47055a04/bin/external/rules_rust++crate+server_crates__proc-macro2-1.0.96/_bs.out_dir"],"exclude_dirs":[]},"cfg":["test","debug_assertions","feature=\"default\"","feature=\"proc-macro\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"proc_macro2","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__proc-macro2-1.0.96","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"proc_macro2","CARGO_PKG_VERSION":"1.0.96","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"96","CARGO_PKG_VERSION_PRE":"","OUT_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-opt-exec-ST-d57f47055a04/bin/external/rules_rust++crate+server_crates__proc-macro2-1.0.96/_bs.out_dir","REPOSITORY_NAME":"rules_rust++crate+server_crates__proc-macro2-1.0.96"},"is_proc_macro":false},{"display_name":"quote","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__quote-1.0.40/src/lib.rs","edition":"2018","deps":[{"crate":44,"name":"proc_macro2"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"default\"","feature=\"proc-macro\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"quote","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__quote-1.0.40","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"quote","CARGO_PKG_VERSION":"1.0.40","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"40","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__quote-1.0.40"},"is_proc_macro":false},{"display_name":"syn","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__syn-2.0.104/src/lib.rs","edition":"2021","deps":[{"crate":44,"name":"proc_macro2"},{"crate":45,"name":"quote"},{"crate":31,"name":"unicode_ident"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"clone-impls\"","feature=\"default\"","feature=\"derive\"","feature=\"full\"","feature=\"parsing\"","feature=\"printing\"","feature=\"proc-macro\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"syn","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__syn-2.0.104","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"syn","CARGO_PKG_VERSION":"2.0.104","CARGO_PKG_VERSION_MAJOR":"2","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"104","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__syn-2.0.104"},"is_proc_macro":false},{"display_name":"tokio_macros","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__tokio-macros-2.5.0/src/lib.rs","edition":"2021","deps":[{"crate":44,"name":"proc_macro2"},{"crate":45,"name":"quote"},{"crate":46,"name":"syn"}],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"tokio_macros","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__tokio-macros-2.5.0","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"tokio_macros","CARGO_PKG_VERSION":"2.5.0","CARGO_PKG_VERSION_MAJOR":"2","CARGO_PKG_VERSION_MINOR":"5","CARGO_PKG_VERSION_PATCH":"0","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__tokio-macros-2.5.0","ZERO_AR_DATE":"1"},"is_proc_macro":true,"proc_macro_dylib_path":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-opt-exec-ST-d57f47055a04/bin/external/rules_rust++crate+server_crates__tokio-macros-2.5.0/libtokio_macros-284111295.dylib"},{"display_name":"tracing","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__tracing-0.1.41/src/lib.rs","edition":"2018","deps":[{"crate":12,"name":"log"},{"crate":19,"name":"pin_project_lite"},{"crate":30,"name":"tracing_core"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"log\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"tracing","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__tracing-0.1.41","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"tracing","CARGO_PKG_VERSION":"0.1.41","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"1","CARGO_PKG_VERSION_PATCH":"41","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__tracing-0.1.41"},"is_proc_macro":false},{"display_name":"serde_derive","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+corex_crates__serde_derive-1.0.219/src/lib.rs","edition":"2015","deps":[{"crate":33,"name":"proc_macro2"},{"crate":34,"name":"quote"},{"crate":35,"name":"syn"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"default\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"serde_derive","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+corex_crates__serde_derive-1.0.219","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"serde_derive","CARGO_PKG_VERSION":"1.0.219","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"219","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+corex_crates__serde_derive-1.0.219","ZERO_AR_DATE":"1"},"is_proc_macro":true,"proc_macro_dylib_path":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-opt-exec-ST-d57f47055a04/bin/external/rules_rust++crate+corex_crates__serde_derive-1.0.219/libserde_derive-3631484374.dylib"},{"display_name":"axum_core","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__axum-core-0.5.2/src/lib.rs","edition":"2021","deps":[{"crate":3,"name":"bytes"},{"crate":6,"name":"futures_core"},{"crate":39,"name":"http"},{"crate":40,"name":"http_body"},{"crate":41,"name":"http_body_util"},{"crate":15,"name":"mime"},{"crate":19,"name":"pin_project_lite"},{"crate":21,"name":"rustversion"},{"crate":27,"name":"sync_wrapper"},{"crate":28,"name":"tower_layer"},{"crate":29,"name":"tower_service"},{"crate":48,"name":"tracing"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"tracing\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"axum_core","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__axum-core-0.5.2","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"axum_core","CARGO_PKG_VERSION":"0.5.2","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"5","CARGO_PKG_VERSION_PATCH":"2","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__axum-core-0.5.2"},"is_proc_macro":false},{"display_name":"parking_lot","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__parking_lot-0.12.4/src/lib.rs","edition":"2021","deps":[{"crate":42,"name":"lock_api"},{"crate":43,"name":"parking_lot_core"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"default\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"parking_lot","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__parking_lot-0.12.4","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"parking_lot","CARGO_PKG_VERSION":"0.12.4","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"12","CARGO_PKG_VERSION_PATCH":"4","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__parking_lot-0.12.4"},"is_proc_macro":false},{"display_name":"serde_derive","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__serde_derive-1.0.219/src/lib.rs","edition":"2015","deps":[{"crate":44,"name":"proc_macro2"},{"crate":45,"name":"quote"},{"crate":46,"name":"syn"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"default\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"serde_derive","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__serde_derive-1.0.219","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"serde_derive","CARGO_PKG_VERSION":"1.0.219","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"219","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__serde_derive-1.0.219","ZERO_AR_DATE":"1"},"is_proc_macro":true,"proc_macro_dylib_path":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-opt-exec-ST-d57f47055a04/bin/external/rules_rust++crate+server_crates__serde_derive-1.0.219/libserde_derive-3759025378.dylib"},{"display_name":"tokio","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__tokio-1.47.1/src/lib.rs","edition":"2021","deps":[{"crate":3,"name":"bytes"},{"crate":11,"name":"libc"},{"crate":16,"name":"mio"},{"crate":51,"name":"parking_lot"},{"crate":19,"name":"pin_project_lite"},{"crate":24,"name":"signal_hook_registry"},{"crate":26,"name":"socket2"},{"crate":47,"name":"tokio_macros"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"bytes\"","feature=\"default\"","feature=\"fs\"","feature=\"full\"","feature=\"io-std\"","feature=\"io-util\"","feature=\"libc\"","feature=\"macros\"","feature=\"mio\"","feature=\"net\"","feature=\"parking_lot\"","feature=\"process\"","feature=\"rt\"","feature=\"rt-multi-thread\"","feature=\"signal\"","feature=\"signal-hook-registry\"","feature=\"socket2\"","feature=\"sync\"","feature=\"time\"","feature=\"tokio-macros\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"tokio","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__tokio-1.47.1","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"tokio","CARGO_PKG_VERSION":"1.47.1","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"47","CARGO_PKG_VERSION_PATCH":"1","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__tokio-1.47.1"},"is_proc_macro":false},{"display_name":"tower","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__tower-0.5.2/src/lib.rs","edition":"2018","deps":[{"crate":6,"name":"futures_core"},{"crate":38,"name":"futures_util"},{"crate":19,"name":"pin_project_lite"},{"crate":27,"name":"sync_wrapper"},{"crate":53,"name":"tokio"},{"crate":28,"name":"tower_layer"},{"crate":29,"name":"tower_service"},{"crate":48,"name":"tracing"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"__common\"","feature=\"futures-core\"","feature=\"futures-util\"","feature=\"log\"","feature=\"make\"","feature=\"pin-project-lite\"","feature=\"sync_wrapper\"","feature=\"tokio\"","feature=\"tracing\"","feature=\"util\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"tower","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__tower-0.5.2","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"tower","CARGO_PKG_VERSION":"0.5.2","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"5","CARGO_PKG_VERSION_PATCH":"2","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__tower-0.5.2"},"is_proc_macro":false},{"display_name":"serde","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+corex_crates__serde-1.0.219/src/lib.rs","edition":"2018","deps":[{"crate":49,"name":"serde_derive"}],"is_workspace_member":false,"source":{"include_dirs":["/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+corex_crates__serde-1.0.219/src","/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/external/rules_rust++crate+corex_crates__serde-1.0.219/_bs.out_dir"],"exclude_dirs":[]},"cfg":["test","debug_assertions","feature=\"default\"","feature=\"derive\"","feature=\"serde_derive\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"serde","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+corex_crates__serde-1.0.219","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"serde","CARGO_PKG_VERSION":"1.0.219","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"219","CARGO_PKG_VERSION_PRE":"","OUT_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/external/rules_rust++crate+corex_crates__serde-1.0.219/_bs.out_dir","REPOSITORY_NAME":"rules_rust++crate+corex_crates__serde-1.0.219"},"is_proc_macro":false},{"display_name":"hyper","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__hyper-1.6.0/src/lib.rs","edition":"2021","deps":[{"crate":3,"name":"bytes"},{"crate":37,"name":"futures_channel"},{"crate":38,"name":"futures_util"},{"crate":39,"name":"http"},{"crate":40,"name":"http_body"},{"crate":8,"name":"httparse"},{"crate":9,"name":"httpdate"},{"crate":10,"name":"itoa"},{"crate":19,"name":"pin_project_lite"},{"crate":25,"name":"smallvec"},{"crate":53,"name":"tokio"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"default\"","feature=\"http1\"","feature=\"server\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"hyper","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__hyper-1.6.0","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"hyper","CARGO_PKG_VERSION":"1.6.0","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"6","CARGO_PKG_VERSION_PATCH":"0","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__hyper-1.6.0"},"is_proc_macro":false},{"display_name":"hyper_util","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__hyper-util-0.1.16/src/lib.rs","edition":"2021","deps":[{"crate":3,"name":"bytes"},{"crate":6,"name":"futures_core"},{"crate":39,"name":"http"},{"crate":40,"name":"http_body"},{"crate":56,"name":"hyper"},{"crate":19,"name":"pin_project_lite"},{"crate":53,"name":"tokio"},{"crate":29,"name":"tower_service"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"default\"","feature=\"http1\"","feature=\"server\"","feature=\"service\"","feature=\"tokio\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"hyper_util","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__hyper-util-0.1.16","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"hyper_util","CARGO_PKG_VERSION":"0.1.16","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"1","CARGO_PKG_VERSION_PATCH":"16","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__hyper-util-0.1.16"},"is_proc_macro":false},{"display_name":"serde","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__serde-1.0.219/src/lib.rs","edition":"2018","deps":[{"crate":52,"name":"serde_derive"}],"is_workspace_member":false,"source":{"include_dirs":["/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__serde-1.0.219/src","/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/external/rules_rust++crate+server_crates__serde-1.0.219/_bs.out_dir"],"exclude_dirs":[]},"cfg":["test","debug_assertions","feature=\"default\"","feature=\"derive\"","feature=\"serde_derive\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"serde","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__serde-1.0.219","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"serde","CARGO_PKG_VERSION":"1.0.219","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"219","CARGO_PKG_VERSION_PRE":"","OUT_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/external/rules_rust++crate+server_crates__serde-1.0.219/_bs.out_dir","REPOSITORY_NAME":"rules_rust++crate+server_crates__serde-1.0.219"},"is_proc_macro":false},{"display_name":"serde_json","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__serde_json-1.0.142/src/lib.rs","edition":"2021","deps":[{"crate":10,"name":"itoa"},{"crate":14,"name":"memchr"},{"crate":22,"name":"ryu"},{"crate":58,"name":"serde"}],"is_workspace_member":false,"source":{"include_dirs":["/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__serde_json-1.0.142/src","/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/external/rules_rust++crate+server_crates__serde_json-1.0.142/_bs.out_dir"],"exclude_dirs":[]},"cfg":["test","debug_assertions","feature=\"default\"","feature=\"raw_value\"","feature=\"std\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"serde_json","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__serde_json-1.0.142","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"serde_json","CARGO_PKG_VERSION":"1.0.142","CARGO_PKG_VERSION_MAJOR":"1","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"142","CARGO_PKG_VERSION_PRE":"","OUT_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/bazel-out/darwin_arm64-fastbuild/bin/external/rules_rust++crate+server_crates__serde_json-1.0.142/_bs.out_dir","REPOSITORY_NAME":"rules_rust++crate+server_crates__serde_json-1.0.142"},"is_proc_macro":false},{"display_name":"serde_path_to_error","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__serde_path_to_error-0.1.17/src/lib.rs","edition":"2021","deps":[{"crate":10,"name":"itoa"},{"crate":58,"name":"serde"}],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"serde_path_to_error","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__serde_path_to_error-0.1.17","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"serde_path_to_error","CARGO_PKG_VERSION":"0.1.17","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"1","CARGO_PKG_VERSION_PATCH":"17","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__serde_path_to_error-0.1.17"},"is_proc_macro":false},{"display_name":"serde_urlencoded","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__serde_urlencoded-0.7.1/src/lib.rs","edition":"2018","deps":[{"crate":36,"name":"form_urlencoded"},{"crate":10,"name":"itoa"},{"crate":22,"name":"ryu"},{"crate":58,"name":"serde"}],"is_workspace_member":false,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"serde_urlencoded","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__serde_urlencoded-0.7.1","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"serde_urlencoded","CARGO_PKG_VERSION":"0.7.1","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"7","CARGO_PKG_VERSION_PATCH":"1","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__serde_urlencoded-0.7.1"},"is_proc_macro":false},{"display_name":"corex","root_module":"/Users/uriah/Code/yoyo/corex/src/lib.rs","edition":"2021","deps":[{"crate":55,"name":"serde"}],"is_workspace_member":true,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"corex","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/corex","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"corex_lib","CARGO_PKG_VERSION":"0.0.0","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"0","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"","ZERO_AR_DATE":"1"},"is_proc_macro":false,"build":{"label":"corex:corex_tests","build_file":"/Users/uriah/Code/yoyo/corex/BUILD.bazel","target_kind":"lib"}},{"display_name":"axum","root_module":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__axum-0.8.4/src/lib.rs","edition":"2021","deps":[{"crate":50,"name":"axum_core"},{"crate":3,"name":"bytes"},{"crate":36,"name":"form_urlencoded"},{"crate":38,"name":"futures_util"},{"crate":39,"name":"http"},{"crate":40,"name":"http_body"},{"crate":41,"name":"http_body_util"},{"crate":56,"name":"hyper"},{"crate":57,"name":"hyper_util"},{"crate":10,"name":"itoa"},{"crate":13,"name":"matchit"},{"crate":14,"name":"memchr"},{"crate":15,"name":"mime"},{"crate":18,"name":"percent_encoding"},{"crate":19,"name":"pin_project_lite"},{"crate":21,"name":"rustversion"},{"crate":58,"name":"serde"},{"crate":59,"name":"serde_json"},{"crate":60,"name":"serde_path_to_error"},{"crate":61,"name":"serde_urlencoded"},{"crate":27,"name":"sync_wrapper"},{"crate":53,"name":"tokio"},{"crate":54,"name":"tower"},{"crate":28,"name":"tower_layer"},{"crate":29,"name":"tower_service"},{"crate":48,"name":"tracing"}],"is_workspace_member":false,"cfg":["test","debug_assertions","feature=\"default\"","feature=\"form\"","feature=\"http1\"","feature=\"json\"","feature=\"matched-path\"","feature=\"original-uri\"","feature=\"query\"","feature=\"tokio\"","feature=\"tower-log\"","feature=\"tracing\""],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"axum","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/external/rules_rust++crate+server_crates__axum-0.8.4","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"axum","CARGO_PKG_VERSION":"0.8.4","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"8","CARGO_PKG_VERSION_PATCH":"4","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"rules_rust++crate+server_crates__axum-0.8.4"},"is_proc_macro":false},{"display_name":"server_bin","root_module":"/Users/uriah/Code/yoyo/server/src/main.rs","edition":"2021","deps":[{"crate":62,"name":"corex"},{"crate":63,"name":"axum"},{"crate":58,"name":"serde"},{"crate":53,"name":"tokio"}],"is_workspace_member":true,"cfg":["test","debug_assertions"],"target":"aarch64-apple-darwin","env":{"CARGO_CFG_TARGET_ARCH":"aarch64","CARGO_CFG_TARGET_OS":"macos","CARGO_CRATE_NAME":"server_bin","CARGO_MANIFEST_DIR":"/private/var/tmp/_bazel_uriah/54d8c81775d4b8aac3bc2ad99b8e697a/execroot/_main/server","CARGO_PKG_AUTHORS":"","CARGO_PKG_DESCRIPTION":"","CARGO_PKG_HOMEPAGE":"","CARGO_PKG_NAME":"server_bin","CARGO_PKG_VERSION":"0.0.0","CARGO_PKG_VERSION_MAJOR":"0","CARGO_PKG_VERSION_MINOR":"0","CARGO_PKG_VERSION_PATCH":"0","CARGO_PKG_VERSION_PRE":"","REPOSITORY_NAME":"","ZERO_AR_DATE":"1"},"is_proc_macro":false,"build":{"label":"server:server_tests","build_file":"/Users/uriah/Code/yoyo/server/BUILD.bazel","target_kind":"test"}}],"runnables":[{"program":"bazel","args":["build","{label}"],"cwd":"/Users/uriah/Code/yoyo","kind":"check"},{"program":"bazel","args":["test","{label}","--test_output","streamed","--test_arg","--nocapture","--test_arg","--exact","--test_arg","{test_id}"],"cwd":"/Users/uriah/Code/yoyo","kind":"testOne"},{"program":"bazel","args":["run","combos/backend:backend_tests"],"cwd":"/Users/uriah/Code/yoyo","kind":"run"}]} \ No newline at end of file diff --git a/server/.gitignore b/server/.gitignore deleted file mode 100644 index 9463e84..0000000 --- a/server/.gitignore +++ /dev/null @@ -1,75 +0,0 @@ -bazel-* -.bazelrc.user -.bazelversion.user -MODULE.bazel.lock -.cache/ -.bazel/ - -# Rust -target/ -**/*.rs.bk -*.pdb - -# Cargo -# For applications, you typically want to commit Cargo.lock -# For libraries, you might want to ignore it -# Cargo.lock - -# Bazel + Rust specific -# Generated by cargo-bazel -cargo-bazel-lock.json -.cargo-bazel/ - -# IDE -.idea/ -*.iml -.vscode/ -*.swp -*.swo -*~ -.DS_Store - -# Editor backup files -*.bak -*.tmp -*.temp - -# Debug -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Environment variables -.env -.env.local -.env.*.local - -# OS Files -.DS_Store -.DS_Store? -._* -.Spotlight-V100 -.Trashes -ehthumbs.db -Thumbs.db - -# Python (if using any Python scripts) -__pycache__/ -*.py[cod] -*$py.class -*.so -.Python -env/ -venv/ - -# Coverage -*.lcov -coverage/ -*.gcov -*.gcda -*.gcno - -# Temporary files -tmp/ -temp/ From a73a9ac54bc91d3b37561c01cb6b8f111e6a0efa Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 1 Aug 2026 23:27:33 +0000 Subject: [PATCH 2/3] PR 2: pin the Rust toolchain, the edition and the Bazel version Closes the three divergences that were wrong on EVERY build, silently: Bazel and Cargo were using different language editions, different compilers, and different debug-info settings on the same source. MODULE.bazel -- register a toolchain rules_rust rust/extensions.bzl:93 is toolchains = root.tags.toolchain or rules_rust.tags.toolchain so with no rust.toolchain() in the root module the fallback is rules_rust's own, which is `rust.toolchain(edition = "2021")` (its MODULE.bazel:48) at DEFAULT_RUST_VERSION = "1.86.0" (rust/private/common.bzl:34). Evidence this was live, from the rust-project.json that a real gen_rust_project run produced on the author's machine: all five first-party crates carried "edition": "2021" while all four Cargo.toml files said edition = "2024", and the sysroot pointed at rust_analyzer_1.86.0_tools while cargo here is 1.94.1. That gap is not only a syntax-compatibility question. Demonstrated with rustc 1.94.1: an `if let` holding a MutexGuard whose else-arm re-locks deadlocks under --edition 2021 and completes under --edition 2024, because 2024 changed when the scrutinee temporary is dropped. Same class of hazard for static mut refs, unsafe_op_in_unsafe_fn and RPIT lifetime capture. cargo test would pass and bazel test would hang, with no way to reproduce it locally. Pinned to 1.94.1 -- the version verified to build all three workspaces here -- rather than latest (1.97.1), so the pin is one we have actually exercised. Bumping is a two-line change plus one script run. sha256s: rules_rust 0.63.0 predates 1.94.1, so rust/known_shas.bzl has no entry and repository_utils.bzl:516-521 would fall back to sha256 = "", downloading the toolchain unverified and marking the repo non-reproducible. The 27 hashes come from the signed channel manifest at static.rust-lang.org and were spot-checked by downloading rust-src-1.94.1.tar.xz and comparing (cb375615...b66c matches). Key format "--.tar.xz" matches produce_tool_path() + extension; all 27 archive names were validated against the manifest's own xz_url basenames. rust-toolchain.toml -- the cargo half of the same pin, at the same version. Plus rust-version = "1.94" in all four [package] tables, so cargo refuses an older local toolchain instead of deferring the failure to Bazel. edition = "2024" on all nine source-compiling targets Belt and braces with the toolchain default, and it makes each target self-describing. Deliberately NOT added to the five rust_test targets that set `crate = ...`: rust.bzl:374 makes them inherit crate.edition, so the attribute there is a no-op. .bazelversion -- 8.7.0, the newest 8.x LTS. Not 9.x: rules_rust 0.63.0 predates it and declares a minimum of 7.4.1 in its own CI config. .bazelrc -- the base config the repo never had, even though .gitignore already reserved .bazelrc.user and .bazelversion.user. Notably --compilation_mode=dbg, because Bazel's default fastbuild is opt-level 0 with no debug info while cargo's dev profile is -C debuginfo=2. Two flags from the review's proposal were dropped after checking them against the pinned versions: - --incompatible_strict_action_env does not exist in Bazel 8.7.0 (absent from CoreOptions.java); it would have broken every invocation. - --@rules_rust//rust/settings:clippy.toml=//:clippy.toml and its rustfmt twin are deferred: the files do not exist yet and the root BUILD.bazel exports nothing, so the label_flag in @rules_rust//rust/settings could not see them. Every remaining flag was verified present in Bazel 8.7.0 or in rules_rust 0.63.0's rust/settings/settings.bzl. .bazelignore -- keep Bazel's package loader out of the five cargo target/ dirs. .gitignore -- stop ignoring MODULE.bazel.lock. It is what makes a bzlmod build reproducible and what --lockfile_mode=error checks in CI. tools/pin_rust_toolchain.py -- regenerates the sha256s dict from the channel manifest so a version bump stays a one-command change. Verified: cargo build --all-targets and cargo test --locked still pass in all three workspaces, and no Cargo.lock changed. NOT verified by running Bazel -- neither releases.bazel.build nor bcr.bazel.build is reachable from this environment. First run on a networked machine should be: bazel build //... && bazel run @rules_rust//tools/rust_analyzer:gen_rust_project -- //... then confirm every first-party crate in rust-project.json reports "edition": "2024", and commit the generated MODULE.bazel.lock. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01D3MwkT9fzAzZweK4birHYz --- .bazelignore | 8 ++++ .bazelrc | 44 ++++++++++++++++++ .bazelversion | 1 + .gitignore | 4 +- MODULE.bazel | 61 ++++++++++++++++++++++++ combos/backend/BUILD.bazel | 1 + combos/backend/Cargo.toml | 2 + combos/frontend/BUILD.bazel | 1 + combos/frontend/Cargo.toml | 2 + corex/BUILD.bazel | 1 + corex/Cargo.toml | 2 + rust-toolchain.toml | 10 ++++ server/BUILD.bazel | 8 +++- server/Cargo.toml | 2 + tools/pin_rust_toolchain.py | 92 +++++++++++++++++++++++++++++++++++++ 15 files changed, 237 insertions(+), 2 deletions(-) create mode 100644 .bazelignore create mode 100644 .bazelrc create mode 100644 .bazelversion create mode 100644 rust-toolchain.toml create mode 100755 tools/pin_rust_toolchain.py diff --git a/.bazelignore b/.bazelignore new file mode 100644 index 0000000..7255297 --- /dev/null +++ b/.bazelignore @@ -0,0 +1,8 @@ +# Cargo output directories. Bazel's package loader walks the whole tree, and a +# plain `cargo build` in any of these subdirectories leaves tens of thousands of +# files behind for it to crawl. +corex/target +server/target +combos/target +combos/backend/target +combos/frontend/target diff --git a/.bazelrc b/.bazelrc new file mode 100644 index 0000000..35f6b82 --- /dev/null +++ b/.bazelrc @@ -0,0 +1,44 @@ +# Bazel configuration for complex-bazel-setup. +# +# Bazel version -> .bazelversion +# Rust toolchain -> MODULE.bazel (rust.toolchain) + rust-toolchain.toml +# Personal overrides -> .bazelrc.user (gitignored, imported at the bottom) + +# ---------- correctness ---------- +# An empty glob is a typo or a moved file, not an empty list. On by default in +# Bazel 8; pinned here so it survives a version change. +build --incompatible_disallow_empty_glob + +# ---------- build profiles ---------- +# Bazel's default compilation mode (fastbuild) is opt-level 0 with NO debug +# info, while `cargo build` gives you -C debuginfo=2. Without this, a backtrace +# out of `bazel run //server:server_bin` has bare addresses and a debugger has +# nothing to attach to -- one of the ways the two build systems disagreed. +build --compilation_mode=dbg +build:release --compilation_mode=opt +build:release --strip=always + +# ---------- caching ---------- +build --disk_cache=~/.cache/bazel-disk +build --repository_cache=~/.cache/bazel-repo + +# ---------- tests ---------- +test --test_output=errors +test --build_tests_only + +# ---------- coverage ---------- +# rules_rust ships llvm-tools with every toolchain >= 1.45.0 (repositories.bzl), +# so `bazel coverage //...` needs nothing beyond the pinned toolchain. +coverage --combined_report=lcov +coverage --instrumentation_filter=^//corex[:/],^//server[:/],^//combos[:/] + +# ---------- CI ---------- +build:ci --announce_rc --verbose_failures --keep_going +build:ci --disk_cache=/tmp/bazel-disk +test:ci --flaky_test_attempts=1 +# Fail on a stale MODULE.bazel.lock instead of silently re-resolving. Requires +# the lock to be committed -- generate it with one `bazel build //...` and check +# it in; it is no longer gitignored. +common:ci --lockfile_mode=error + +try-import %workspace%/.bazelrc.user diff --git a/.bazelversion b/.bazelversion new file mode 100644 index 0000000..df5119e --- /dev/null +++ b/.bazelversion @@ -0,0 +1 @@ +8.7.0 diff --git a/.gitignore b/.gitignore index d06da75..dd2389e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,12 @@ bazel-* .bazelrc.user .bazelversion.user -MODULE.bazel.lock .cache/ .bazel/ +# NOTE: MODULE.bazel.lock is deliberately NOT ignored. It is what makes a bzlmod +# build reproducible and what --lockfile_mode=error checks against in CI. + # Rust target/ **/*.rs.bk diff --git a/MODULE.bazel b/MODULE.bazel index 3fc5252..5a8bd53 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -2,6 +2,67 @@ # Bring in Rust rules bazel_dep(name = "rules_rust", version = "0.63.0") # check for latest release +############################################################################### +## Rust toolchain +############################################################################### +# +# Without this block, `toolchains = root.tags.toolchain or rules_rust.tags.toolchain` +# (rules_rust rust/extensions.bzl:93) falls back to rules_rust's OWN toolchain +# tag, which is `rust.toolchain(edition = "2021")` at rules_rust MODULE.bazel:48 +# and DEFAULT_RUST_VERSION = "1.86.0" at rust/private/common.bzl:34. Every target +# in this repo was being compiled as edition 2021 by rustc 1.86.0 while every +# Cargo.toml said edition 2024 and contributors ran whatever rustup gave them. +# +# `versions` MUST stay in sync with rust-toolchain.toml -- that file is the +# cargo half of the same pin. If they drift, the two build systems are back to +# using different compilers on the same source. + +rust = use_extension("@rules_rust//rust:extensions.bzl", "rust") +rust.toolchain( + edition = "2024", + versions = ["1.94.1"], + # rules_rust 0.63.0 predates 1.94.1, so rust/known_shas.bzl has no entry for + # it. Without these, load_arbitrary_tool falls back to sha256 = "" and + # downloads the toolchain unverified (repository_utils.bzl:516-521). + # Regenerate on a version bump: python3 tools/pin_rust_toolchain.py + sha256s = { + "cargo-1.94.1-aarch64-apple-darwin.tar.xz": "57f4e445695decbdff1e10abdebd6af2b129b9baac531e691862a2861b222d87", + "cargo-1.94.1-aarch64-unknown-linux-gnu.tar.xz": "69a99d7f0af6d9a86c89c1f991953e924d9910eb06847524e3833063338e3923", + "cargo-1.94.1-x86_64-apple-darwin.tar.xz": "f8278da462908960eee660d7a20f34649b95805e2b741a5c09cd94cdddd82687", + "cargo-1.94.1-x86_64-unknown-linux-gnu.tar.xz": "03595624775204f80ff3a67986f69c8918e4cd311877ced635108888013a1e39", + "clippy-1.94.1-aarch64-apple-darwin.tar.xz": "79e34e43a0a2a4dd8849a1424d0bc1e0e7a7fdfc1052e8c4ea05d5d05d5986ce", + "clippy-1.94.1-aarch64-unknown-linux-gnu.tar.xz": "d35ce7705052d5bf43203012d8dceafcf13ca01ab9727f24c079b2ad9da45428", + "clippy-1.94.1-x86_64-apple-darwin.tar.xz": "ff91e9a2e3bac8eee40d52fa6b8c0f6ad93ee868d6d29a9d2e39802bc5e839a9", + "clippy-1.94.1-x86_64-unknown-linux-gnu.tar.xz": "883a8116360741aca335e12cc02c201e027473861c807027df19bb82583a8603", + "llvm-tools-1.94.1-aarch64-apple-darwin.tar.xz": "91430b90398a15d9285c88459105765e2c9575e50f7aba4a144c5bd25fdbc211", + "llvm-tools-1.94.1-aarch64-unknown-linux-gnu.tar.xz": "a3620d27ddee0c1a51d113f9703030a1b7964dd56c1b6eb4708665b738b3cc9f", + "llvm-tools-1.94.1-x86_64-apple-darwin.tar.xz": "d7dfb07b18a823bd135254b5bef90d5310cec881860a29d5851ffdb0edb9ed7e", + "llvm-tools-1.94.1-x86_64-unknown-linux-gnu.tar.xz": "058274dede890491d156aa9fe7da397e56c88f9b564bc15455f540f420d2ef9e", + "rust-src-1.94.1.tar.xz": "cb3756156fe6d2d6cedad327c94ad3721b612c4cd20dfb226d7543250788b66c", + "rust-std-1.94.1-aarch64-apple-darwin.tar.xz": "36574c7d66ea7978224aa4b672b61e6fd9bef55083b1d0caea06201e6dcfa3e1", + "rust-std-1.94.1-aarch64-unknown-linux-gnu.tar.xz": "2be613d5525a4ce8b7e2a1a55beeb64198314507be0d2da5aea4fd166cdde21f", + "rust-std-1.94.1-wasm32-unknown-unknown.tar.xz": "26b8953083b942aeaf870de742962e4ba17c0da2095725fbf4ab5ab85a4d5fd5", + "rust-std-1.94.1-wasm32-wasip1.tar.xz": "3d5073709bca32de85852e52c24e85e93574af59ddcc7fc7c56132de6c07a3cf", + "rust-std-1.94.1-x86_64-apple-darwin.tar.xz": "15fea4fdba0496abdd5c0d14fcd5a964ad42c7783163429e798967248c0a2419", + "rust-std-1.94.1-x86_64-unknown-linux-gnu.tar.xz": "74109ee2c19098f1d7122087dd338a8f643203b3ce678c9d58169db733e17a03", + "rustc-1.94.1-aarch64-apple-darwin.tar.xz": "3ae26df6f8c83a13e4190469d124de49970432b6f4517a0762d9bfffdff5b89b", + "rustc-1.94.1-aarch64-unknown-linux-gnu.tar.xz": "fb4ff31b71d7a2b6a793fb88fac18429befe807ddab3472bf87cbf92b6e5fbf6", + "rustc-1.94.1-x86_64-apple-darwin.tar.xz": "813dcb7968ec0c851baa77e5f605f215c0ab975a7bd608c614749263a3c66a61", + "rustc-1.94.1-x86_64-unknown-linux-gnu.tar.xz": "0a6b16ca476461c6238f48efcb74a7aa08a3983e61adf587f208ba48504d87e1", + "rustfmt-1.94.1-aarch64-apple-darwin.tar.xz": "41f004a12cb8fb0aa8c6e479cc8735e1303a2f8a57b887c5f9de7fd22afa9173", + "rustfmt-1.94.1-aarch64-unknown-linux-gnu.tar.xz": "05faec7ab676e867efe613e59c686b1e33d906256f0cc37bb16658e4e31b0f07", + "rustfmt-1.94.1-x86_64-apple-darwin.tar.xz": "e6c27213c98c9a4a5a8b9d46097a9bbc334fd1bb43a11c3c4cb4b28c8d3ad04e", + "rustfmt-1.94.1-x86_64-unknown-linux-gnu.tar.xz": "eaff8c808a1b82261e235002fc86ad217cba194525364cfd8d3a4de21c179d0f", + }, +) +use_repo(rust, "rust_toolchains") + +register_toolchains("@rust_toolchains//:all") + +############################################################################### +## Third-party crates +############################################################################### + # Use crate_universe extension crate = use_extension( "@rules_rust//crate_universe:extensions.bzl", diff --git a/combos/backend/BUILD.bazel b/combos/backend/BUILD.bazel index cd88638..85335c0 100644 --- a/combos/backend/BUILD.bazel +++ b/combos/backend/BUILD.bazel @@ -5,6 +5,7 @@ rust_binary( name = "backend_bin", srcs = ["src/main.rs"], deps = all_crate_deps(normal = True), + edition = "2024", ) rust_test( diff --git a/combos/backend/Cargo.toml b/combos/backend/Cargo.toml index 2927186..b49fb23 100644 --- a/combos/backend/Cargo.toml +++ b/combos/backend/Cargo.toml @@ -2,5 +2,7 @@ name = "backend" version = "0.1.0" edition = "2024" +# Matches the pin in rust-toolchain.toml and MODULE.bazel. +rust-version = "1.94" [dependencies] diff --git a/combos/frontend/BUILD.bazel b/combos/frontend/BUILD.bazel index 87afd74..a1c62d8 100644 --- a/combos/frontend/BUILD.bazel +++ b/combos/frontend/BUILD.bazel @@ -5,6 +5,7 @@ rust_binary( name = "frontend_bin", srcs = ["src/main.rs"], deps = all_crate_deps(normal = True), + edition = "2024", ) rust_test( diff --git a/combos/frontend/Cargo.toml b/combos/frontend/Cargo.toml index fdcf40d..8eb13f4 100644 --- a/combos/frontend/Cargo.toml +++ b/combos/frontend/Cargo.toml @@ -2,5 +2,7 @@ name = "frontend" version = "0.1.0" edition = "2024" +# Matches the pin in rust-toolchain.toml and MODULE.bazel. +rust-version = "1.94" [dependencies] diff --git a/corex/BUILD.bazel b/corex/BUILD.bazel index 04d83e5..a6c7f8b 100644 --- a/corex/BUILD.bazel +++ b/corex/BUILD.bazel @@ -7,6 +7,7 @@ rust_library( deps = all_crate_deps(), visibility = ["//visibility:public"], crate_name = "corex", + edition = "2024", ) rust_test( diff --git a/corex/Cargo.toml b/corex/Cargo.toml index 883d683..841130d 100644 --- a/corex/Cargo.toml +++ b/corex/Cargo.toml @@ -2,6 +2,8 @@ name = "corex" version = "0.1.0" edition = "2024" +# Matches the pin in rust-toolchain.toml and MODULE.bazel. +rust-version = "1.94" [dependencies] serde = { version = "1.0", features = ["derive"] } diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 0000000..fcf7e8e --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,10 @@ +# The cargo half of the toolchain pin. The Bazel half is `rust.toolchain(...)` +# in MODULE.bazel. Both must name the SAME version -- if they drift, `cargo +# build` and `bazel build` compile this repo with different compilers again. +# +# Bumping: change `channel` here and `versions` in MODULE.bazel, then +# regenerate the integrity hashes with +# python3 tools/pin_rust_toolchain.py +[toolchain] +channel = "1.94.1" +components = ["rustfmt", "clippy", "rust-src", "rust-analyzer"] diff --git a/server/BUILD.bazel b/server/BUILD.bazel index e791301..d446a64 100644 --- a/server/BUILD.bazel +++ b/server/BUILD.bazel @@ -9,6 +9,7 @@ rust_binary( "//corex:corex_lib", ], crate_root = "src/main.rs", + edition = "2024", ) rust_test( @@ -22,11 +23,13 @@ rust_test_suite( name = "integration_tests", srcs = glob(["tests/**"]), deps = all_crate_deps(normal_dev = True), + edition = "2024", ) cargo_build_script( name = "build_script", srcs = ["build.rs"], + edition = "2024", ) rust_binary( @@ -34,12 +37,13 @@ rust_binary( srcs = ["benches/fibonacci_benchmark.rs"], deps = all_crate_deps(normal_dev = True), crate_root = "benches/fibonacci_benchmark.rs", + edition = "2024", ) rust_test( name = "bench_test", - crate = ":bench", + crate = ":bench", ) rust_binary( @@ -49,6 +53,7 @@ rust_binary( "//corex:corex_lib", # include if needed ], crate_root = "examples/axum.rs", + edition = "2024", ) rust_test( @@ -64,6 +69,7 @@ rust_binary( "//corex:corex_lib", # include if proxy depends on corex ], crate_root = "src/bin/proxy.rs", + edition = "2024", ) rust_test( diff --git a/server/Cargo.toml b/server/Cargo.toml index 67e601f..e526d51 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -2,6 +2,8 @@ name = "server" version = "0.1.0" edition = "2024" +# Matches the pin in rust-toolchain.toml and MODULE.bazel. +rust-version = "1.94" [dependencies] axum = "0.8.4" diff --git a/tools/pin_rust_toolchain.py b/tools/pin_rust_toolchain.py new file mode 100755 index 0000000..f81ed2b --- /dev/null +++ b/tools/pin_rust_toolchain.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +"""Emit the `sha256s` dict for MODULE.bazel's `rust.toolchain(...)` tag. + +rules_rust only ships built-in hashes (rust/known_shas.bzl) for the Rust +versions that existed when that rules_rust release was cut. For anything newer +-- including the version this repo pins -- `load_arbitrary_tool` falls back to +`sha256 = ""`, downloads the toolchain unverified and marks the repository +non-reproducible. This script closes that hole by reading the authoritative +channel manifest from static.rust-lang.org. + +Keys must match rules_rust's `produce_tool_path(tool, version, triple)` plus the +archive extension, i.e. "--.tar.xz" (rust-src has no +triple). A key that does not match is silently ignored and the download simply +falls back to unverified, so a mistake here degrades rather than breaks. + +Usage: + python3 tools/pin_rust_toolchain.py 1.94.1 +then paste the output into the `sha256s = {...}` attribute in MODULE.bazel. +""" + +from __future__ import annotations + +import sys +import tomllib +import urllib.request + +MANIFEST = "https://static.rust-lang.org/dist/channel-rust-{}.toml" + +# Host platforms we build on. Extend when a new exec platform joins the team; +# any triple left out just falls back to an unverified download. +EXEC_TRIPLES = [ + "aarch64-apple-darwin", + "x86_64-apple-darwin", + "x86_64-unknown-linux-gnu", + "aarch64-unknown-linux-gnu", +] + +# rules_rust's DEFAULT_EXTRA_TARGET_TRIPLES: std is fetched for these too. +EXTRA_TARGET_TRIPLES = ["wasm32-unknown-unknown", "wasm32-wasip1"] + +# rules_rust tool name -> package name in the channel manifest. +HOST_TOOLS = { + "rustc": "rustc", + "cargo": "cargo", + "clippy": "clippy-preview", + "rustfmt": "rustfmt-preview", + "llvm-tools": "llvm-tools-preview", + "rust-std": "rust-std", +} + + +def main(version: str) -> int: + with urllib.request.urlopen(MANIFEST.format(version), timeout=300) as fh: + manifest = tomllib.loads(fh.read().decode()) + pkg = manifest["pkg"] + + entries: dict[str, str] = {} + missing: list[str] = [] + + def take(tool: str, pkg_name: str, triple: str | None) -> None: + target = pkg[pkg_name]["target"].get(triple if triple else "*") + if not target or not target.get("available"): + missing.append(f"{pkg_name} / {triple}") + return + name = "-".join(x for x in (tool, version, triple) if x) + ".tar.xz" + url_name = target["xz_url"].rsplit("/", 1)[-1] + if url_name != name: + missing.append(f"{pkg_name} / {triple}: url is {url_name}, key would be {name}") + return + entries[name] = target["xz_hash"] + + for triple in EXEC_TRIPLES: + for tool, pkg_name in HOST_TOOLS.items(): + take(tool, pkg_name, triple) + for triple in EXTRA_TARGET_TRIPLES: + take("rust-std", "rust-std", triple) + take("rust-src", "rust-src", None) + + for key in sorted(entries): + print(f' "{key}": "{entries[key]}",') + + if missing: + print(f"\n# WARNING: no hash emitted for: {'; '.join(missing)}", file=sys.stderr) + print(f"# {len(entries)} entries for Rust {version}", file=sys.stderr) + return 0 + + +if __name__ == "__main__": + if len(sys.argv) != 2: + print(__doc__, file=sys.stderr) + raise SystemExit(2) + raise SystemExit(main(sys.argv[1])) From 47e8810ca10826fc7f108a6205c09be923677dfd Mon Sep 17 00:00:00 2001 From: Claude Date: Sat, 1 Aug 2026 23:50:00 +0000 Subject: [PATCH 3/3] PR 2 follow-up: amend .bazelrc after running Bazel end to end Bazel now actually runs in this environment, so the parts of PR 2 that were previously reasoned-only have been executed. Three changes fall out of that. Add pipelined_compilation Held back in PR 2 as an untested behaviour change. Verified: a full `bazel build //...` with --@rules_rust//rust/settings:pipelined_compilation=True builds all 17 targets successfully on rules_rust 0.63.0 / Bazel 8.7.0. Add test:ci --test_verbose_timeout_warnings Also held back as unverified; Bazel itself suggests it. Scoped to --config=ci rather than the default `test` config, because it is currently noisy: every test in the repo is declared MODERATE and finishes in about 0.1s, so all nine warn. The real fix is size = "small" on the test targets, which belongs to the BUILD-file sweep, and this makes CI say so. Sharpen the --lockfile_mode=error prerequisite MODULE.bazel.lock is deliberately NOT committed in this change. bcr.bazel.build is unreachable from this sandbox, so the build was run against a local mirror of the Bazel Central Registry served over file://. Bazel does not record registry file hashes for a file:// registry, so the lock generated here has an empty registryFileHashes map and would be judged out of date the moment anyone builds against the real BCR. It has to be generated on a machine with BCR access before --config=ci can be switched on. Verified in this environment (Bazel 8.7.0, rules_rust 0.63.0, Rust 1.94.1): bazel build //... 603 actions, 17 targets, OK bazel test //... 9 of 9 tests pass bazel build --config=release //... OK bazel build --config=ci //... OK gen_rust_project all 8 first-party crates edition=2024, sysroot rust_analyzer_1.94.1_tools toolchain integrity tampering one sha256s entry makes the fetch fail with a checksum mismatch, so the pinned hashes are enforced, not silently ignored Not verified: `bazel coverage`. It fails here only because Bazel's own coverage_output_generator lives on mirror.bazel.build, which this sandbox's egress policy blocks with a 403. The coverage flags themselves parse. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01D3MwkT9fzAzZweK4birHYz --- .bazelrc | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/.bazelrc b/.bazelrc index 35f6b82..010c1d4 100644 --- a/.bazelrc +++ b/.bazelrc @@ -18,6 +18,10 @@ build --compilation_mode=dbg build:release --compilation_mode=opt build:release --strip=always +# ---------- rules_rust ---------- +# Verified against all 17 targets with rules_rust 0.63.0 / Bazel 8.7.0. +build --@rules_rust//rust/settings:pipelined_compilation=True + # ---------- caching ---------- build --disk_cache=~/.cache/bazel-disk build --repository_cache=~/.cache/bazel-repo @@ -36,9 +40,15 @@ coverage --instrumentation_filter=^//corex[:/],^//server[:/],^//combos[:/] build:ci --announce_rc --verbose_failures --keep_going build:ci --disk_cache=/tmp/bazel-disk test:ci --flaky_test_attempts=1 -# Fail on a stale MODULE.bazel.lock instead of silently re-resolving. Requires -# the lock to be committed -- generate it with one `bazel build //...` and check -# it in; it is no longer gitignored. +# Surfaces targets whose declared size does not match how long they actually +# run. Every test in this repo is currently MODERATE and finishes in ~0.1s; +# they want size = "small". CI-only so local runs stay quiet. +test:ci --test_verbose_timeout_warnings +# Fail on a stale MODULE.bazel.lock instead of silently re-resolving. +# PREREQUISITE: MODULE.bazel.lock must be committed first, and it must be +# generated on a machine that can reach the real bcr.bazel.build -- a lock +# produced against a local file:// registry has an empty registryFileHashes and +# will be treated as out of date here. common:ci --lockfile_mode=error try-import %workspace%/.bazelrc.user