[INFO] fetching crate helixrouter 1.3.0...
[INFO] testing helixrouter-1.3.0 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate helixrouter 1.3.0 into /workspace/builds/worker-0-tc1/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-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate helixrouter 1.3.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "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.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.110
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.110
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.110
[INFO] [stderr]   Downloaded axum-core v0.4.5
[INFO] [stderr]   Downloaded tempfile v3.25.0
[INFO] [stderr]   Downloaded tryhard v0.5.2
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.110
[INFO] [stderr]   Downloaded axum-macros v0.4.2
[INFO] [stderr]   Downloaded serde_nanos v0.1.4
[INFO] [stderr]   Downloaded nuid v0.5.0
[INFO] [stderr]   Downloaded clap v4.5.60
[INFO] [stderr]   Downloaded rustls-native-certs v0.7.3
[INFO] [stderr]   Downloaded js-sys v0.3.87
[INFO] [stderr]   Downloaded nkeys v0.4.5
[INFO] [stderr]   Downloaded proptest v1.10.0
[INFO] [stderr]   Downloaded rustls-webpki v0.103.10
[INFO] [stderr]   Downloaded axum v0.7.9
[INFO] [stderr]   Downloaded clap_builder v4.5.60
[INFO] [stderr]   Downloaded signatory v0.27.1
[INFO] [stderr]   Downloaded async-nats v0.37.0
[INFO] [stderr]   Downloaded web-sys v0.3.87
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/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] 30d162a05a25f7b76205d7cce968c8d1797c1be7e7cfae86afccb2ef88811b55
[INFO] running `Command { std: "docker" "start" "30d162a05a25f7b76205d7cce968c8d1797c1be7e7cfae86afccb2ef88811b55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "30d162a05a25f7b76205d7cce968c8d1797c1be7e7cfae86afccb2ef88811b55", 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" "30d162a05a25f7b76205d7cce968c8d1797c1be7e7cfae86afccb2ef88811b55" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "30d162a05a25f7b76205d7cce968c8d1797c1be7e7cfae86afccb2ef88811b55", 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" "30d162a05a25f7b76205d7cce968c8d1797c1be7e7cfae86afccb2ef88811b55" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling version_check v0.9.5
[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 zerocopy v0.8.39
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling zmij v1.0.21
[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 anstyle-parse v0.2.7
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[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 memchr v2.8.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling tracing-log v0.2.0
[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 tokio v1.49.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling axum-macros v0.4.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling sha2 v0.10.9
[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 tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[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]     Finished `release` profile [optimized] target(s) in 2m 36s
[INFO] running `Command { std: "docker" "inspect" "30d162a05a25f7b76205d7cce968c8d1797c1be7e7cfae86afccb2ef88811b55", 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" "30d162a05a25f7b76205d7cce968c8d1797c1be7e7cfae86afccb2ef88811b55" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling once_cell v1.21.3
[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 serde_core v1.0.228
[INFO] [stderr]    Compiling lock_api v0.4.14
[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 regex-syntax v0.8.9
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[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 parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling rand_core v0.9.5
[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 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 pin-utils v0.1.0
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[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 ciborium-io v0.2.2
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[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 hyper-util v0.1.20
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling walkdir v2.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 ciborium v0.2.2
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[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] [stdout] warning: unused import: `ConfigError`
[INFO] [stdout]   --> tests/coverage_gaps.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |     config::{ConfigError, RouterConfig, RouterConfigPatch},
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `helixrouter::router::NeuralSnapshot`
[INFO] [stdout]    --> tests/coverage_gaps.rs:714:5
[INFO] [stdout]     |
[INFO] [stdout] 714 | use helixrouter::router::NeuralSnapshot;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expensive_job` is never used
[INFO] [stdout]   --> tests/production_readiness_tests.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn expensive_job() -> Job {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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] [stderr] error: could not compile `helixrouter` (test "types_tests")
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/1.99.0-beta.8-x86_64-unknown-linux-gnu/bin/rustc --crate-name types_tests --edition=2021 tests/types_tests.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --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=65b86ea7c1f5d5ba -C extra-filename=-5dc4307cf1068f9b --out-dir /opt/rustwide/target/release/deps -C strip=symbols -L dependency=/opt/rustwide/target/release/deps --extern axum=/opt/rustwide/target/release/deps/libaxum-94812d5451744447.rlib --extern clap=/opt/rustwide/target/release/deps/libclap-e26a0825019e8ee9.rlib --extern criterion=/opt/rustwide/target/release/deps/libcriterion-b372b27e2ea8226a.rlib --extern dashmap=/opt/rustwide/target/release/deps/libdashmap-3f338dc0823ebe8a.rlib --extern futures_core=/opt/rustwide/target/release/deps/libfutures_core-b842243cfa5b09cb.rlib --extern helixrouter=/opt/rustwide/target/release/deps/libhelixrouter-e63f5a71d4b31400.rlib --extern hmac=/opt/rustwide/target/release/deps/libhmac-ee41a7666a0e4d79.rlib --extern proptest=/opt/rustwide/target/release/deps/libproptest-cadf945f02c3de16.rlib --extern rand=/opt/rustwide/target/release/deps/librand-b3b48c61d9420191.rlib --extern serde=/opt/rustwide/target/release/deps/libserde-929b58afe624d41d.rlib --extern serde_json=/opt/rustwide/target/release/deps/libserde_json-528352d2f7f24c30.rlib --extern sha2=/opt/rustwide/target/release/deps/libsha2-df7a6a46d40545d9.rlib --extern tempfile=/opt/rustwide/target/release/deps/libtempfile-237bff6e365091f6.rlib --extern tokio=/opt/rustwide/target/release/deps/libtokio-898ed747a99e6f57.rlib --extern tokio_stream=/opt/rustwide/target/release/deps/libtokio_stream-1216dbe8f695a6bf.rlib --extern tracing=/opt/rustwide/target/release/deps/libtracing-6da3d3126ea46c82.rlib --extern tracing_subscriber=/opt/rustwide/target/release/deps/libtracing_subscriber-e596f297894855a4.rlib --cap-lints=warn` (signal: 9, SIGKILL: kill)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `helixrouter` (test "metrics_tests")
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/1.99.0-beta.8-x86_64-unknown-linux-gnu/bin/rustc --crate-name metrics_tests --edition=2021 tests/metrics_tests.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --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=8c78785a12cb4a3a -C extra-filename=-c392477f341bf59b --out-dir /opt/rustwide/target/release/deps -C strip=symbols -L dependency=/opt/rustwide/target/release/deps --extern axum=/opt/rustwide/target/release/deps/libaxum-94812d5451744447.rlib --extern clap=/opt/rustwide/target/release/deps/libclap-e26a0825019e8ee9.rlib --extern criterion=/opt/rustwide/target/release/deps/libcriterion-b372b27e2ea8226a.rlib --extern dashmap=/opt/rustwide/target/release/deps/libdashmap-3f338dc0823ebe8a.rlib --extern futures_core=/opt/rustwide/target/release/deps/libfutures_core-b842243cfa5b09cb.rlib --extern helixrouter=/opt/rustwide/target/release/deps/libhelixrouter-e63f5a71d4b31400.rlib --extern hmac=/opt/rustwide/target/release/deps/libhmac-ee41a7666a0e4d79.rlib --extern proptest=/opt/rustwide/target/release/deps/libproptest-cadf945f02c3de16.rlib --extern rand=/opt/rustwide/target/release/deps/librand-b3b48c61d9420191.rlib --extern serde=/opt/rustwide/target/release/deps/libserde-929b58afe624d41d.rlib --extern serde_json=/opt/rustwide/target/release/deps/libserde_json-528352d2f7f24c30.rlib --extern sha2=/opt/rustwide/target/release/deps/libsha2-df7a6a46d40545d9.rlib --extern tempfile=/opt/rustwide/target/release/deps/libtempfile-237bff6e365091f6.rlib --extern tokio=/opt/rustwide/target/release/deps/libtokio-898ed747a99e6f57.rlib --extern tokio_stream=/opt/rustwide/target/release/deps/libtokio_stream-1216dbe8f695a6bf.rlib --extern tracing=/opt/rustwide/target/release/deps/libtracing-6da3d3126ea46c82.rlib --extern tracing_subscriber=/opt/rustwide/target/release/deps/libtracing_subscriber-e596f297894855a4.rlib --cap-lints=warn` (signal: 9, SIGKILL: kill)
[INFO] [stderr] error: could not compile `helixrouter` (bin "helixrouter" test); 2 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/1.99.0-beta.8-x86_64-unknown-linux-gnu/bin/rustc --crate-name helixrouter --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --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=b980bdeb9f50d047 -C extra-filename=-1aadcc98d6ff3deb --out-dir /opt/rustwide/target/release/deps -C strip=symbols -L dependency=/opt/rustwide/target/release/deps --extern axum=/opt/rustwide/target/release/deps/libaxum-94812d5451744447.rlib --extern clap=/opt/rustwide/target/release/deps/libclap-e26a0825019e8ee9.rlib --extern criterion=/opt/rustwide/target/release/deps/libcriterion-b372b27e2ea8226a.rlib --extern dashmap=/opt/rustwide/target/release/deps/libdashmap-3f338dc0823ebe8a.rlib --extern futures_core=/opt/rustwide/target/release/deps/libfutures_core-b842243cfa5b09cb.rlib --extern helixrouter=/opt/rustwide/target/release/deps/libhelixrouter-e63f5a71d4b31400.rlib --extern hmac=/opt/rustwide/target/release/deps/libhmac-ee41a7666a0e4d79.rlib --extern proptest=/opt/rustwide/target/release/deps/libproptest-cadf945f02c3de16.rlib --extern rand=/opt/rustwide/target/release/deps/librand-b3b48c61d9420191.rlib --extern serde=/opt/rustwide/target/release/deps/libserde-929b58afe624d41d.rlib --extern serde_json=/opt/rustwide/target/release/deps/libserde_json-528352d2f7f24c30.rlib --extern sha2=/opt/rustwide/target/release/deps/libsha2-df7a6a46d40545d9.rlib --extern tempfile=/opt/rustwide/target/release/deps/libtempfile-237bff6e365091f6.rlib --extern tokio=/opt/rustwide/target/release/deps/libtokio-898ed747a99e6f57.rlib --extern tokio_stream=/opt/rustwide/target/release/deps/libtokio_stream-1216dbe8f695a6bf.rlib --extern tracing=/opt/rustwide/target/release/deps/libtracing-6da3d3126ea46c82.rlib --extern tracing_subscriber=/opt/rustwide/target/release/deps/libtracing_subscriber-e596f297894855a4.rlib --cap-lints=warn` (signal: 9, SIGKILL: kill)
[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.99.0-beta.8-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 --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/deps -C strip=symbols -L dependency=/opt/rustwide/target/release/deps --extern axum=/opt/rustwide/target/release/deps/libaxum-94812d5451744447.rlib --extern clap=/opt/rustwide/target/release/deps/libclap-e26a0825019e8ee9.rlib --extern criterion=/opt/rustwide/target/release/deps/libcriterion-b372b27e2ea8226a.rlib --extern dashmap=/opt/rustwide/target/release/deps/libdashmap-3f338dc0823ebe8a.rlib --extern futures_core=/opt/rustwide/target/release/deps/libfutures_core-b842243cfa5b09cb.rlib --extern hmac=/opt/rustwide/target/release/deps/libhmac-ee41a7666a0e4d79.rlib --extern proptest=/opt/rustwide/target/release/deps/libproptest-cadf945f02c3de16.rlib --extern rand=/opt/rustwide/target/release/deps/librand-b3b48c61d9420191.rlib --extern serde=/opt/rustwide/target/release/deps/libserde-929b58afe624d41d.rlib --extern serde_json=/opt/rustwide/target/release/deps/libserde_json-528352d2f7f24c30.rlib --extern sha2=/opt/rustwide/target/release/deps/libsha2-df7a6a46d40545d9.rlib --extern tempfile=/opt/rustwide/target/release/deps/libtempfile-237bff6e365091f6.rlib --extern tokio=/opt/rustwide/target/release/deps/libtokio-898ed747a99e6f57.rlib --extern tokio_stream=/opt/rustwide/target/release/deps/libtokio_stream-1216dbe8f695a6bf.rlib --extern tracing=/opt/rustwide/target/release/deps/libtracing-6da3d3126ea46c82.rlib --extern tracing_subscriber=/opt/rustwide/target/release/deps/libtracing_subscriber-e596f297894855a4.rlib --cap-lints=warn` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "30d162a05a25f7b76205d7cce968c8d1797c1be7e7cfae86afccb2ef88811b55", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30d162a05a25f7b76205d7cce968c8d1797c1be7e7cfae86afccb2ef88811b55", kill_on_drop: false }`
[INFO] [stdout] 30d162a05a25f7b76205d7cce968c8d1797c1be7e7cfae86afccb2ef88811b55
