[INFO] cloning repository https://github.com/xangcastle/ferrisrbe
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xangcastle/ferrisrbe" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxangcastle%2Fferrisrbe", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxangcastle%2Fferrisrbe'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8d598e026389b565d44a9cc397edf216468e1727
[INFO] checking xangcastle/ferrisrbe against try#50f413885985a8b0a0b6ca0766a0aedd45304953 for pr-155657-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxangcastle%2Fferrisrbe" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/xangcastle/ferrisrbe
[INFO] finished tweaking git repo https://github.com/xangcastle/ferrisrbe
[INFO] tweaked toml for git repo https://github.com/xangcastle/ferrisrbe written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/xangcastle/ferrisrbe on toolchain 50f413885985a8b0a0b6ca0766a0aedd45304953
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/xangcastle/ferrisrbe already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3f954e338cbc1a6ef690ae8422c1e1964e1070cf6130ad1bb96ba4ea9cd43e6d
[INFO] running `Command { std: "docker" "start" "-a" "3f954e338cbc1a6ef690ae8422c1e1964e1070cf6130ad1bb96ba4ea9cd43e6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3f954e338cbc1a6ef690ae8422c1e1964e1070cf6130ad1bb96ba4ea9cd43e6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f954e338cbc1a6ef690ae8422c1e1964e1070cf6130ad1bb96ba4ea9cd43e6d", kill_on_drop: false }`
[INFO] [stdout] 3f954e338cbc1a6ef690ae8422c1e1964e1070cf6130ad1bb96ba4ea9cd43e6d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+50f413885985a8b0a0b6ca0766a0aedd45304953" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 020d1c384748a2b05a2b3b3ce9b9c43abc91b73317dadec09f500fafa69f0a84
[INFO] running `Command { std: "docker" "start" "-a" "020d1c384748a2b05a2b3b3ce9b9c43abc91b73317dadec09f500fafa69f0a84", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking ipnet v2.11.0
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling multimap v0.10.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]     Checking matchit v0.7.3
[INFO] [stderr]    Compiling petgraph v0.7.1
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking rustls-pemfile v2.2.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking socket2 v0.6.2
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking uuid v1.21.0
[INFO] [stderr]     Checking chrono v0.4.43
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking serde_bytes v0.11.19
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking pin-project v1.1.10
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking prost-types v0.13.5
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]    Compiling prost-build v0.13.5
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]    Compiling tonic-build v0.12.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling rbe_server v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-timeout v0.5.2
[INFO] [stderr]     Checking hyper-rustls v0.27.7
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking tonic v0.12.3
[INFO] [stdout] warning: unused import: `tonic::Request`
[INFO] [stdout]    --> src/version/detector.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     use tonic::Request;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::version::traits::ReapiField`
[INFO] [stdout]    --> src/version/registry.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     use crate::version::traits::ReapiField;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tempfile::TempDir`
[INFO] [stdout]    --> src/worker/output_uploader.rs:587:9
[INFO] [stdout]     |
[INFO] [stdout] 587 |     use tempfile::TempDir;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `materialize_directory` is never used
[INFO] [stdout]    --> src/worker/materializer.rs:227:14
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl Materializer {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 227 |     async fn materialize_directory(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `worker_type` is never read
[INFO] [stdout]   --> src/worker/multiplex.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct PersistentWorker {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 53 |     worker_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `completion_tx` and `completion_rx` are never read
[INFO] [stdout]   --> src/worker/pool.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct WorkerPool {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     completion_tx: mpsc::Sender<(WorkerId, Result<ActionResult, WorkerError>)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 19 |     completion_rx: Arc<Mutex<mpsc::Receiver<(WorkerId, Result<ActionResult, WorkerError>)>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `materialize_directory` is never used
[INFO] [stdout]    --> src/worker/materializer.rs:227:14
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl Materializer {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 227 |     async fn materialize_directory(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `worker_type` is never read
[INFO] [stdout]   --> src/worker/multiplex.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct PersistentWorker {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 53 |     worker_type: String,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `completion_tx` and `completion_rx` are never read
[INFO] [stdout]   --> src/worker/pool.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct WorkerPool {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     completion_tx: mpsc::Sender<(WorkerId, Result<ActionResult, WorkerError>)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 19 |     completion_rx: Arc<Mutex<mpsc::Receiver<(WorkerId, Result<ActionResult, WorkerError>)>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `cache::L1ActionCache`
[INFO] [stdout]   --> src/main.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     use cache::L1ActionCache;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^ no `L1ActionCache` in `cache`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these structs instead
[INFO] [stdout]    |
[INFO] [stdout] 97 |     use crate::cache::action_cache::L1ActionCache;
[INFO] [stdout]    |         +++++++++++++++++++++
[INFO] [stdout] 97 |     use rbe_server::cache::action_cache::L1ActionCache;
[INFO] [stdout]    |         ++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `execution::ExecutionStage`, `execution::ExecutionStateMachine`, `execution::MultiLevelScheduler`
[INFO] [stdout]   --> src/main.rs:98:21
[INFO] [stdout]    |
[INFO] [stdout] 98 |     use execution::{ExecutionStage, ExecutionStateMachine, MultiLevelScheduler};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^ no `MultiLevelScheduler` in `execution`
[INFO] [stdout]    |                     |               |
[INFO] [stdout]    |                     |               no `ExecutionStateMachine` in `execution`
[INFO] [stdout]    |                     no `ExecutionStage` in `execution`
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider importing one of these items instead:
[INFO] [stdout]            crate::execution::state_machine::ExecutionStage
[INFO] [stdout]            crate::proto::build::bazel::remote::execution::v2::ExecutionStage
[INFO] [stdout]            rbe_server::execution::state_machine::ExecutionStage
[INFO] [stdout]            rbe_server::proto::build::bazel::remote::execution::v2::ExecutionStage
[INFO] [stdout]    = help: consider importing one of these structs instead:
[INFO] [stdout]            crate::execution::state_machine::ExecutionStateMachine
[INFO] [stdout]            rbe_server::execution::state_machine::ExecutionStateMachine
[INFO] [stdout]    = help: consider importing one of these structs instead:
[INFO] [stdout]            crate::execution::scheduler::MultiLevelScheduler
[INFO] [stdout]            rbe_server::execution::scheduler::MultiLevelScheduler
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tonic::Request`
[INFO] [stdout]    --> src/version/detector.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     use tonic::Request;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::version::traits::ReapiField`
[INFO] [stdout]    --> src/version/registry.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |     use crate::version::traits::ReapiField;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tempfile::TempDir`
[INFO] [stdout]    --> src/worker/output_uploader.rs:587:9
[INFO] [stdout]     |
[INFO] [stdout] 587 |     use tempfile::TempDir;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `delete` and `local_path` are never used
[INFO] [stdout]   --> src/cas/mod.rs:74:14
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub trait CasBackend: Send + Sync + 'static {
[INFO] [stdout]    |           ---------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 74 |     async fn delete(&self, digest: &crate::types::DigestInfo) -> CasResult<()>;
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     async fn local_path(
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHANNEL_CHUNK_SIZE` is never used
[INFO] [stdout]  --> src/types.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub const CHANNEL_CHUNK_SIZE: usize = 64 * 1024;
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_INLINE_SIZE` is never used
[INFO] [stdout]   --> src/types.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const MAX_INLINE_SIZE: usize = 4 * 1024 * 1024;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_millis` is never used
[INFO] [stdout]   --> src/types.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl AtomicInstant {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn as_millis(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `generate_uuid` is never used
[INFO] [stdout]    --> src/types.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout]  76 | impl DigestInfo {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn generate_uuid() -> u128 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `DigestNotFound`, `CasError`, `CacheMiss`, `ExecutionTimeout`, and `Serialization` are never constructed
[INFO] [stdout]    --> src/types.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub enum RbeError {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] 173 |     #[error("Digest not found: {0}")]
[INFO] [stdout] 174 |     DigestNotFound(DigestInfo),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     CasError(String),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     CacheMiss,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     ExecutionTimeout,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     Serialization(String),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RbeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_channel` is never used
[INFO] [stdout]    --> src/types.rs:162:12
[INFO] [stdout]     |
[INFO] [stdout] 162 |     pub fn chunk_channel<T>() -> (mpsc::Sender<T>, mpsc::Receiver<T>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bounded_channel` is never used
[INFO] [stdout]    --> src/types.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub fn bounded_channel<T>(capacity: usize) -> (mpsc::Sender<T>, mpsc::Receiver<T>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `detector` and `registry` are never read
[INFO] [stdout]   --> src/version/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct VersionManager {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 18 |     detector: CompositeDetector,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 19 |     registry: Arc<VersionRegistry>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VersionManager` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `detect`, `get_handler`, `detect_and_get_handler`, and `handler_count` are never used
[INFO] [stdout]   --> src/version/mod.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl VersionManager {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn detect<T>(&self, request: &Request<T>) -> VersionContext
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn get_handler(&self, context: &VersionContext) -> Arc<dyn BazelVersionHandler> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn detect_and_get_handler<T>(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn handler_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `extract_from_user_agent`, `extract_from_bazel_header`, and `extract_from_binary_metadata` are never used
[INFO] [stdout]   --> src/version/detector.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl GrpcMetadataDetector {
[INFO] [stdout]    | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn extract_from_user_agent(&self, user_agent: &str) -> Option<BazelVersion> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     fn extract_from_bazel_header(&self, value: &str) -> Option<BazelVersion> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn extract_from_binary_metadata(&self, metadata: &[u8]) -> Option<BazelVersion> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `grpc_detector` is never read
[INFO] [stdout]   --> src/version/detector.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct CompositeDetector {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 96 |     grpc_detector: GrpcMetadataDetector,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompositeDetector` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DefaultVersionDetector` is never constructed
[INFO] [stdout]    --> src/version/detector.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct DefaultVersionDetector {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/version/detector.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 139 | impl DefaultVersionDetector {
[INFO] [stdout]     | --------------------------- associated function in this implementation
[INFO] [stdout] 140 |     pub fn new(default_version: BazelVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_proto_semver` is never used
[INFO] [stdout]   --> src/version/handlers/mod.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn to_proto_semver(_version: BazelVersion) -> SemVer {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reapi_v2_0_semver` is never used
[INFO] [stdout]   --> src/version/handlers/mod.rs:17:8
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn reapi_v2_0_semver() -> SemVer {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reapi_v2_3_semver` is never used
[INFO] [stdout]   --> src/version/handlers/mod.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn reapi_v2_3_semver() -> SemVer {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `reapi_v2_4_semver` is never used
[INFO] [stdout]   --> src/version/handlers/mod.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn reapi_v2_4_semver() -> SemVer {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `prefers_v2_4` is never used
[INFO] [stdout]   --> src/version/handlers/v7_handler.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Bazel7Handler {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 14 |     fn prefers_v2_4(&self, version: BazelVersion) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `default_handler` is never read
[INFO] [stdout]  --> src/version/registry.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct VersionRegistry {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 8 |     handlers: Vec<Arc<dyn BazelVersionHandler>>,
[INFO] [stdout] 9 |     default_handler: Arc<dyn BazelVersionHandler>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_handler`, `get_handler_optional`, `list_handlers`, `handler_count`, and `set_default_handler` are never used
[INFO] [stdout]    --> src/version/registry.rs:50:12
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl VersionRegistry {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn get_handler(&self, version: BazelVersion) -> Arc<dyn BazelVersionHandler> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn get_handler_optional(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn list_handlers(&self) -> Vec<(String, String, Option<String>)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn handler_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn set_default_handler(&mut self, handler: Arc<dyn BazelVersionHandler>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `MIN_SUPPORTED`, `parse`, `in_range`, and `recommended_reapi_version` are never used
[INFO] [stdout]   --> src/version/traits.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl BazelVersion {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub const MIN_SUPPORTED: Self = Self::new(7, 0, 0);
[INFO] [stdout]    |               ^^^^^^^^^^^^^
[INFO] [stdout] 21 |
[INFO] [stdout] 22 |     pub fn parse(version_str: &str) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn in_range(&self, min: BazelVersion, max: Option<BazelVersion>) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn recommended_reapi_version(&self) -> ReapiVersion {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReapiVersion` is never used
[INFO] [stdout]   --> src/version/traits.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub enum ReapiVersion {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/version/traits.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl ReapiVersion {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 66 |     pub fn as_str(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `VersionDetector` is never used
[INFO] [stdout]   --> src/version/traits.rs:74:11
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub trait VersionDetector: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `adapt_capabilities` and `requires_field` are never used
[INFO] [stdout]   --> src/version/traits.rs:86:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub trait BazelVersionHandler: Send + Sync {
[INFO] [stdout]    |           ------------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 86 |     fn adapt_capabilities(&self, caps: &mut ServerCapabilities, version: BazelVersion);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 87 |
[INFO] [stdout] 88 |     fn requires_field(&self, field: ReapiField) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReapiField` is never used
[INFO] [stdout]   --> src/version/traits.rs:94:10
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub enum ReapiField {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VersionContext` is never constructed
[INFO] [stdout]    --> src/version/traits.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct VersionContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `unknown` and `with_version` are never used
[INFO] [stdout]    --> src/version/traits.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl VersionContext {
[INFO] [stdout]     | ------------------- associated functions in this implementation
[INFO] [stdout] 116 |     pub fn unknown() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn with_version(version: BazelVersion, source: DetectionSource) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DetectionSource` is never used
[INFO] [stdout]    --> src/version/traits.rs:134:10
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum DetectionSource {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ActionResult` is never constructed
[INFO] [stdout]   --> src/worker/mod.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ActionResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkerId` is never constructed
[INFO] [stdout]   --> src/worker/mod.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct WorkerId(pub u64);
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `generate` is never used
[INFO] [stdout]   --> src/worker/mod.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl WorkerId {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 23 |     pub fn generate() -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WorkerError` is never used
[INFO] [stdout]   --> src/worker/mod.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum WorkerError {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `K8sWorkerConfig` is never constructed
[INFO] [stdout]  --> src/worker/k8s.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct K8sWorkerConfig {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `K8sWorker` is never constructed
[INFO] [stdout]   --> src/worker/k8s.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct K8sWorker {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `worker_id`, `progress`, and `result` are never read
[INFO] [stdout]   --> src/worker/k8s.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct WorkerStatus {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 60 |     pub worker_id: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub progress: Option<ProgressUpdate>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 64 |     pub result: Option<ExecutionResult>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WorkerStatus` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `stage`, `percent_complete`, and `message` are never read
[INFO] [stdout]   --> src/worker/k8s.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct ProgressUpdate {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] 76 |     pub stage: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 77 |     pub percent_complete: f32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 78 |     pub message: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProgressUpdate` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `execution_duration` is never read
[INFO] [stdout]   --> src/worker/k8s.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct ExecutionResult {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub execution_duration: Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExecutionResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AssignmentSender` is never constructed
[INFO] [stdout]    --> src/worker/k8s.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct AssignmentSender {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, `execute_action`, and `worker_id` are never used
[INFO] [stdout]    --> src/worker/k8s.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl K8sWorker {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 115 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub async fn run(mut self) -> anyhow::Result<()> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     async fn execute_action(&self, assignment: &WorkAssignment) -> ExecutionResult {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn worker_id(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `send_assignment_to_worker` and `list_workers` are never used
[INFO] [stdout]    --> src/worker/k8s.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout] 281 | impl WorkerRegistry {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn send_assignment_to_worker(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     pub fn list_workers(&self) -> Vec<WorkerInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `total`, `idle`, `busy`, and `unhealthy` are never read
[INFO] [stdout]    --> src/worker/k8s.rs:415:9
[INFO] [stdout]     |
[INFO] [stdout] 414 | pub struct WorkerStats {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 415 |     pub total: usize,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 416 |     pub idle: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 417 |     pub busy: usize,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 418 |     pub unhealthy: usize,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WorkerStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `queue_depth` is never used
[INFO] [stdout]    --> src/worker/k8s.rs:422:12
[INFO] [stdout]     |
[INFO] [stdout] 421 | impl WorkerStats {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 422 |     pub fn queue_depth(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENV_STREAMING_THRESHOLD` is never used
[INFO] [stdout]   --> src/worker/materializer.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const ENV_STREAMING_THRESHOLD: &str = "RBE_STREAMING_THRESHOLD";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENV_DOWNLOAD_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/worker/materializer.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub const ENV_DOWNLOAD_TIMEOUT_SECS: &str = "RBE_DOWNLOAD_TIMEOUT_SECS";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENV_MAX_CONCURRENT_DOWNLOADS` is never used
[INFO] [stdout]   --> src/worker/materializer.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub const ENV_MAX_CONCURRENT_DOWNLOADS: &str = "RBE_MAX_CONCURRENT_DOWNLOADS";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENV_DOWNLOAD_CHUNK_SIZE` is never used
[INFO] [stdout]   --> src/worker/materializer.rs:41:11
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub const ENV_DOWNLOAD_CHUNK_SIZE: &str = "RBE_DOWNLOAD_CHUNK_SIZE";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaterializerConfig` is never constructed
[INFO] [stdout]   --> src/worker/materializer.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct MaterializerConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_env` is never used
[INFO] [stdout]   --> src/worker/materializer.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl MaterializerConfig {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 67 |     /// Create configuration from environment variables (12-Factor App style)
[INFO] [stdout] 68 |     pub fn from_env() -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FileState` is never used
[INFO] [stdout]    --> src/worker/materializer.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub enum FileState {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaterializedRoot` is never constructed
[INFO] [stdout]    --> src/worker/materializer.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct MaterializedRoot {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Materializer` is never constructed
[INFO] [stdout]    --> src/worker/materializer.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | pub struct Materializer {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/worker/materializer.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl Materializer {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 147 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub async fn materialize_directory_recursive(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 201 |     async fn fetch_directory(&self, digest: &DigestInfo) -> CasResult<Directory> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 |     async fn materialize_directory(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     async fn materialize_directory_contents(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     async fn materialize_file(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     async fn materialize_file_buffered(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 391 |     async fn materialize_file_streaming(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 500 |     async fn validate_existing_file(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 538 |     async fn link_file(&self, source: &Path, dest: &Path, is_executable: bool) -> CasResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 591 |     fn cas_cache_path(&self, digest: &DigestInfo) -> PathBuf {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |     pub async fn cleanup_execroot(&self, execroot: &Path) -> CasResult<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MaterializationStats` is never constructed
[INFO] [stdout]    --> src/worker/materializer.rs:615:8
[INFO] [stdout]     |
[INFO] [stdout] 615 | struct MaterializationStats {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_info_from_proto` is never used
[INFO] [stdout]    --> src/worker/materializer.rs:623:4
[INFO] [stdout]     |
[INFO] [stdout] 623 | fn digest_info_from_proto(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Decode` is never used
[INFO] [stdout]    --> src/worker/materializer.rs:641:7
[INFO] [stdout]     |
[INFO] [stdout] 641 | trait Decode: Sized {
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkRequest` is never constructed
[INFO] [stdout]   --> src/worker/multiplex.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct WorkRequest {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkResponse` is never constructed
[INFO] [stdout]   --> src/worker/multiplex.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct WorkResponse {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InternalRequest` is never constructed
[INFO] [stdout]   --> src/worker/multiplex.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct InternalRequest {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkerConfig` is never constructed
[INFO] [stdout]   --> src/worker/multiplex.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct WorkerConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PersistentWorker` is never constructed
[INFO] [stdout]   --> src/worker/multiplex.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct PersistentWorker {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `spawn` and `execute` are never used
[INFO] [stdout]    --> src/worker/multiplex.rs:60:18
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl PersistentWorker {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout]  60 |     pub async fn spawn(config: WorkerConfig) -> anyhow::Result<Self> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub async fn execute(&self, request: WorkRequest) -> anyhow::Result<WorkResponse> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MultiplexWorkerManager` is never constructed
[INFO] [stdout]    --> src/worker/multiplex.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub struct MultiplexWorkerManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `register_worker_type`, `spawn_workers`, `execute`, and `stats` are never used
[INFO] [stdout]    --> src/worker/multiplex.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 214 | impl MultiplexWorkerManager {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] 215 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub async fn register_worker_type(&self, worker_type: &str, config: WorkerConfig) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub async fn spawn_workers(&self, worker_type: &str, count: usize) -> anyhow::Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub async fn execute(
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |     pub async fn stats(&self) -> HashMap<String, usize> {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `ENV_MAX_BATCH_SIZE` is never used
[INFO] [stdout]   --> src/worker/output_uploader.rs:35:11
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub const ENV_MAX_BATCH_SIZE: &str = "RBE_MAX_BATCH_SIZE";
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `max_batch_size` is never used
[INFO] [stdout]   --> src/worker/output_uploader.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub fn max_batch_size() -> i64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UploaderConfig` is never constructed
[INFO] [stdout]   --> src/worker/output_uploader.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct UploaderConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UploadedFile` is never constructed
[INFO] [stdout]   --> src/worker/output_uploader.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct UploadedFile {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UploadedDirectory` is never constructed
[INFO] [stdout]   --> src/worker/output_uploader.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct UploadedDirectory {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UploadResult` is never constructed
[INFO] [stdout]   --> src/worker/output_uploader.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct UploadResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OutputUploader` is never constructed
[INFO] [stdout]    --> src/worker/output_uploader.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct OutputUploader {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/worker/output_uploader.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl OutputUploader {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 114 |     pub fn new(cas_backend: Arc<dyn CasBackend>, config: UploaderConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub async fn upload_outputs(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     async fn upload_file(&self, execroot: &Path, rel_path: &str) -> CasResult<UploadedFile> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     async fn upload_directory(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn build_tree<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     fn build_directory_recursive<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     pub async fn scan_and_upload_all(&self, execroot: &Path) -> UploadResult {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     async fn scan_directory(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 495 |     async fn upload_single_file(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkerPool` is never constructed
[INFO] [stdout]  --> src/worker/pool.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct WorkerPool {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PoolConfig` is never constructed
[INFO] [stdout]   --> src/worker/pool.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct PoolConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkerHandle` is never constructed
[INFO] [stdout]   --> src/worker/pool.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct WorkerHandle {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/worker/pool.rs:53:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl WorkerPool {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  53 |     pub fn new(config: PoolConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub async fn initialize(&self) -> Result<(), WorkerError> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     async fn create_worker(&self) -> Result<WorkerHandle, WorkerError> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub async fn acquire_worker(&self) -> Result<WorkerHandle, WorkerError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub async fn release_worker(&self, worker_id: WorkerId, healthy: bool) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub async fn execute(&self, action: ExecutableAction) -> Result<ActionResult, WorkerError> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     async fn execute_with_worker(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub async fn stats(&self) -> PoolStats {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     pub async fn shutdown(&self) {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `service`
[INFO] [stdout]    --> src/server/byte_stream.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |         let service = ByteStreamService::new(backend);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_service`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash`
[INFO] [stdout]    --> src/server/byte_stream.rs:308:13
[INFO] [stdout]     |
[INFO] [stdout] 308 |         let hash = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunks`
[INFO] [stdout]    --> src/server/byte_stream.rs:317:13
[INFO] [stdout]     |
[INFO] [stdout] 317 |         let chunks: Vec<WriteRequest> = vec![
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_chunks`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rbe_server` (bin "rbe-server" test) due to 2 previous errors; 6 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "020d1c384748a2b05a2b3b3ce9b9c43abc91b73317dadec09f500fafa69f0a84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "020d1c384748a2b05a2b3b3ce9b9c43abc91b73317dadec09f500fafa69f0a84", kill_on_drop: false }`
[INFO] [stdout] 020d1c384748a2b05a2b3b3ce9b9c43abc91b73317dadec09f500fafa69f0a84
