[INFO] fetching crate helixrouter 1.3.0...
[INFO] testing helixrouter-1.3.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate helixrouter 1.3.0 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate helixrouter 1.3.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate helixrouter 1.3.0
[INFO] tweaked toml for crates.io crate helixrouter 1.3.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate helixrouter 1.3.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate helixrouter 1.3.0 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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:115:12
[INFO] [stderr]     |
[INFO] [stderr] 115 | homepage = "https://gitlab.com/mattbusel/HelixRouter-adaptive-async-compute-router"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 120 | repository = "https://gitlab.com/mattbusel/HelixRouter-adaptive-async-compute-router"
[INFO] [stderr]     |              ------------------------------------------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `helixrouter` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9af9d7e617188d5400a27cc86be371950901632c1f215077271285039bd8d4c5
[INFO] running `Command { std: "docker" "start" "9af9d7e617188d5400a27cc86be371950901632c1f215077271285039bd8d4c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9af9d7e617188d5400a27cc86be371950901632c1f215077271285039bd8d4c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9af9d7e617188d5400a27cc86be371950901632c1f215077271285039bd8d4c5" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9af9d7e617188d5400a27cc86be371950901632c1f215077271285039bd8d4c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9af9d7e617188d5400a27cc86be371950901632c1f215077271285039bd8d4c5" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:115:12
[INFO] [stderr]     |
[INFO] [stderr] 115 | homepage = "https://gitlab.com/mattbusel/HelixRouter-adaptive-async-compute-router"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 120 | repository = "https://gitlab.com/mattbusel/HelixRouter-adaptive-async-compute-router"
[INFO] [stderr]     |              ------------------------------------------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `helixrouter` (manifest) generated 1 warning
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling axum-macros v0.4.2
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling helixrouter v1.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<u64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/load_balancer.rs:338:22
[INFO] [stdout]     |
[INFO] [stdout] 338 |                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |v| {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 338 -                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |v| {
[INFO] [stdout] 338 +                     .try_update(Ordering::Relaxed, Ordering::Relaxed, |v| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]    --> src/content_negotiation.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl ContentEncoding {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 157 |     fn from_str(s: &str) -> Option<Self> {
[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 `0` is never read
[INFO] [stdout]   --> src/request_validator.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 |     Bool(bool),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JsonVal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 66 -     Bool(bool),
[INFO] [stdout] 66 +     Bool(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BreakerState` is never used
[INFO] [stdout]   --> src/adaptive_circuit_breaker.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub enum BreakerState {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdaptiveCircuitBreaker` is never constructed
[INFO] [stdout]   --> src/adaptive_circuit_breaker.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct AdaptiveCircuitBreaker {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/adaptive_circuit_breaker.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl AdaptiveCircuitBreaker {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn new(base_threshold: u32, base_timeout: Duration) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn permit(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn record_success(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn record_failure(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn state(&self) -> &BreakerState {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn failure_rate_last_minute(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn adaptive_threshold(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn adaptive_timeout(&self) -> Duration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn half_open_load_pct(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     fn maybe_transition_open_to_half_open(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     fn push_history(&mut self, was_failure: bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     fn last_cooldown_or_base(&self) -> Duration {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 379 |     fn xorshift_f32(&mut self) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Priority` is never used
[INFO] [stdout]   --> src/admission.rs:87:10
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub enum Priority {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdmissionConfig` is never constructed
[INFO] [stdout]    --> src/admission.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct AdmissionConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AdmissionError` is never used
[INFO] [stdout]    --> src/admission.rs:144:10
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub enum AdmissionError {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TokenBucket` is never constructed
[INFO] [stdout]    --> src/admission.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 187 | struct TokenBucket {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `try_consume`, `secs_until_token`, and `is_idle_for` are never used
[INFO] [stdout]    --> src/admission.rs:194:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl TokenBucket {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 194 |     fn new(capacity: f64) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     fn try_consume(&mut self, capacity: f64, refill_rate: f64) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn secs_until_token(&self, refill_rate: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     fn is_idle_for(&self, ttl: Duration) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdmissionInner` is never constructed
[INFO] [stdout]    --> src/admission.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | struct AdmissionInner {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AdmissionGate` is never constructed
[INFO] [stdout]    --> src/admission.rs:251:12
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct AdmissionGate {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `submit`, `evict_idle_buckets`, `current_load`, `stats`, and `prometheus_text` are never used
[INFO] [stdout]    --> src/admission.rs:259:12
[INFO] [stdout]     |
[INFO] [stdout] 256 | impl AdmissionGate {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn new(router: Router, config: AdmissionConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     pub async fn submit(
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub async fn evict_idle_buckets(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     pub async fn current_load(&self) -> f64 {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 372 |     pub fn stats(&self) -> (u64, u64, u64) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub async fn prometheus_text(&self) -> String {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FNV_OFFSET` is never used
[INFO] [stdout]   --> src/affinity.rs:42:7
[INFO] [stdout]    |
[INFO] [stdout] 42 | const FNV_OFFSET: u64 = 0xcbf2_9ce4_8422_2325;
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FNV_PRIME` is never used
[INFO] [stdout]   --> src/affinity.rs:44:7
[INFO] [stdout]    |
[INFO] [stdout] 44 | const FNV_PRIME: u64 = 0x0000_0100_0000_01B3;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fnv1a` is never used
[INFO] [stdout]   --> src/affinity.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn fnv1a(bytes: &[u8]) -> u64 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `group_id` is never used
[INFO] [stdout]   --> src/affinity.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn group_id(kind: JobKind, affinity_key: &str) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AffinityGroup` is never constructed
[INFO] [stdout]   --> src/affinity.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct AffinityGroup {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AffinityStats` is never constructed
[INFO] [stdout]   --> src/affinity.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct AffinityStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `hits`, `misses`, `evictions`, and `hit_rate` are never used
[INFO] [stdout]    --> src/affinity.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  98 | impl AffinityStats {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  99 |     /// Create a new zero-initialised, `Arc`-wrapped stats instance.
[INFO] [stdout] 100 |     pub fn new() -> Arc<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn hits(&self) -> u64 {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn misses(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn evictions(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn hit_rate(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AffinityConfig` is never constructed
[INFO] [stdout]    --> src/affinity.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct AffinityConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AffinityRouter` is never constructed
[INFO] [stdout]    --> src/affinity.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub struct AffinityRouter {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/affinity.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 191 | impl AffinityRouter {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 192 |     /// Create a new `AffinityRouter` with the given configuration.
[INFO] [stdout] 193 |     pub fn new(config: AffinityConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     pub fn stats(&self) -> Arc<AffinityStats> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn lookup(&self, group_id: u64) -> Option<Strategy> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn record(&self, group_id: u64, kind: JobKind, strategy: Strategy) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn evict_stale(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn entry_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn snapshot(&self) -> Vec<AffinityGroup> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScalingMetrics` is never constructed
[INFO] [stdout]     --> src/autoscaler.rs:1203:12
[INFO] [stdout]      |
[INFO] [stdout] 1203 | pub struct ScalingMetrics {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScalingPolicy` is never constructed
[INFO] [stdout]     --> src/autoscaler.rs:1218:12
[INFO] [stdout]      |
[INFO] [stdout] 1218 | pub struct ScalingPolicy {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ScalingDecision` is never used
[INFO] [stdout]     --> src/autoscaler.rs:1251:10
[INFO] [stdout]      |
[INFO] [stdout] 1251 | pub enum ScalingDecision {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `instances_delta` is never used
[INFO] [stdout]     --> src/autoscaler.rs:1264:12
[INFO] [stdout]      |
[INFO] [stdout] 1262 | impl ScalingDecision {
[INFO] [stdout]      | -------------------- method in this implementation
[INFO] [stdout] 1263 |     /// Returns the signed change in instance count this decision implies.
[INFO] [stdout] 1264 |     pub fn instances_delta(&self) -> i32 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScalingSignal` is never constructed
[INFO] [stdout]     --> src/autoscaler.rs:1281:12
[INFO] [stdout]      |
[INFO] [stdout] 1281 | pub struct ScalingSignal {
[INFO] [stdout]      |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `compute` is never used
[INFO] [stdout]     --> src/autoscaler.rs:1310:12
[INFO] [stdout]      |
[INFO] [stdout] 1306 | impl ScalingSignal {
[INFO] [stdout]      | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1310 |     pub fn compute(&self, metrics: &ScalingMetrics) -> f64 {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DynamicAutoscaler` is never constructed
[INFO] [stdout]     --> src/autoscaler.rs:1323:12
[INFO] [stdout]      |
[INFO] [stdout] 1323 | pub struct DynamicAutoscaler {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/autoscaler.rs:1331:12
[INFO] [stdout]      |
[INFO] [stdout] 1329 | impl DynamicAutoscaler {
[INFO] [stdout]      | ---------------------- associated items in this implementation
[INFO] [stdout] 1330 |     /// Create a new [`DynamicAutoscaler`] with the default signal weights.
[INFO] [stdout] 1331 |     pub fn new() -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1340 |     pub fn with_signal(signal: ScalingSignal) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1352 |     pub fn evaluate(
[INFO] [stdout]      |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1394 |     pub fn compute_signal(&self, metrics: &ScalingMetrics) -> f64 {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1399 |     pub fn record_scaling_event(&mut self, decision: &ScalingDecision, now_ms: u64) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1411 |     pub fn scaling_history(&self, last_n: usize) -> Vec<(u64, ScalingDecision)> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1422 |     pub fn recommended_policy(&self, history: &[ScalingMetrics]) -> ScalingPolicy {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `percentile_f64` is never used
[INFO] [stdout]     --> src/autoscaler.rs:1458:4
[INFO] [stdout]      |
[INFO] [stdout] 1458 | fn percentile_f64(sorted: &[f64], fraction: f64) -> f64 {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CanaryConfig` is never constructed
[INFO] [stdout]   --> src/canary.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct CanaryConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CohortMetrics` is never constructed
[INFO] [stdout]    --> src/canary.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub struct CohortMetrics {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mean_quality`, `drop_rate`, `record`, and `reset` are never used
[INFO] [stdout]    --> src/canary.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl CohortMetrics {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn mean_quality(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn drop_rate(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     fn record(&mut self, outputs: &Option<Vec<Output>>) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     fn reset(&mut self) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CanaryState` is never used
[INFO] [stdout]    --> src/canary.rs:181:10
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub enum CanaryState {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CanaryStatus` is never constructed
[INFO] [stdout]    --> src/canary.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub struct CanaryStatus {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RoutedTo` is never used
[INFO] [stdout]    --> src/canary.rs:223:10
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub enum RoutedTo {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CanaryInner` is never constructed
[INFO] [stdout]    --> src/canary.rs:234:8
[INFO] [stdout]     |
[INFO] [stdout] 234 | struct CanaryInner {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next_cohort`, and `record_and_evaluate` are never used
[INFO] [stdout]    --> src/canary.rs:247:8
[INFO] [stdout]     |
[INFO] [stdout] 246 | impl CanaryInner {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 247 |     fn new(config: CanaryConfig) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     fn next_cohort(&mut self) -> RoutedTo {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 277 |     fn record_and_evaluate(&mut self, cohort: RoutedTo, outputs: &Option<Vec<Output>>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CanaryRouter` is never constructed
[INFO] [stdout]    --> src/canary.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub struct CanaryRouter {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/canary.rs:347:12
[INFO] [stdout]     |
[INFO] [stdout] 341 | impl CanaryRouter {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 347 |     pub fn new(stable_router: Router, canary_router: Router, config: CanaryConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     pub async fn submit(&self, job: Job) -> (RoutedTo, Option<Vec<Output>>) {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     pub async fn status(&self) -> CanaryStatus {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 397 |     pub async fn set_canary_pct(&self, pct: f64) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub async fn reset_canary(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 417 |     pub fn total_jobs(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub async fn prometheus_text(&self) -> String {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChaosOutcome` is never used
[INFO] [stdout]    --> src/chaos.rs:128:10
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub enum ChaosOutcome {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]    --> src/chaos.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 158 | struct Lcg64 {
[INFO] [stdout]     |        ----- field in this struct
[INFO] [stdout] 159 |     state: u64,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Lcg64` 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: methods `next_u64`, `next_f64`, and `next_u64_below` are never used
[INFO] [stdout]    --> src/chaos.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl Lcg64 {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn next_u64(&mut self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn next_f64(&mut self) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     fn next_u64_below(&mut self, max: u64) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/chaos.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 197 | struct ChaosState {
[INFO] [stdout]     |        ---------- fields in this struct
[INFO] [stdout] 198 |     cfg: ChaosConfig,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 199 |     rng: Lcg64,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 200 |     // Counters
[INFO] [stdout] 201 |     total_submitted: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 202 |     total_passed: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 203 |     total_delayed: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 204 |     total_rejected: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 205 |     total_killed: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChaosState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decide` is never used
[INFO] [stdout]    --> src/chaos.rs:227:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | impl ChaosState {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 227 |     fn decide(&mut self, job_id: u64) -> ChaosOutcome {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChaosSnapshot` is never constructed
[INFO] [stdout]    --> src/chaos.rs:271:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub struct ChaosSnapshot {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `router` and `inner` are never read
[INFO] [stdout]    --> src/chaos.rs:303:5
[INFO] [stdout]     |
[INFO] [stdout] 302 | pub struct ChaosLayer {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 303 |     router: Router,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 304 |     inner: Arc<Mutex<ChaosState>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChaosLayer` 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 `submit`, `is_enabled`, `set_enabled`, `update_config`, and `snapshot` are never used
[INFO] [stdout]    --> src/chaos.rs:347:18
[INFO] [stdout]     |
[INFO] [stdout] 317 | impl ChaosLayer {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 347 |     pub async fn submit(&self, job: Job) -> Option<Vec<Output>> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     pub fn is_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub fn set_enabled(&self, enabled: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 408 |     pub fn update_config(&self, cfg: ChaosConfig) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |     pub fn snapshot(&self) -> ChaosSnapshot {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `WINDOW` is never used
[INFO] [stdout]   --> src/cost_model.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const WINDOW: usize = 64;
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EMA_ALPHA` is never used
[INFO] [stdout]   --> src/cost_model.rs:41:7
[INFO] [stdout]    |
[INFO] [stdout] 41 | const EMA_ALPHA: f64 = 0.15;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HIGH_PRESSURE_THRESHOLD` is never used
[INFO] [stdout]   --> src/cost_model.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 | const HIGH_PRESSURE_THRESHOLD: f64 = 0.65;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OVERHEAD_PENALTY` is never used
[INFO] [stdout]   --> src/cost_model.rs:50:7
[INFO] [stdout]    |
[INFO] [stdout] 50 | const OVERHEAD_PENALTY: f64 = 1.30;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExecutionSample` is never constructed
[INFO] [stdout]   --> src/cost_model.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct ExecutionSample {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatsKey` is never constructed
[INFO] [stdout]   --> src/cost_model.rs:72:8
[INFO] [stdout]    |
[INFO] [stdout] 72 | struct StatsKey {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KindStats` is never constructed
[INFO] [stdout]   --> src/cost_model.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | struct KindStats {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `push`, and `ema_ns` are never used
[INFO] [stdout]    --> src/cost_model.rs:92:8
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl KindStats {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  92 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     fn push(&mut self, duration_ns: u64, success: bool) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     fn ema_ns(&self) -> u64 {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JobCostModel` is never constructed
[INFO] [stdout]    --> src/cost_model.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct JobCostModel {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `record_sample`, `predicted_latency_ns`, and `cost_adjusted_strategy` are never used
[INFO] [stdout]    --> src/cost_model.rs:151:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl JobCostModel {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 150 |     /// Create a new, empty cost model.
[INFO] [stdout] 151 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn record_sample(&self, sample: ExecutionSample) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn predicted_latency_ns(&self, job_kind: &str, strategy: Strategy) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn cost_adjusted_strategy(&self, job_kind: &str, pressure: f64) -> Strategy {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_COMPUTE_COST` is never used
[INFO] [stdout]   --> src/cost_router.rs:76:7
[INFO] [stdout]    |
[INFO] [stdout] 76 | const MAX_COMPUTE_COST: f64 = 1_000_000.0;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KIND_WEIGHT_HASHMIX` is never used
[INFO] [stdout]   --> src/cost_router.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 | const KIND_WEIGHT_HASHMIX: f64 = 0.30;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KIND_WEIGHT_PRIMECOUNT` is never used
[INFO] [stdout]   --> src/cost_router.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | const KIND_WEIGHT_PRIMECOUNT: f64 = 0.65;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `KIND_WEIGHT_MONTECARLO` is never used
[INFO] [stdout]   --> src/cost_router.rs:83:7
[INFO] [stdout]    |
[INFO] [stdout] 83 | const KIND_WEIGHT_MONTECARLO: f64 = 1.00;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHEAP_JOB_THRESHOLD` is never used
[INFO] [stdout]   --> src/cost_router.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const CHEAP_JOB_THRESHOLD: f64 = 0.05;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `EXPENSIVE_JOB_THRESHOLD` is never used
[INFO] [stdout]   --> src/cost_router.rs:91:7
[INFO] [stdout]    |
[INFO] [stdout] 91 | const EXPENSIVE_JOB_THRESHOLD: f64 = 0.40;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUDGET_PRESSURE_SOFT` is never used
[INFO] [stdout]   --> src/cost_router.rs:95:7
[INFO] [stdout]    |
[INFO] [stdout] 95 | const BUDGET_PRESSURE_SOFT: f64 = 0.70;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BUDGET_PRESSURE_HARD` is never used
[INFO] [stdout]   --> src/cost_router.rs:99:7
[INFO] [stdout]    |
[INFO] [stdout] 99 | const BUDGET_PRESSURE_HARD: f64 = 0.90;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CostBudget` is never constructed
[INFO] [stdout]    --> src/cost_router.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct CostBudget {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `minute_fraction`, `hour_fraction`, `pressure`, `record`, `tick_minute`, and `tick_hour` are never used
[INFO] [stdout]    --> src/cost_router.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl CostBudget {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn minute_fraction(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn hour_fraction(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn pressure(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn record(&mut self, cost: f64) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn tick_minute(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn tick_hour(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CostRouterConfig` is never constructed
[INFO] [stdout]    --> src/cost_router.rs:179:12
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct CostRouterConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CostEstimate` is never constructed
[INFO] [stdout]    --> src/cost_router.rs:207:12
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub struct CostEstimate {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JobCostModel` is never constructed
[INFO] [stdout]    --> src/cost_router.rs:230:12
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub struct JobCostModel;
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `estimate` and `recommend` are never used
[INFO] [stdout]    --> src/cost_router.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl JobCostModel {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn estimate(job: &Job) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 259 |     pub fn recommend(normalised_cost: f64, budget_pressure: f64, allow_drop: bool) -> Strategy {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cost_scores` is never used
[INFO] [stdout]    --> src/cost_router.rs:296:8
[INFO] [stdout]     |
[INFO] [stdout] 296 | pub fn cost_scores(normalised_cost: f64, budget_pressure: f64) -> [f64; 5] {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CostRouterInner` is never constructed
[INFO] [stdout]    --> src/cost_router.rs:314:8
[INFO] [stdout]     |
[INFO] [stdout] 314 | struct CostRouterInner {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CostRouter` is never constructed
[INFO] [stdout]    --> src/cost_router.rs:345:12
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub struct CostRouter {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/cost_router.rs:353:12
[INFO] [stdout]     |
[INFO] [stdout] 350 | impl CostRouter {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 353 |     pub fn new(router: Router, budget: CostBudget, config: CostRouterConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 |     pub async fn submit(&self, job: Job) -> Result<Option<Vec<Output>>, CostBudgetError> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 444 |     pub async fn estimate(&self, job: &Job) -> CostEstimate {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 461 |     pub async fn budget_snapshot(&self) -> CostBudget {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 468 |     pub async fn tick_minute(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 476 |     pub async fn tick_hour(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 485 |     pub fn routing_counts(&self) -> (u64, u64, u64, u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 501 |     pub async fn run_budget_decay(&self, mut shutdown: tokio::sync::oneshot::Receiver<()>) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CostBudgetError` is never constructed
[INFO] [stdout]    --> src/cost_router.rs:528:12
[INFO] [stdout]     |
[INFO] [stdout] 528 | pub struct CostBudgetError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cost_prometheus_text` is never used
[INFO] [stdout]    --> src/cost_router.rs:556:14
[INFO] [stdout]     |
[INFO] [stdout] 556 | pub async fn cost_prometheus_text(cost_router: &CostRouter) -> String {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NodeId` is never constructed
[INFO] [stdout]   --> src/dag.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct NodeId(usize);
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DagNode` is never constructed
[INFO] [stdout]   --> src/dag.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct DagNode {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JobDag` is never constructed
[INFO] [stdout]    --> src/dag.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct JobDag {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DagError` is never used
[INFO] [stdout]    --> src/dag.rs:110:10
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub enum DagError {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DagResult` is never constructed
[INFO] [stdout]    --> src/dag.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct DagResult {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/dag.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 161 | impl JobDag {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn add_node(&mut self, job: Job) -> NodeId {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn add_edge(&mut self, from: NodeId, to: NodeId) -> Result<(), DagError> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn node_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     fn has_cycle(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     fn dfs_has_cycle(
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     fn topological_order(&self) -> Option<Vec<NodeId>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     fn leaf_nodes(&self) -> HashSet<NodeId> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DagExecutor` is never constructed
[INFO] [stdout]    --> src/dag.rs:347:12
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub struct DagExecutor {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `execute` are never used
[INFO] [stdout]    --> src/dag.rs:356:12
[INFO] [stdout]     |
[INFO] [stdout] 351 | impl DagExecutor {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 356 |     pub fn new(router: Router) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub async fn execute(&self, dag: JobDag) -> Result<DagResult, DagError> {
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_graph_payload` is never used
[INFO] [stdout]    --> src/dag.rs:572:12
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl JobDag {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 572 |     pub fn to_graph_payload(&self) -> DagGraphPayload {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeadlineJob` is never constructed
[INFO] [stdout]   --> src/deadline.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct DeadlineJob {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DeadlineEvent` is never used
[INFO] [stdout]    --> src/deadline.rs:102:10
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub enum DeadlineEvent {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HeapEntry` is never constructed
[INFO] [stdout]    --> src/deadline.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | struct HeapEntry {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SchedulerInner` is never constructed
[INFO] [stdout]    --> src/deadline.rs:173:8
[INFO] [stdout]     |
[INFO] [stdout] 173 | struct SchedulerInner {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeadlineScheduler` is never constructed
[INFO] [stdout]    --> src/deadline.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 198 | pub struct DeadlineScheduler {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/deadline.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 203 | impl DeadlineScheduler {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn new(router: Router) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 |     pub async fn push(&self, job: DeadlineJob) {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub async fn queue_len(&self) -> usize {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn subscribe(&self) -> broadcast::Receiver<DeadlineEvent> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn metrics(&self) -> (u64, u64, u64) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn miss_rate(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |     pub async fn drain_ready(&self) -> usize {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub async fn run(
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deadline_prometheus_text` is never used
[INFO] [stdout]    --> src/deadline.rs:456:8
[INFO] [stdout]     |
[INFO] [stdout] 456 | pub fn deadline_prometheus_text(scheduler: &DeadlineScheduler) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReasonTemplate` is never constructed
[INFO] [stdout]   --> src/explainer.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct ReasonTemplate;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `format` is never used
[INFO] [stdout]   --> src/explainer.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | impl ReasonTemplate {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn format(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `capacity` is never read
[INFO] [stdout]    --> src/explainer.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct StrategyExplainer {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 176 |     /// Capacity of the ring buffer.
[INFO] [stdout] 177 |     capacity: usize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `record`, `record_raw`, `len`, `is_empty`, `clear`, and `capacity` are never used
[INFO] [stdout]    --> src/explainer.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl StrategyExplainer {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn record(&mut self, reason: DecisionReason) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn record_raw(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 265 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pressure_score` is never read
[INFO] [stdout]    --> src/predictive_autoscaler.rs:273:9
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub struct LoadSample {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 273 |     pub pressure_score: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LoadSample` 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 `PredictorConfig` is never constructed
[INFO] [stdout]   --> src/predictor.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct PredictorConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HOUR_BUCKETS` is never used
[INFO] [stdout]    --> src/predictor.rs:102:7
[INFO] [stdout]     |
[INFO] [stdout] 102 | const HOUR_BUCKETS: usize = 24;
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PredictorState` is never constructed
[INFO] [stdout]    --> src/predictor.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 | struct PredictorState {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `current_hour`, `record_arrival`, `global_mean_rate`, `periodic_bias_for_current_hour`, and `forecast_rate` are never used
[INFO] [stdout]    --> src/predictor.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl PredictorState {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 129 |     fn new(cfg: PredictorConfig) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     fn current_hour() -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     fn record_arrival(&mut self, arrivals: u64) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     fn global_mean_rate(&self) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     fn periodic_bias_for_current_hour(&self) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     fn forecast_rate(&self) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PredictorSnapshot` is never constructed
[INFO] [stdout]    --> src/predictor.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub struct PredictorSnapshot {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LoadPredictor` is never constructed
[INFO] [stdout]    --> src/predictor.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct LoadPredictor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/predictor.rs:231:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | impl LoadPredictor {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub fn new(cfg: PredictorConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn record_arrival(&self, arrivals: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     pub fn forecast_rate(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn should_prewarm(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 308 |     pub fn should_shed_load(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn snapshot(&self) -> PredictorSnapshot {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     pub fn reset(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn update_config(&self, cfg: PredictorConfig) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Priority` is never used
[INFO] [stdout]   --> src/priority_balancer.rs:48:10
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum Priority {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkerStats` is never constructed
[INFO] [stdout]   --> src/priority_balancer.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct WorkerStats {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PriorityLoadBalancer` is never constructed
[INFO] [stdout]   --> src/priority_balancer.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct PriorityLoadBalancer {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/priority_balancer.rs:97:12
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl PriorityLoadBalancer {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn register_worker(&mut self, stats: WorkerStats) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn update_worker(&mut self, worker_id: &str, stats: WorkerStats) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn remove_worker(&mut self, worker_id: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn select_worker(&self, priority: Priority, tags: &[String]) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn select_top_workers(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn worker_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn healthy_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn all_workers(&self) -> Vec<WorkerStats> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn get_worker(&self, worker_id: &str) -> Option<&WorkerStats> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn workers_for_tag(&self, tag: &str) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn score_worker(&self, w: &WorkerStats, priority: Priority, tags: &[String]) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Priority` is never used
[INFO] [stdout]   --> src/priority_monitor.rs:47:10
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub enum Priority {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PriorityMonitorConfig` is never constructed
[INFO] [stdout]   --> src/priority_monitor.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct PriorityMonitorConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InversionAction` is never used
[INFO] [stdout]    --> src/priority_monitor.rs:107:10
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub enum InversionAction {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InversionEvent` is never constructed
[INFO] [stdout]    --> src/priority_monitor.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct InversionEvent {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InFlightJob` is never constructed
[INFO] [stdout]    --> src/priority_monitor.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | struct InFlightJob {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MonitorState` is never constructed
[INFO] [stdout]    --> src/priority_monitor.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | struct MonitorState {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `register`, `complete`, and `detect_inversions` are never used
[INFO] [stdout]    --> src/priority_monitor.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 167 | impl MonitorState {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 168 |     fn new(cfg: PriorityMonitorConfig) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     fn register(&mut self, id: u64, priority: Priority) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     fn complete(&mut self, id: u64) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     fn detect_inversions(&mut self) -> Vec<InversionEvent> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PriorityMonitorSnapshot` is never constructed
[INFO] [stdout]    --> src/priority_monitor.rs:278:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | pub struct PriorityMonitorSnapshot {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PriorityMonitor` is never constructed
[INFO] [stdout]    --> src/priority_monitor.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub struct PriorityMonitor {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `register_job`, `complete_job`, `tick`, and `snapshot` are never used
[INFO] [stdout]    --> src/priority_monitor.rs:302:12
[INFO] [stdout]     |
[INFO] [stdout] 299 | impl PriorityMonitor {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn new(cfg: PriorityMonitorConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 311 |     pub fn register_job(&self, id: u64, priority: Priority) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     pub fn complete_job(&self, id: u64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     pub fn tick(&self) -> Vec<InversionEvent> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn snapshot(&self) -> PriorityMonitorSnapshot {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReservationId` is never constructed
[INFO] [stdout]   --> src/reservation.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct ReservationId(u64);
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReservationPriority` is never used
[INFO] [stdout]   --> src/reservation.rs:72:10
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub enum ReservationPriority {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReservationConfig` is never constructed
[INFO] [stdout]    --> src/reservation.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct ReservationConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Reservation` is never constructed
[INFO] [stdout]    --> src/reservation.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct Reservation {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ManagerState` is never constructed
[INFO] [stdout]    --> src/reservation.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | struct ManagerState {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `reserved_fraction`, `add`, `remove`, and `can_admit` are never used
[INFO] [stdout]    --> src/reservation.rs:158:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl ManagerState {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 158 |     fn new(cfg: ReservationConfig) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     fn reserved_fraction(&self) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn add(&mut self, caller_id: String, mut fraction: f64, priority: ReservationPriority) -> ReservationId {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     fn remove(&mut self, id: ReservationId) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 227 |     fn can_admit(&mut self, caller_id: &str, priority: ReservationPriority) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReservationSnapshot` is never constructed
[INFO] [stdout]    --> src/reservation.rs:292:12
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub struct ReservationSnapshot {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReservationManager` is never constructed
[INFO] [stdout]    --> src/reservation.rs:315:12
[INFO] [stdout]     |
[INFO] [stdout] 315 | pub struct ReservationManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/reservation.rs:322:12
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl ReservationManager {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn new(cfg: ReservationConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn add_reservation(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub fn remove_reservation(&self, id: ReservationId) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub fn reserved_fraction(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     pub fn available_fraction(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     pub fn can_admit(&self, caller_id: &str, priority: ReservationPriority) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     pub fn snapshot(&self) -> ReservationSnapshot {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkHint` is never constructed
[INFO] [stdout]    --> src/router.rs:313:12
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub struct WorkHint {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Rejected` is never used
[INFO] [stdout]    --> src/router.rs:345:10
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub enum Rejected {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `observe_latency_for_timeout` and `run` are never used
[INFO] [stdout]    --> src/router.rs:739:18
[INFO] [stdout]     |
[INFO] [stdout] 371 | impl Router {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 739 |     pub async fn observe_latency_for_timeout(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 946 |     pub async fn run<T, F>(&self, hint: WorkHint, work: F) -> Result<T, Rejected>
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StreamChunk` is never used
[INFO] [stdout]   --> src/streaming.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub enum StreamChunk {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StreamError` is never used
[INFO] [stdout]    --> src/streaming.rs:108:10
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub enum StreamError {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamConfig` is never constructed
[INFO] [stdout]    --> src/streaming.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct StreamConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamEntry` is never constructed
[INFO] [stdout]    --> src/streaming.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 | struct StreamEntry {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamRouterInner` is never constructed
[INFO] [stdout]    --> src/streaming.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 172 | struct StreamRouterInner {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamRouter` is never constructed
[INFO] [stdout]    --> src/streaming.rs:193:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct StreamRouter {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `submit_streaming`, `subscribe`, `active_job_count`, `stats`, and `prometheus_text` are never used
[INFO] [stdout]    --> src/streaming.rs:201:12
[INFO] [stdout]     |
[INFO] [stdout] 198 | impl StreamRouter {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 201 |     pub fn new(router: Router, config: StreamConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 228 |     pub async fn submit_streaming(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub async fn subscribe(&self, job_id: u64) -> Result<broadcast::Receiver<StreamChunk>, StreamError> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub async fn active_job_count(&self) -> usize {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     pub fn stats(&self) -> (u64, u64, u64) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 351 |     pub async fn prometheus_text(&self) -> String {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_stream` is never used
[INFO] [stdout]    --> src/streaming.rs:379:14
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub async fn collect_stream(
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serve_with_all` is never used
[INFO] [stdout]   --> src/web.rs:86:14
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub async fn serve_with_all(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RoutingStrategy` is never used
[INFO] [stdout]   --> src/bandit.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum RoutingStrategy {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BanditArm` is never constructed
[INFO] [stdout]   --> src/bandit.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct BanditArm {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `mean_reward`, `ucb1`, and `apply_decay` are never used
[INFO] [stdout]   --> src/bandit.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl BanditArm {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 66 |     fn new(strategy: RoutingStrategy) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn mean_reward(&self) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     fn ucb1(&self, total_pulls: u64, exploration_bonus: f64) -> f64 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     fn apply_decay(&mut self, decay: f64) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArmStats` is never constructed
[INFO] [stdout]    --> src/bandit.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct ArmStats {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BanditStats` is never constructed
[INFO] [stdout]    --> src/bandit.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | pub struct BanditStats {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BanditConfig` is never constructed
[INFO] [stdout]    --> src/bandit.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct BanditConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BanditRouter` is never constructed
[INFO] [stdout]    --> src/bandit.rs:187:12
[INFO] [stdout]     |
[INFO] [stdout] 187 | pub struct BanditRouter {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/bandit.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout] 206 | impl BanditRouter {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 207 |     /// Create a new `BanditRouter` with the given configuration.
[INFO] [stdout] 208 |     pub fn new(config: BanditConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     pub fn select(&mut self) -> RoutingStrategy {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     pub fn update(&mut self, strategy: RoutingStrategy, reward: f64) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn stats(&self) -> BanditStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub fn config(&self) -> &BanditConfig {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn total_pulls(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn arm(&self, strategy: RoutingStrategy) -> Option<&BanditArm> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `ID_COUNTER` is never used
[INFO] [stdout]   --> src/tracing_span.rs:38:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | static ID_COUNTER: AtomicU64 = AtomicU64::new(1);
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_id` is never used
[INFO] [stdout]   --> src/tracing_span.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn next_id() -> u64 {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraceSpan` is never constructed
[INFO] [stdout]   --> src/tracing_span.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct TraceSpan {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `started_at_ms` is never read
[INFO] [stdout]   --> src/tracing_span.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct CompletedSpan {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub started_at_ms: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompletedSpan` 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 `capacity` is never read
[INFO] [stdout]   --> src/tracing_span.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct TraceStore {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 93 |     buffer: VecDeque<CompletedSpan>,
[INFO] [stdout] 94 |     capacity: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TraceStore` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `insert`, `p99_latency_ms`, `len`, `is_empty`, and `capacity` are never used
[INFO] [stdout]    --> src/tracing_span.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl TraceStore {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn insert(&mut self, span: CompletedSpan) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn p99_latency_ms(&self, operation: &str) -> Option<f64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpanGuard` is never constructed
[INFO] [stdout]    --> src/tracing_span.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub struct SpanGuard {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `trace_id`, `span_id`, `operation`, and `tag` are never used
[INFO] [stdout]    --> src/tracing_span.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 208 | impl SpanGuard {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 209 |     /// Return the `trace_id` of the underlying span.
[INFO] [stdout] 210 |     pub fn trace_id(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub fn span_id(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn operation(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn tag(&mut self, key: impl Into<String>, value: impl Into<String>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tracer` is never constructed
[INFO] [stdout]    --> src/tracing_span.rs:274:12
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub struct Tracer {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start_span`, and `context` are never used
[INFO] [stdout]    --> src/tracing_span.rs:280:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | impl Tracer {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 279 |     /// Create a new `Tracer` backed by `context`.
[INFO] [stdout] 280 |     pub fn new(context: TraceContext) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn start_span(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn context(&self) -> &TraceContext {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FNV_OFFSET_BASIS` is never used
[INFO] [stdout]   --> src/dedup.rs:36:7
[INFO] [stdout]    |
[INFO] [stdout] 36 | const FNV_OFFSET_BASIS: u64 = 14_695_981_039_346_656_037;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FNV_PRIME` is never used
[INFO] [stdout]   --> src/dedup.rs:37:7
[INFO] [stdout]    |
[INFO] [stdout] 37 | const FNV_PRIME: u64 = 1_099_511_628_211;
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fnv1a` is never used
[INFO] [stdout]   --> src/dedup.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn fnv1a(data: &[u8]) -> u64 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fnv1a_str` is never used
[INFO] [stdout]   --> src/dedup.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn fnv1a_str(s: &str) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `for_job` is never used
[INFO] [stdout]   --> src/dedup.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl DedupKey {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 69 |     /// Compute the deduplication key for a job.
[INFO] [stdout] 70 |     pub fn for_job(job: &Job) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `original_job_id`, `submitted_at`, and `waiters` are never read
[INFO] [stdout]   --> src/dedup.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct DedupeEntry {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 86 |     /// The job_id of the original (first) submission.
[INFO] [stdout] 87 |     pub original_job_id: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 88 |     /// When this entry was first inserted.
[INFO] [stdout] 89 |     pub submitted_at: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 90 |     /// Waiting receivers — each receives the result when the original job completes.
[INFO] [stdout] 91 |     pub waiters: Vec<oneshot::Sender<JobResult>>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DedupDecision` is never used
[INFO] [stdout]   --> src/dedup.rs:97:10
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub enum DedupDecision {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id_to_key` and `ttl` are never read
[INFO] [stdout]    --> src/dedup.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct JobDeduplicator {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 148 |     id_to_key: HashMap<u64, DedupKey>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 149 |     /// Entries older than this duration are evicted on the next `submit`.
[INFO] [stdout] 150 |     ttl: Duration,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `evict_expired`, `submit`, `complete`, `active_entry_count`, and `is_in_flight` are never used
[INFO] [stdout]    --> src/dedup.rs:175:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl JobDeduplicator {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 175 |     fn evict_expired(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn submit(&mut self, job: Job) -> DedupDecision {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn complete(&mut self, job_id: u64, result: JobResult) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 268 |     pub fn active_entry_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     pub fn is_in_flight(&self, job: &Job) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sla_ms` and `base_priority` are never used
[INFO] [stdout]   --> src/sla_queue.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl SlaClass {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 52 |     /// Return the SLA deadline in milliseconds for this class.
[INFO] [stdout] 53 |     pub fn sla_ms(self) -> u64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn base_priority(self) -> i64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `job`, `sla_class`, and `enqueued_at` are never read
[INFO] [stdout]   --> src/sla_queue.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct SlaJob {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 87 |     /// The underlying job.
[INFO] [stdout] 88 |     pub job: Job,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 89 |     /// The SLA tier assigned at enqueue time.
[INFO] [stdout] 90 |     pub sla_class: SlaClass,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 91 |     /// Wall-clock instant when this job was enqueued.
[INFO] [stdout] 92 |     pub enqueued_at: Instant,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `rescore`, `is_expired`, and `elapsed_ms` are never used
[INFO] [stdout]    --> src/sla_queue.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout]  97 | impl SlaJob {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn new(job: Job, sla_class: SlaClass) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn rescore(&mut self) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn is_expired(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn elapsed_ms(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `heap` is never read
[INFO] [stdout]    --> src/sla_queue.rs:208:5
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub struct SlaQueue {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 208 |     heap: BinaryHeap<SlaJob>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push`, `pop`, `expired`, `len`, and `is_empty` are never used
[INFO] [stdout]    --> src/sla_queue.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout] 216 | impl SlaQueue {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn push(&mut self, job: Job, sla_class: SlaClass) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     pub fn pop(&mut self) -> Option<SlaJob> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn expired(&mut self) -> Vec<SlaJob> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `global_rps` and `per_kind_rps` are never read
[INFO] [stdout]   --> src/flow_control.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct FlowConfig {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 22 |     /// Global refill rate in requests per second.
[INFO] [stdout] 23 |     pub global_rps: f64,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub per_kind_rps: HashMap<String, f64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FlowConfig` 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: enum `AdmitResult` is never used
[INFO] [stdout]   --> src/flow_control.rs:45:10
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub enum AdmitResult {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `config`, `last_refill`, `kind_tokens`, and `kind_last_refill` are never read
[INFO] [stdout]   --> src/flow_control.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | struct FlowState {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 80 |     config: FlowConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 81 |     tokens: f64,
[INFO] [stdout] 82 |     last_refill: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     kind_tokens: HashMap<String, f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 88 |     /// Per-kind last-refill timestamps.
[INFO] [stdout] 89 |     kind_last_refill: HashMap<String, Instant>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FlowState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `refill_global` and `refill_kind` are never used
[INFO] [stdout]    --> src/flow_control.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl FlowState {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 108 |     fn refill_global(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     fn refill_kind(&mut self, kind: &str, rps: f64) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `default_config`, `try_admit`, `current_tokens`, `burst`, and `update_config` are never used
[INFO] [stdout]    --> src/flow_control.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl FlowController {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn default_config() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn try_admit(&self, kind: &str) -> AdmitResult {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn current_tokens(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn burst(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub fn update_config(&self, config: FlowConfig) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `age` is never read
[INFO] [stdout]   --> src/result_cache.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct CachedResult {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub age: Duration,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CachedResult` 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: associated items `default_config`, `evict_expired`, `len`, `is_empty`, and `config` are never used
[INFO] [stdout]    --> src/result_cache.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl ResultCache {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn default_config() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn evict_expired(&mut self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn config(&self) -> &CacheConfig {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `succeeded` is never read
[INFO] [stdout]   --> src/timeout_mgr.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct LatencyObservation {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub succeeded: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LatencyObservation` 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 `backoff_factor` is never read
[INFO] [stdout]   --> src/timeout_mgr.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 71 | struct KindState {
[INFO] [stdout]    |        --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 78 |     backoff_factor: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `KindState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `suggest_timeout` and `mark_timeout` are never used
[INFO] [stdout]    --> src/timeout_mgr.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl TimeoutManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn suggest_timeout(&self, kind: &str) -> Duration {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn mark_timeout(&mut self, kind: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RetryPolicy` is never constructed
[INFO] [stdout]   --> src/retry.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct RetryPolicy {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RetryState` is never constructed
[INFO] [stdout]   --> src/retry.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct RetryState {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `initial` and `advance` are never used
[INFO] [stdout]   --> src/retry.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl RetryState {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 85 |     /// Create an initial retry state from a policy.
[INFO] [stdout] 86 |     pub fn initial(policy: &RetryPolicy) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     fn advance(&mut self, policy: &RetryPolicy, err: String, lcg: &mut Lcg) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RetryError` is never used
[INFO] [stdout]    --> src/retry.rs:117:10
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub enum RetryError {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RetryStats` is never constructed
[INFO] [stdout]    --> src/retry.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct RetryStats {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lcg` is never constructed
[INFO] [stdout]    --> src/retry.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 159 | struct Lcg {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next_u64`, and `next_f64_range` are never used
[INFO] [stdout]    --> src/retry.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl Lcg {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout] 164 |     fn new(seed: u64) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     fn next_u64(&mut self) -> u64 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     fn next_f64_range(&mut self, lo: f64, hi: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RetryManager` is never constructed
[INFO] [stdout]    --> src/retry.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 188 | pub struct RetryManager {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, `stats`, and `execute` are never used
[INFO] [stdout]    --> src/retry.rs:196:12
[INFO] [stdout]     |
[INFO] [stdout] 194 | impl RetryManager {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 195 |     /// Create a new `RetryManager`.
[INFO] [stdout] 196 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub async fn run<F, Fut>(
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 262 |     pub fn stats(&self) -> RetryStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub async fn execute<F, Fut>(
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `clap`
[INFO] [stderr]   --> Cargo.toml:18:15
[INFO] [stderr]    |
[INFO] [stderr] 18 | [dependencies.clap]
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `clap`
[INFO] [stderr] warning: `helixrouter` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 57s
[INFO] running `Command { std: "docker" "inspect" "9af9d7e617188d5400a27cc86be371950901632c1f215077271285039bd8d4c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9af9d7e617188d5400a27cc86be371950901632c1f215077271285039bd8d4c5" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]    --> Cargo.toml:115:12
[INFO] [stderr]     |
[INFO] [stderr] 115 | homepage = "https://gitlab.com/mattbusel/HelixRouter-adaptive-async-compute-router"
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 120 | repository = "https://gitlab.com/mattbusel/HelixRouter-adaptive-async-compute-router"
[INFO] [stderr]     |              ------------------------------------------------------------------------
[INFO] [stderr]     |
[INFO] [stderr]     = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `helixrouter` (manifest) generated 1 warning
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling proptest v1.10.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling helixrouter v1.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<u64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/load_balancer.rs:338:22
[INFO] [stdout]     |
[INFO] [stdout] 338 |                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |v| {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 338 -                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |v| {
[INFO] [stdout] 338 +                     .try_update(Ordering::Relaxed, Ordering::Relaxed, |v| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]    --> src/content_negotiation.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl ContentEncoding {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 157 |     fn from_str(s: &str) -> Option<Self> {
[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 `0` is never read
[INFO] [stdout]   --> src/request_validator.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 |     Bool(bool),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JsonVal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 66 -     Bool(bool),
[INFO] [stdout] 66 +     Bool(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<u64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/load_balancer.rs:338:22
[INFO] [stdout]     |
[INFO] [stdout] 338 |                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |v| {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 338 -                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |v| {
[INFO] [stdout] 338 +                     .try_update(Ordering::Relaxed, Ordering::Relaxed, |v| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]    --> src/content_negotiation.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl ContentEncoding {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 157 |     fn from_str(s: &str) -> Option<Self> {
[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 `0` is never read
[INFO] [stdout]   --> src/request_validator.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 |     Bool(bool),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JsonVal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 66 -     Bool(bool),
[INFO] [stdout] 66 +     Bool(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<u64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/load_balancer.rs:338:22
[INFO] [stdout]     |
[INFO] [stdout] 338 |                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |v| {
[INFO] [stdout]     |                      ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 338 -                     .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |v| {
[INFO] [stdout] 338 +                     .try_update(Ordering::Relaxed, Ordering::Relaxed, |v| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/router.rs:2686:13
[INFO] [stdout]      |
[INFO] [stdout] 2686 |         let mut q = buf.lock().await;
[INFO] [stdout]      |             ----^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `executed_seqs`
[INFO] [stdout]     --> src/router.rs:2666:13
[INFO] [stdout]      |
[INFO] [stdout] 2666 |         let executed_seqs: Arc<StdMutex<Vec<u64>>> = Arc::new(StdMutex::new(Vec::new()));
[INFO] [stdout]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_executed_seqs`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/dedup.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let mut dedup = JobDeduplicator::with_default_ttl();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_str` is never used
[INFO] [stdout]    --> src/content_negotiation.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl ContentEncoding {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 157 |     fn from_str(s: &str) -> Option<Self> {
[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 `0` is never read
[INFO] [stdout]   --> src/request_validator.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 |     Bool(bool),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `JsonVal` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 66 -     Bool(bool),
[INFO] [stdout] 66 +     Bool(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `helixrouter` (lib test); 6 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/1.100.0-beta.1-x86_64-unknown-linux-gnu/bin/rustc --crate-name helixrouter --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat,unused-externs-silent --emit=dep-info,link -C opt-level=3 -C lto -C codegen-units=1 '--deny=clippy::unwrap_used' '--warn=clippy::semicolon_if_nothing_returned' '--warn=clippy::redundant_closure_for_method_calls' '--deny=clippy::panic' '--warn=clippy::needless_pass_by_value' '--warn=clippy::large_futures' '--deny=clippy::expect_used' --test --cfg 'feature="default"' --cfg 'feature="simulation"' --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values("default", "distributed", "simulation"))' -C metadata=961c4b12afa6dd84 -C extra-filename=-e684dca7a7436374 --out-dir /opt/rustwide/target/release/build/helixrouter/e684dca7a7436374/out -C strip=symbols -L dependency=/opt/rustwide/target/release/build/anes/87fd09f0d16e113c/out -L dependency=/opt/rustwide/target/release/build/anstream/c30b862a16753639/out -L dependency=/opt/rustwide/target/release/build/anstyle-parse/5e3ef57742a332b0/out -L dependency=/opt/rustwide/target/release/build/anstyle-query/aee8868476d054cd/out -L dependency=/opt/rustwide/target/release/build/anstyle/d7cf3d83ad31b35b/out -L dependency=/opt/rustwide/target/release/build/async-trait/76f6f9212cd9762c/out -L dependency=/opt/rustwide/target/release/build/atomic-waker/893f77eca12265cc/out -L dependency=/opt/rustwide/target/release/build/axum-core/284ea92901aacdc5/out -L dependency=/opt/rustwide/target/release/build/axum-macros/e59266ef1cf2c336/out -L dependency=/opt/rustwide/target/release/build/bit-set/a3668d09ee6babb8/out -L dependency=/opt/rustwide/target/release/build/bit-vec/067dd2354e7030e9/out -L dependency=/opt/rustwide/target/release/build/bitflags/be03ed595d943e0a/out -L dependency=/opt/rustwide/target/release/build/block-buffer/41afc7d93a049722/out -L dependency=/opt/rustwide/target/release/build/bytes/8cc8048392df07b9/out -L dependency=/opt/rustwide/target/release/build/cast/50382e5bafdc09dc/out -L dependency=/opt/rustwide/target/release/build/cfg-if/a482e59980580f33/out -L dependency=/opt/rustwide/target/release/build/ciborium-io/70c9b801eba2eaa0/out -L dependency=/opt/rustwide/target/release/build/ciborium-ll/7ba5e31574ebc570/out -L dependency=/opt/rustwide/target/release/build/ciborium/8eae015d8864964d/out -L dependency=/opt/rustwide/target/release/build/clap/e26a0825019e8ee9/out -L dependency=/opt/rustwide/target/release/build/clap_builder/8a0bac349530c7f1/out -L dependency=/opt/rustwide/target/release/build/clap_derive/9284e5c0e00987f2/out -L dependency=/opt/rustwide/target/release/build/clap_lex/fdb21b7190952acc/out -L dependency=/opt/rustwide/target/release/build/colorchoice/ddbf2e940750401b/out -L dependency=/opt/rustwide/target/release/build/cpufeatures/9f835e880cfa604b/out -L dependency=/opt/rustwide/target/release/build/criterion-plot/7f573afd554fbc1e/out -L dependency=/opt/rustwide/target/release/build/crossbeam-deque/7fdbe9513da61133/out -L dependency=/opt/rustwide/target/release/build/crossbeam-epoch/be67211bda861bd5/out -L dependency=/opt/rustwide/target/release/build/crossbeam-utils/4b88febf95d42256/out -L dependency=/opt/rustwide/target/release/build/crypto-common/8cd2d6d71986e392/out -L dependency=/opt/rustwide/target/release/build/digest/e5bf18121276b8be/out -L dependency=/opt/rustwide/target/release/build/either/087deaec26649e4d/out -L dependency=/opt/rustwide/target/release/build/errno/22cccc5469b4b27e/out -L dependency=/opt/rustwide/target/release/build/fastrand/bb39a6de8dcbd894/out -L dependency=/opt/rustwide/target/release/build/fnv/f724f0f88c36e3cd/out -L dependency=/opt/rustwide/target/release/build/form_urlencoded/c2b5042966291add/out -L dependency=/opt/rustwide/target/release/build/futures-channel/d1ff75f0d1af37ef/out -L dependency=/opt/rustwide/target/release/build/futures-core/b842243cfa5b09cb/out -L dependency=/opt/rustwide/target/release/build/futures-sink/b3a1a4e66e1032a3/out -L dependency=/opt/rustwide/target/release/build/futures-task/4ce2d02381fce6d2/out -L dependency=/opt/rustwide/target/release/build/futures-util/307056ffd43cbcbc/out -L dependency=/opt/rustwide/target/release/build/generic-array/8f68a0da7f507168/out -L dependency=/opt/rustwide/target/release/build/getrandom/a3ea9a9c7c608b0c/out -L dependency=/opt/rustwide/target/release/build/getrandom/ba8aedade6adf286/out -L dependency=/opt/rustwide/target/release/build/getrandom/bc3b1fa216e012a1/out -L dependency=/opt/rustwide/target/release/build/half/7ec36bb0f22d26d7/out -L dependency=/opt/rustwide/target/release/build/hashbrown/9e9ed7dbf40970f6/out -L dependency=/opt/rustwide/target/release/build/http-body-util/c5a1ff5ec7caba73/out -L dependency=/opt/rustwide/target/release/build/http-body/bf1b82f9ad800c35/out -L dependency=/opt/rustwide/target/release/build/http/4a1f2d2563fcce76/out -L dependency=/opt/rustwide/target/release/build/httparse/568b6e25334851a7/out -L dependency=/opt/rustwide/target/release/build/httpdate/6b176bb8a9955e5f/out -L dependency=/opt/rustwide/target/release/build/hyper-util/326ced93492aa9ad/out -L dependency=/opt/rustwide/target/release/build/hyper/8d220a7eb140c3b7/out -L dependency=/opt/rustwide/target/release/build/is-terminal/724dfac23b6f20b2/out -L dependency=/opt/rustwide/target/release/build/is_terminal_polyfill/7bc0f0a321c8ad20/out -L dependency=/opt/rustwide/target/release/build/itertools/6add7e9ae5a1e892/out -L dependency=/opt/rustwide/target/release/build/itoa/119ed9486534c13a/out -L dependency=/opt/rustwide/target/release/build/lazy_static/2866e0cc8a80a7fc/out -L dependency=/opt/rustwide/target/release/build/libc/8aadd1e3b5e81cab/out -L dependency=/opt/rustwide/target/release/build/linux-raw-sys/1469e7fa7481793d/out -L dependency=/opt/rustwide/target/release/build/lock_api/1d5dec2bd3e3f123/out -L dependency=/opt/rustwide/target/release/build/log/9b5e9852aab4573a/out -L dependency=/opt/rustwide/target/release/build/matchers/637f1e4d69cd3340/out -L dependency=/opt/rustwide/target/release/build/matchit/70e5077c09ec892d/out -L dependency=/opt/rustwide/target/release/build/memchr/77ca4a7c6384177e/out -L dependency=/opt/rustwide/target/release/build/mime/70af4cef9fc04086/out -L dependency=/opt/rustwide/target/release/build/mio/862fda7111efe1db/out -L dependency=/opt/rustwide/target/release/build/nu-ansi-term/c2b203f37ebca5f1/out -L dependency=/opt/rustwide/target/release/build/num-traits/6c1284d80d15b97e/out -L dependency=/opt/rustwide/target/release/build/once_cell/958e31edd3b9d23f/out -L dependency=/opt/rustwide/target/release/build/oorandom/695bd8cbabaa3166/out -L dependency=/opt/rustwide/target/release/build/parking_lot/450f57b927ce89a3/out -L dependency=/opt/rustwide/target/release/build/parking_lot_core/3a1fd0c783f81a8d/out -L dependency=/opt/rustwide/target/release/build/percent-encoding/e470f01ed2a5a90a/out -L dependency=/opt/rustwide/target/release/build/pin-project-lite/02407bc32571ee09/out -L dependency=/opt/rustwide/target/release/build/pin-utils/73111e3ed017d1b2/out -L dependency=/opt/rustwide/target/release/build/plotters-backend/8ab554e6c1f798c8/out -L dependency=/opt/rustwide/target/release/build/plotters-svg/f5a1dc63079023bc/out -L dependency=/opt/rustwide/target/release/build/plotters/d09ad3fd5dcfb784/out -L dependency=/opt/rustwide/target/release/build/ppv-lite86/30d0e226a8047092/out -L dependency=/opt/rustwide/target/release/build/quick-error/aae24e4b66e6040a/out -L dependency=/opt/rustwide/target/release/build/rand/899256be8248d805/out -L dependency=/opt/rustwide/target/release/build/rand_chacha/96826f6b25814dbd/out -L dependency=/opt/rustwide/target/release/build/rand_chacha/c2f714c3fbf6128d/out -L dependency=/opt/rustwide/target/release/build/rand_core/b09916738e1528cf/out -L dependency=/opt/rustwide/target/release/build/rand_core/b0ea3c996cbc9e97/out -L dependency=/opt/rustwide/target/release/build/rand_xorshift/8ba60228d9625d51/out -L dependency=/opt/rustwide/target/release/build/rayon-core/61c33be2136a953a/out -L dependency=/opt/rustwide/target/release/build/rayon/dc4e9b9c8fb39979/out -L dependency=/opt/rustwide/target/release/build/regex-automata/7fc1dca237cb5515/out -L dependency=/opt/rustwide/target/release/build/regex-syntax/b6cef74e87c7b208/out -L dependency=/opt/rustwide/target/release/build/regex/49374ac381b1a66f/out -L dependency=/opt/rustwide/target/release/build/rustix/4f2389a7d55cb8ea/out -L dependency=/opt/rustwide/target/release/build/rustversion/7fa6a4ce8220f90b/out -L dependency=/opt/rustwide/target/release/build/rusty-fork/0be673ef60a5e680/out -L dependency=/opt/rustwide/target/release/build/ryu/8b2568bee653db67/out -L dependency=/opt/rustwide/target/release/build/same-file/86807907e0342bb3/out -L dependency=/opt/rustwide/target/release/build/scopeguard/2c25701250422474/out -L dependency=/opt/rustwide/target/release/build/serde/929b58afe624d41d/out -L dependency=/opt/rustwide/target/release/build/serde_core/1b32b184a8e4881c/out -L dependency=/opt/rustwide/target/release/build/serde_derive/e70581c7aac6e91f/out -L dependency=/opt/rustwide/target/release/build/serde_json/528352d2f7f24c30/out -L dependency=/opt/rustwide/target/release/build/serde_path_to_error/cb20ab0d47b315ac/out -L dependency=/opt/rustwide/target/release/build/serde_urlencoded/b6ee36faa7385d43/out -L dependency=/opt/rustwide/target/release/build/sharded-slab/79fd74d2a69fd5ba/out -L dependency=/opt/rustwide/target/release/build/signal-hook-registry/717262c9fe287a91/out -L dependency=/opt/rustwide/target/release/build/slab/40a75721cdfda469/out -L dependency=/opt/rustwide/target/release/build/smallvec/9ddcb43148b69b72/out -L dependency=/opt/rustwide/target/release/build/socket2/0ae0c6a1dc395d09/out -L dependency=/opt/rustwide/target/release/build/strsim/501c78b15dc515e6/out -L dependency=/opt/rustwide/target/release/build/subtle/90e2a100bb13829f/out -L dependency=/opt/rustwide/target/release/build/sync_wrapper/beb5eb8710ef153b/out -L dependency=/opt/rustwide/target/release/build/tempfile/237bff6e365091f6/out -L dependency=/opt/rustwide/target/release/build/thread_local/971d1bd848c7dfbd/out -L dependency=/opt/rustwide/target/release/build/tinytemplate/64e5d210f3ddb1bc/out -L dependency=/opt/rustwide/target/release/build/tokio-macros/4e61daa17b482e88/out -L dependency=/opt/rustwide/target/release/build/tokio-util/2a2cd2538dfe7b9c/out -L dependency=/opt/rustwide/target/release/build/tokio/898ed747a99e6f57/out -L dependency=/opt/rustwide/target/release/build/tower-layer/fdfea5544d4178a3/out -L dependency=/opt/rustwide/target/release/build/tower-service/7c77af2b9141257b/out -L dependency=/opt/rustwide/target/release/build/tower/33ae223ee248d610/out -L dependency=/opt/rustwide/target/release/build/tracing-attributes/29f8e32eb1feb0ab/out -L dependency=/opt/rustwide/target/release/build/tracing-core/b96868504ab50540/out -L dependency=/opt/rustwide/target/release/build/tracing-log/c40b0b0c6ce3f8fb/out -L dependency=/opt/rustwide/target/release/build/tracing/6da3d3126ea46c82/out -L dependency=/opt/rustwide/target/release/build/typenum/8723db8ccd4b1c62/out -L dependency=/opt/rustwide/target/release/build/unarray/346721616c8c5279/out -L dependency=/opt/rustwide/target/release/build/utf8parse/e44955805132ecdb/out -L dependency=/opt/rustwide/target/release/build/wait-timeout/c802c3c0bd90631c/out -L dependency=/opt/rustwide/target/release/build/walkdir/ec4549ef162295a8/out -L dependency=/opt/rustwide/target/release/build/zerocopy-derive/e2a5dd544f11b6aa/out -L dependency=/opt/rustwide/target/release/build/zerocopy/1d017fce284ffc99/out -L dependency=/opt/rustwide/target/release/build/zmij/b00c680f7f38c3e2/out --extern axum=/opt/rustwide/target/release/build/axum/94812d5451744447/out/libaxum-94812d5451744447.rlib --extern clap=/opt/rustwide/target/release/build/clap/e26a0825019e8ee9/out/libclap-e26a0825019e8ee9.rlib --extern criterion=/opt/rustwide/target/release/build/criterion/b372b27e2ea8226a/out/libcriterion-b372b27e2ea8226a.rlib --extern dashmap=/opt/rustwide/target/release/build/dashmap/3f338dc0823ebe8a/out/libdashmap-3f338dc0823ebe8a.rlib --extern futures_core=/opt/rustwide/target/release/build/futures-core/b842243cfa5b09cb/out/libfutures_core-b842243cfa5b09cb.rlib --extern hmac=/opt/rustwide/target/release/build/hmac/ee41a7666a0e4d79/out/libhmac-ee41a7666a0e4d79.rlib --extern proptest=/opt/rustwide/target/release/build/proptest/cadf945f02c3de16/out/libproptest-cadf945f02c3de16.rlib --extern rand=/opt/rustwide/target/release/build/rand/b3b48c61d9420191/out/librand-b3b48c61d9420191.rlib --extern serde=/opt/rustwide/target/release/build/serde/929b58afe624d41d/out/libserde-929b58afe624d41d.rlib --extern serde_json=/opt/rustwide/target/release/build/serde_json/528352d2f7f24c30/out/libserde_json-528352d2f7f24c30.rlib --extern sha2=/opt/rustwide/target/release/build/sha2/df7a6a46d40545d9/out/libsha2-df7a6a46d40545d9.rlib --extern tempfile=/opt/rustwide/target/release/build/tempfile/237bff6e365091f6/out/libtempfile-237bff6e365091f6.rlib --extern tokio=/opt/rustwide/target/release/build/tokio/898ed747a99e6f57/out/libtokio-898ed747a99e6f57.rlib --extern tokio_stream=/opt/rustwide/target/release/build/tokio-stream/1216dbe8f695a6bf/out/libtokio_stream-1216dbe8f695a6bf.rlib --extern tracing=/opt/rustwide/target/release/build/tracing/6da3d3126ea46c82/out/libtracing-6da3d3126ea46c82.rlib --extern tracing_subscriber=/opt/rustwide/target/release/build/tracing-subscriber/e596f297894855a4/out/libtracing_subscriber-e596f297894855a4.rlib --cap-lints=warn --force-warn=unused_crate_dependencies` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/router.rs:2686:13
[INFO] [stdout]      |
[INFO] [stdout] 2686 |         let mut q = buf.lock().await;
[INFO] [stdout]      |             ----^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `executed_seqs`
[INFO] [stdout]     --> src/router.rs:2666:13
[INFO] [stdout]      |
[INFO] [stdout] 2666 |         let executed_seqs: Arc<StdMutex<Vec<u64>>> = Arc::new(StdMutex::new(Vec::new()));
[INFO] [stdout]      |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_executed_seqs`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/dedup.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let mut dedup = JobDeduplicator::with_default_ttl();
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bucket_ttl_secs` is never read
[INFO] [stdout]    --> src/admission.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct AdmissionConfig {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub bucket_ttl_secs: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AdmissionConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_idle_for` is never used
[INFO] [stdout]    --> src/admission.rs:223:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl TokenBucket {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 223 |     fn is_idle_for(&self, ttl: Duration) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `evict_idle_buckets` is never used
[INFO] [stdout]    --> src/admission.rs:352:18
[INFO] [stdout]     |
[INFO] [stdout] 256 | impl AdmissionGate {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 352 |     pub async fn evict_idle_buckets(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `kind` are never read
[INFO] [stdout]   --> src/affinity.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct AffinityGroup {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 75 |     /// Stable 64-bit group identifier (FNV-1a hash of kind + key).
[INFO] [stdout] 76 |     pub id: u64,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 77 |     /// The job kind this group is associated with.
[INFO] [stdout] 78 |     pub kind: JobKind,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AffinityGroup` 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 `cpu_utilization` is never read
[INFO] [stdout]     --> src/autoscaler.rs:1211:9
[INFO] [stdout]      |
[INFO] [stdout] 1203 | pub struct ScalingMetrics {
[INFO] [stdout]      |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1211 |     pub cpu_utilization: f64,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `ScalingMetrics` 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: associated function `with_signal` is never used
[INFO] [stdout]     --> src/autoscaler.rs:1340:12
[INFO] [stdout]      |
[INFO] [stdout] 1329 | impl DynamicAutoscaler {
[INFO] [stdout]      | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1340 |     pub fn with_signal(signal: ScalingSignal) -> Self {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChaosSnapshot` is never constructed
[INFO] [stdout]    --> src/chaos.rs:271:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub struct ChaosSnapshot {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `router` and `inner` are never read
[INFO] [stdout]    --> src/chaos.rs:303:5
[INFO] [stdout]     |
[INFO] [stdout] 302 | pub struct ChaosLayer {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 303 |     router: Router,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 304 |     inner: Arc<Mutex<ChaosState>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChaosLayer` 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 `submit`, `is_enabled`, `set_enabled`, `update_config`, and `snapshot` are never used
[INFO] [stdout]    --> src/chaos.rs:347:18
[INFO] [stdout]     |
[INFO] [stdout] 317 | impl ChaosLayer {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 347 |     pub async fn submit(&self, job: Job) -> Option<Vec<Output>> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     pub fn is_enabled(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub fn set_enabled(&self, enabled: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 408 |     pub fn update_config(&self, cfg: ChaosConfig) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 419 |     pub fn snapshot(&self) -> ChaosSnapshot {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `tick_hour` is never used
[INFO] [stdout]    --> src/cost_router.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | impl CostBudget {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn tick_hour(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `alpha` is never read
[INFO] [stdout]    --> src/cost_router.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 179 | pub struct CostRouterConfig {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 185 |     pub alpha: f64,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CostRouterConfig` 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 `CostEstimate` is never constructed
[INFO] [stdout]    --> src/cost_router.rs:207:12
[INFO] [stdout]     |
[INFO] [stdout] 207 | pub struct CostEstimate {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `estimate`, `tick_minute`, `tick_hour`, and `run_budget_decay` are never used
[INFO] [stdout]    --> src/cost_router.rs:444:18
[INFO] [stdout]     |
[INFO] [stdout] 350 | impl CostRouter {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 444 |     pub async fn estimate(&self, job: &Job) -> CostEstimate {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 468 |     pub async fn tick_minute(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 476 |     pub async fn tick_hour(&self) {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 501 |     pub async fn run_budget_decay(&self, mut shutdown: tokio::sync::oneshot::Receiver<()>) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `output` is never read
[INFO] [stdout]   --> src/dag.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct DagNode {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub output: Option<Vec<Output>>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DagNode` 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: variant `JobDropped` is never constructed
[INFO] [stdout]    --> src/dag.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub enum DagError {
[INFO] [stdout]     |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 118 |     JobDropped(NodeId),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DagError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `all_outputs` and `nodes_dropped` are never read
[INFO] [stdout]    --> src/dag.rs:148:9
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct DagResult {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 147 |     /// Outputs keyed by [`NodeId`] for every node that completed successfully.
[INFO] [stdout] 148 |     pub all_outputs: HashMap<NodeId, Vec<Output>>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub nodes_dropped: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DagResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_graph_payload` is never used
[INFO] [stdout]    --> src/dag.rs:572:12
[INFO] [stdout]     |
[INFO] [stdout] 544 | impl JobDag {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 572 |     pub fn to_graph_payload(&self) -> DagGraphPayload {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `run` is never used
[INFO] [stdout]    --> src/deadline.rs:414:18
[INFO] [stdout]     |
[INFO] [stdout] 203 | impl DeadlineScheduler {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub async fn run(
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pressure_score` is never read
[INFO] [stdout]    --> src/predictive_autoscaler.rs:273:9
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub struct LoadSample {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 273 |     pub pressure_score: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LoadSample` 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 `update_config` is never used
[INFO] [stdout]    --> src/predictor.rs:336:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | impl LoadPredictor {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn update_config(&self, cfg: PredictorConfig) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Low` and `High` are never constructed
[INFO] [stdout]   --> src/priority_balancer.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum Priority {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 49 |     Low      = 0,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 50 |     Normal   = 1,
[INFO] [stdout] 51 |     High     = 2,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Priority` 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: methods `healthy_count`, `all_workers`, and `get_worker` are never used
[INFO] [stdout]    --> src/priority_balancer.rs:226:12
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl PriorityLoadBalancer {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn healthy_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn all_workers(&self) -> Vec<WorkerStats> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn get_worker(&self, worker_id: &str) -> Option<&WorkerStats> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reserved_fraction` and `available_fraction` are never used
[INFO] [stdout]    --> src/reservation.rs:357:12
[INFO] [stdout]     |
[INFO] [stdout] 319 | impl ReservationManager {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 357 |     pub fn reserved_fraction(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     pub fn available_fraction(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `observe_latency_for_timeout` is never used
[INFO] [stdout]    --> src/router.rs:739:18
[INFO] [stdout]     |
[INFO] [stdout] 371 | impl Router {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 739 |     pub async fn observe_latency_for_timeout(
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `seq` is never read
[INFO] [stdout]   --> src/streaming.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     Partial {
[INFO] [stdout]    |     ------- field in this variant
[INFO] [stdout] 93 |         /// Zero-based sequence number of this chunk within the stream.
[INFO] [stdout] 94 |         seq: u64,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StreamChunk` 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: variant `JobDropped` is never constructed
[INFO] [stdout]    --> src/streaming.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub enum StreamError {
[INFO] [stdout]     |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 116 |     JobDropped(u64),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StreamError` 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 `serve_with_all` is never used
[INFO] [stdout]   --> src/web.rs:86:14
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub async fn serve_with_all(
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `strategy`, `pulls`, `mean_reward`, and `total_reward` are never read
[INFO] [stdout]    --> src/bandit.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct ArmStats {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 107 |     /// The strategy for this arm.
[INFO] [stdout] 108 |     pub strategy: RoutingStrategy,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 109 |     /// Number of times this arm has been pulled.
[INFO] [stdout] 110 |     pub pulls: u64,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 111 |     /// Mean reward (0.0 if never pulled).
[INFO] [stdout] 112 |     pub mean_reward: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 113 |     /// Sum of all rewards.
[INFO] [stdout] 114 |     pub total_reward: f64,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArmStats` 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: methods `config` and `total_pulls` are never used
[INFO] [stdout]    --> src/bandit.rs:326:12
[INFO] [stdout]     |
[INFO] [stdout] 206 | impl BanditRouter {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub fn config(&self) -> &BanditConfig {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn total_pulls(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `started_at_ms` is never read
[INFO] [stdout]   --> src/tracing_span.rs:79:9
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct CompletedSpan {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub started_at_ms: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompletedSpan` 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: methods `trace_id`, `span_id`, and `operation` are never used
[INFO] [stdout]    --> src/tracing_span.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 208 | impl SpanGuard {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] 209 |     /// Return the `trace_id` of the underlying span.
[INFO] [stdout] 210 |     pub fn trace_id(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub fn span_id(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn operation(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/dedup.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |     New(Job),
[INFO] [stdout]    |     --- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 99 -     New(Job),
[INFO] [stdout] 99 +     New(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `age` is never read
[INFO] [stdout]   --> src/result_cache.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct CachedResult {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub age: Duration,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CachedResult` 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: associated items `default_config` and `config` are never used
[INFO] [stdout]    --> src/result_cache.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl ResultCache {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn default_config() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |     pub fn config(&self) -> &CacheConfig {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `succeeded` is never read
[INFO] [stdout]   --> src/timeout_mgr.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct LatencyObservation {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub succeeded: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LatencyObservation` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `clap`
[INFO] [stderr]   --> Cargo.toml:18:15
[INFO] [stderr]    |
[INFO] [stderr] 18 | [dependencies.clap]
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `clap`
[INFO] [stderr] warning: `helixrouter` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "inspect" "9af9d7e617188d5400a27cc86be371950901632c1f215077271285039bd8d4c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9af9d7e617188d5400a27cc86be371950901632c1f215077271285039bd8d4c5", kill_on_drop: false }`
[INFO] [stdout] 9af9d7e617188d5400a27cc86be371950901632c1f215077271285039bd8d4c5
