[INFO] fetching crate ringletd 0.1.0...
[INFO] testing ringletd-0.1.0 against 1.95.0 for beta-1.96-2
[INFO] extracting crate ringletd 0.1.0 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate ringletd 0.1.0
[INFO] finished tweaking crates.io crate ringletd 0.1.0
[INFO] tweaked toml for crates.io crate ringletd 0.1.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ringletd 0.1.0 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ringletd 0.1.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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rust-embed-utils v8.11.0
[INFO] [stderr]   Downloaded rust-embed-impl v8.11.0
[INFO] [stderr]   Downloaded zmij v1.0.12
[INFO] [stderr]   Downloaded adler32 v1.2.0
[INFO] [stderr]   Downloaded clap_lex v0.7.6
[INFO] [stderr]   Downloaded shell-words v1.1.1
[INFO] [stderr]   Downloaded http-range-header v0.4.2
[INFO] [stderr]   Downloaded ureq v2.12.1
[INFO] [stderr]   Downloaded tokio-tungstenite v0.28.0
[INFO] [stderr]   Downloaded portable-pty v0.9.0
[INFO] [stderr]   Downloaded smartstring v1.0.1
[INFO] [stderr]   Downloaded anstream v0.6.21
[INFO] [stderr]   Downloaded tungstenite v0.28.0
[INFO] [stderr]   Downloaded libflate v2.2.1
[INFO] [stderr]   Downloaded include-flate-compress v0.3.1
[INFO] [stderr]   Downloaded rle-decode-fast v1.0.3
[INFO] [stderr]   Downloaded inotify v0.10.2
[INFO] [stderr]   Downloaded rhai_codegen v3.1.0
[INFO] [stderr]   Downloaded webpki-roots v1.0.5
[INFO] [stderr]   Downloaded include-flate-codegen v0.3.1
[INFO] [stderr]   Downloaded nng v1.0.1
[INFO] [stderr]   Downloaded rhai v1.23.6
[INFO] [stderr]   Downloaded notify v7.0.0
[INFO] [stderr]   Downloaded nix v0.28.0
[INFO] [stderr]   Downloaded serial2 v0.2.33
[INFO] [stderr]   Downloaded thin-vec v0.2.14
[INFO] [stderr]   Downloaded dary_heap v0.3.8
[INFO] [stderr]   Downloaded libflate_lz77 v2.2.0
[INFO] [stderr]   Downloaded libmimalloc-sys v0.1.44
[INFO] [stderr]   Downloaded include-flate v0.3.1
[INFO] [stderr]   Downloaded rustls-pki-types v1.13.2
[INFO] [stderr]   Downloaded anstyle v1.0.13
[INFO] [stderr]   Downloaded mimalloc v0.1.48
[INFO] [stderr]   Downloaded cmake v0.1.57
[INFO] [stderr]   Downloaded notify-types v1.0.1
[INFO] [stderr]   Downloaded cfg_aliases v0.1.1
[INFO] [stderr]   Downloaded nng-sys v1.4.0-rc.0
[INFO] [stderr]   Downloaded directories v5.0.1
[INFO] [stderr]   Downloaded ringlet-scripting v0.1.0
[INFO] [stderr]   Downloaded rust-embed v8.11.0
[INFO] [stderr]   Downloaded ringlet-core v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b340d6b1bc2f7ca991e0fc31fe79265df3eddd9d61b8319cad9750abebbbfaa6
[INFO] running `Command { std: "docker" "start" "-a" "b340d6b1bc2f7ca991e0fc31fe79265df3eddd9d61b8319cad9750abebbbfaa6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b340d6b1bc2f7ca991e0fc31fe79265df3eddd9d61b8319cad9750abebbbfaa6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b340d6b1bc2f7ca991e0fc31fe79265df3eddd9d61b8319cad9750abebbbfaa6", kill_on_drop: false }`
[INFO] [stdout] b340d6b1bc2f7ca991e0fc31fe79265df3eddd9d61b8319cad9750abebbbfaa6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1ba7e6a4a02f536c7ca6656cecfbc674d4db1ea8eda4cd2e65e0de1254877622
[INFO] running `Command { std: "docker" "start" "-a" "1ba7e6a4a02f536c7ca6656cecfbc674d4db1ea8eda4cd2e65e0de1254877622", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling portable-atomic v1.13.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling rle-decode-fast v1.0.3
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling zmij v1.0.12
[INFO] [stderr]    Compiling adler32 v1.2.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling dary_heap v0.3.8
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling core2 v0.4.0
[INFO] [stderr]    Compiling rustls-pki-types v1.13.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling libflate_lz77 v2.2.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling libflate v2.2.1
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling smartstring v1.0.1
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rust-embed-utils v8.11.0
[INFO] [stderr]    Compiling directories v5.0.1
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling webpki-roots v1.0.5
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling ryu v1.0.22
[INFO] [stderr]    Compiling thin-vec v0.2.14
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling inotify v0.10.2
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling notify-types v1.0.1
[INFO] [stderr]    Compiling flate2 v1.1.5
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling serial2 v0.2.33
[INFO] [stderr]    Compiling filetime v0.2.26
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling http-range-header v0.4.2
[INFO] [stderr]    Compiling notify v7.0.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.44
[INFO] [stderr]    Compiling nng-sys v1.4.0-rc.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling mimalloc v0.1.48
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling rhai_codegen v3.1.0
[INFO] [stderr]    Compiling rustls-webpki v0.103.8
[INFO] [stderr]    Compiling rust-embed-impl v8.11.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling rhai v1.23.6
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tungstenite v0.28.0
[INFO] [stderr]    Compiling filedescriptor v0.8.3
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling portable-pty v0.9.0
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling include-flate-compress v0.3.1
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling include-flate-codegen v0.3.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling include-flate v0.3.1
[INFO] [stderr]    Compiling rust-embed v8.11.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling ringlet-core v0.1.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling ureq v2.12.1
[INFO] [stderr]    Compiling nng v1.0.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.28.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling ringlet-scripting v0.1.0
[INFO] [stderr]    Compiling ringletd v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/agent_registry.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[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: `error`
[INFO] [stdout]   --> src/execution.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{debug, error, info};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::registry_client::RegistryClient`
[INFO] [stdout]  --> src/handlers/registry.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::registry_client::RegistryClient;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stdout]    --> src/profile_manager.rs:244:11
[INFO] [stdout]     |
[INFO] [stdout] 244 |     #[cfg(feature = "keyring")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stdout]    --> src/profile_manager.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 |     #[cfg(not(feature = "keyring"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stdout]    --> src/profile_manager.rs:271:11
[INFO] [stdout]     |
[INFO] [stdout] 271 |     #[cfg(feature = "keyring")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stdout]    --> src/profile_manager.rs:277:15
[INFO] [stdout]     |
[INFO] [stdout] 277 |     #[cfg(not(feature = "keyring"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stdout]    --> src/profile_manager.rs:289:11
[INFO] [stdout]     |
[INFO] [stdout] 289 |     #[cfg(feature = "keyring")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stdout]    --> src/profile_manager.rs:296:15
[INFO] [stdout]     |
[INFO] [stdout] 296 |     #[cfg(not(feature = "keyring"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PricingLoader`
[INFO] [stdout]    --> src/registry_client.rs:291:30
[INFO] [stdout]     |
[INFO] [stdout] 291 |         use crate::pricing::{PricingLoader, LITELLM_PRICING_URL};
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/telemetry.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tracing::{debug, warn};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/terminal/manager.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anyhow::{anyhow, Context, Result};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TerminalInput`, `TerminalOutput`, and `TerminalSession`
[INFO] [stdout]   --> src/terminal/mod.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use session::{SessionId, SessionState, TerminalInput, TerminalOutput, TerminalSession, TerminalSessionInfo};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/handlers/profiles.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let mut agent_registry = state.agent_registry.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: `state`
[INFO] [stdout]   --> src/handlers/aliases.rs:74:37
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub async fn uninstall(alias: &str, state: &ServerState) -> Response {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/proxy_manager.rs:363:13
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let url = format!("http://127.0.0.1:{}/health", port);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model_usage`
[INFO] [stdout]    --> src/handlers/usage.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     for model_usage in aggregates.by_model.values() {
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_model_usage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total_sessions` is assigned to, but never used
[INFO] [stdout]    --> src/handlers/usage.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 |     let mut total_sessions = 0u64;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_total_sessions` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total_runtime` is assigned to, but never used
[INFO] [stdout]    --> src/handlers/usage.rs:321:9
[INFO] [stdout]     |
[INFO] [stdout] 321 |     let mut total_runtime = 0u64;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_total_runtime` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `total_sessions` is never read
[INFO] [stdout]    --> src/handlers/usage.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         total_sessions += profile_usage.sessions;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `total_runtime` is never read
[INFO] [stdout]    --> src/handlers/usage.rs:326:9
[INFO] [stdout]     |
[INFO] [stdout] 326 |         total_runtime += profile_usage.runtime_secs;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider_endpoint`
[INFO] [stdout]   --> src/profile_manager.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         provider_endpoint: &str,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider_endpoint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paths`
[INFO] [stdout]   --> src/server.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     paths: &RingletPaths,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_paths`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config_dir`
[INFO] [stdout]   --> src/watcher.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let config_dir = self.paths.config_dir.clone();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_config_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ids` is never used
[INFO] [stdout]   --> src/agent_registry.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl AgentRegistry {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn ids(&self) -> impl Iterator<Item = &str> {
[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 `reasoning_tokens` is never read
[INFO] [stdout]    --> src/agent_usage/codex.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 198 | struct CodexUsage {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 213 |     reasoning_tokens: Option<u64>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CodexUsage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `provider` and `completed_at` are never read
[INFO] [stdout]    --> src/agent_usage/opencode.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | struct OpenCodeEntry {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 117 |     provider: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     completed_at: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OpenCodeEntry` 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 `receiver_count` is never used
[INFO] [stdout]   --> src/events/broadcaster.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl EventBroadcaster {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn receiver_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pid` is never read
[INFO] [stdout]   --> src/execution.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct RunResult {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 24 |     /// Process ID of the spawned agent.
[INFO] [stdout] 25 |     pub pid: u32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_by_profile` is never used
[INFO] [stdout]    --> src/handlers/usage.rs:290:4
[INFO] [stdout]     |
[INFO] [stdout] 290 | fn filter_by_profile(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `not_found` is never used
[INFO] [stdout]    --> src/http/error.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout]  96 | impl HttpError {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn not_found(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `response_to_http` is never used
[INFO] [stdout]    --> src/http/error.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn response_to_http<T: Serialize>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RemoveHookPath` is never constructed
[INFO] [stdout]   --> src/http/routes/hooks.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct RemoveHookPath {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PricingLoader` is never constructed
[INFO] [stdout]   --> src/pricing.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct PricingLoader {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/pricing.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl PricingLoader {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  55 |     /// Create a new pricing loader.
[INFO] [stdout]  56 |     pub fn new(paths: RingletPaths) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn sync(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     fn load_from_cache(&self) -> Result<HashMap<String, LiteLLMModelPricing>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn ensure_loaded(&self) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn get_model_pricing(&self, model: &str) -> Option<LiteLLMModelPricing> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn calculate_cost(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn has_cache(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn model_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ids` is never used
[INFO] [stdout]   --> src/provider_registry.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl ProviderRegistry {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn ids(&self) -> impl Iterator<Item = &str> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROXY_API_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/proxy_manager.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const PROXY_API_TIMEOUT_SECS: u64 = 5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProxyUsageStats` is never constructed
[INFO] [stdout]   --> src/proxy_manager.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct ProxyUsageStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProxyModelStats` is never constructed
[INFO] [stdout]   --> src/proxy_manager.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct ProxyModelStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paths` is never read
[INFO] [stdout]   --> src/proxy_manager.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct ProxyManager {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     paths: RingletPaths,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config_path` is never read
[INFO] [stdout]   --> src/proxy_manager.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct ProxyInstance {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub config_path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `binary_path`, `status_for`, `proxy_url`, `get_proxy_usage`, and `get_all_proxy_usage` are never used
[INFO] [stdout]    --> src/proxy_manager.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl ProxyManager {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn binary_path(&self) -> Option<&PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub async fn status_for(&self, alias: &str) -> Option<ProxyInstanceInfo> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub async fn proxy_url(&self, alias: &str) -> Option<String> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 467 |     pub async fn get_proxy_usage(&self, alias: &str) -> Result<ProxyUsageStats> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 516 |     pub async fn get_all_proxy_usage(&self) -> HashMap<String, ProxyUsageStats> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UltrallmSpendAnalytics` is never constructed
[INFO] [stdout]    --> src/proxy_manager.rs:546:8
[INFO] [stdout]     |
[INFO] [stdout] 546 | struct UltrallmSpendAnalytics {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UltrallmModelSpend` is never constructed
[INFO] [stdout]    --> src/proxy_manager.rs:562:8
[INFO] [stdout]     |
[INFO] [stdout] 562 | struct UltrallmModelSpend {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_recent_sessions` is never used
[INFO] [stdout]    --> src/telemetry.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl TelemetryCollector {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn load_recent_sessions(&self, limit: usize) -> Result<Vec<Session>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_session_for_profile` and `active_session_count` are never used
[INFO] [stdout]    --> src/terminal/manager.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl TerminalSessionManager {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub async fn get_session_for_profile(&self, alias: &str) -> Option<Arc<TerminalSession>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub async fn active_session_count(&self) -> usize {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Resized` is never constructed
[INFO] [stdout]   --> src/terminal/session.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub enum TerminalOutput {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 86 |     Resized { cols: u16, rows: u16 },
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TerminalOutput` 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 `working_dir` is never read
[INFO] [stdout]   --> src/terminal/session.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct TerminalSession {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub working_dir: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `state`, `pid`, and `size` are never used
[INFO] [stdout]    --> src/terminal/session.rs:160:18
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl TerminalSession {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub async fn state(&self) -> SessionState {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub async fn pid(&self) -> Option<u32> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub async fn size(&self) -> PtySize {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChangeEvent` is never used
[INFO] [stdout]   --> src/watcher.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum ChangeEvent {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileWatcher` is never constructed
[INFO] [stdout]   --> src/watcher.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct FileWatcher {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `start` are never used
[INFO] [stdout]   --> src/watcher.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl FileWatcher {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 38 |     /// Create a new file watcher.
[INFO] [stdout] 39 |     pub fn new(paths: RingletPaths) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn start(&self) -> Result<mpsc::Receiver<ChangeEvent>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `classify_change` is never used
[INFO] [stdout]    --> src/watcher.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn classify_change(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 58s
[INFO] running `Command { std: "docker" "inspect" "1ba7e6a4a02f536c7ca6656cecfbc674d4db1ea8eda4cd2e65e0de1254877622", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ba7e6a4a02f536c7ca6656cecfbc674d4db1ea8eda4cd2e65e0de1254877622", kill_on_drop: false }`
[INFO] [stdout] 1ba7e6a4a02f536c7ca6656cecfbc674d4db1ea8eda4cd2e65e0de1254877622
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dc63ecabf379bc3508a58efc3b7626cd9b570633d738bc7f216b4858dbad9586
[INFO] running `Command { std: "docker" "start" "-a" "dc63ecabf379bc3508a58efc3b7626cd9b570633d738bc7f216b4858dbad9586", kill_on_drop: false }`
[INFO] [stderr]    Compiling rhai v1.23.6
[INFO] [stderr]    Compiling nix v0.28.0
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling portable-pty v0.9.0
[INFO] [stderr]    Compiling ringlet-scripting v0.1.0
[INFO] [stderr]    Compiling ringletd v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/agent_registry.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use anyhow::{Context, Result};
[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: `error`
[INFO] [stdout]   --> src/execution.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing::{debug, error, info};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::registry_client::RegistryClient`
[INFO] [stdout]  --> src/handlers/registry.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::registry_client::RegistryClient;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stdout]    --> src/profile_manager.rs:244:11
[INFO] [stdout]     |
[INFO] [stdout] 244 |     #[cfg(feature = "keyring")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stdout]    --> src/profile_manager.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 |     #[cfg(not(feature = "keyring"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stdout]    --> src/profile_manager.rs:271:11
[INFO] [stdout]     |
[INFO] [stdout] 271 |     #[cfg(feature = "keyring")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stdout]    --> src/profile_manager.rs:277:15
[INFO] [stdout]     |
[INFO] [stdout] 277 |     #[cfg(not(feature = "keyring"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stdout]    --> src/profile_manager.rs:289:11
[INFO] [stdout]     |
[INFO] [stdout] 289 |     #[cfg(feature = "keyring")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stdout]    --> src/profile_manager.rs:296:15
[INFO] [stdout]     |
[INFO] [stdout] 296 |     #[cfg(not(feature = "keyring"))]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PricingLoader`
[INFO] [stdout]    --> src/registry_client.rs:291:30
[INFO] [stdout]     |
[INFO] [stdout] 291 |         use crate::pricing::{PricingLoader, LITELLM_PRICING_URL};
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/telemetry.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tracing::{debug, warn};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/terminal/manager.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use anyhow::{anyhow, Context, Result};
[INFO] [stdout]   |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TerminalInput`, `TerminalOutput`, and `TerminalSession`
[INFO] [stdout]   --> src/terminal/mod.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use session::{SessionId, SessionState, TerminalInput, TerminalOutput, TerminalSession, TerminalSessionInfo};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/handlers/profiles.rs:133:9
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let mut agent_registry = state.agent_registry.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: `state`
[INFO] [stdout]   --> src/handlers/aliases.rs:74:37
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub async fn uninstall(alias: &str, state: &ServerState) -> Response {
[INFO] [stdout]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `url`
[INFO] [stdout]    --> src/proxy_manager.rs:363:13
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let url = format!("http://127.0.0.1:{}/health", port);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model_usage`
[INFO] [stdout]    --> src/handlers/usage.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     for model_usage in aggregates.by_model.values() {
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_model_usage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total_sessions` is assigned to, but never used
[INFO] [stdout]    --> src/handlers/usage.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 |     let mut total_sessions = 0u64;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_total_sessions` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `total_runtime` is assigned to, but never used
[INFO] [stdout]    --> src/handlers/usage.rs:321:9
[INFO] [stdout]     |
[INFO] [stdout] 321 |     let mut total_runtime = 0u64;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_total_runtime` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `total_sessions` is never read
[INFO] [stdout]    --> src/handlers/usage.rs:325:9
[INFO] [stdout]     |
[INFO] [stdout] 325 |         total_sessions += profile_usage.sessions;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `total_runtime` is never read
[INFO] [stdout]    --> src/handlers/usage.rs:326:9
[INFO] [stdout]     |
[INFO] [stdout] 326 |         total_runtime += profile_usage.runtime_secs;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `provider_endpoint`
[INFO] [stdout]   --> src/profile_manager.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         provider_endpoint: &str,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider_endpoint`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `paths`
[INFO] [stdout]   --> src/server.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     paths: &RingletPaths,
[INFO] [stdout]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_paths`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config_dir`
[INFO] [stdout]   --> src/watcher.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let config_dir = self.paths.config_dir.clone();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_config_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ids` is never used
[INFO] [stdout]   --> src/agent_registry.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl AgentRegistry {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn ids(&self) -> impl Iterator<Item = &str> {
[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 `reasoning_tokens` is never read
[INFO] [stdout]    --> src/agent_usage/codex.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 198 | struct CodexUsage {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 213 |     reasoning_tokens: Option<u64>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CodexUsage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `provider` and `completed_at` are never read
[INFO] [stdout]    --> src/agent_usage/opencode.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | struct OpenCodeEntry {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 117 |     provider: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     completed_at: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OpenCodeEntry` 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 `receiver_count` is never used
[INFO] [stdout]   --> src/events/broadcaster.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl EventBroadcaster {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn receiver_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pid` is never read
[INFO] [stdout]   --> src/execution.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct RunResult {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 24 |     /// Process ID of the spawned agent.
[INFO] [stdout] 25 |     pub pid: u32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_by_profile` is never used
[INFO] [stdout]    --> src/handlers/usage.rs:290:4
[INFO] [stdout]     |
[INFO] [stdout] 290 | fn filter_by_profile(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `not_found` is never used
[INFO] [stdout]    --> src/http/error.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout]  96 | impl HttpError {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn not_found(message: impl Into<String>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `response_to_http` is never used
[INFO] [stdout]    --> src/http/error.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn response_to_http<T: Serialize>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RemoveHookPath` is never constructed
[INFO] [stdout]   --> src/http/routes/hooks.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct RemoveHookPath {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `sync` and `has_cache` are never used
[INFO] [stdout]    --> src/pricing.rs:64:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl PricingLoader {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn sync(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 181 |     pub fn has_cache(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ids` is never used
[INFO] [stdout]   --> src/provider_registry.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl ProviderRegistry {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn ids(&self) -> impl Iterator<Item = &str> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROXY_API_TIMEOUT_SECS` is never used
[INFO] [stdout]   --> src/proxy_manager.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const PROXY_API_TIMEOUT_SECS: u64 = 5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProxyUsageStats` is never constructed
[INFO] [stdout]   --> src/proxy_manager.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct ProxyUsageStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProxyModelStats` is never constructed
[INFO] [stdout]   --> src/proxy_manager.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct ProxyModelStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paths` is never read
[INFO] [stdout]   --> src/proxy_manager.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct ProxyManager {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 59 |     paths: RingletPaths,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config_path` is never read
[INFO] [stdout]   --> src/proxy_manager.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct ProxyInstance {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub config_path: PathBuf,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `binary_path`, `status_for`, `proxy_url`, `get_proxy_usage`, and `get_all_proxy_usage` are never used
[INFO] [stdout]    --> src/proxy_manager.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | impl ProxyManager {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn binary_path(&self) -> Option<&PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     pub async fn status_for(&self, alias: &str) -> Option<ProxyInstanceInfo> {
[INFO] [stdout]     |                  ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 350 |     pub async fn proxy_url(&self, alias: &str) -> Option<String> {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 467 |     pub async fn get_proxy_usage(&self, alias: &str) -> Result<ProxyUsageStats> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 516 |     pub async fn get_all_proxy_usage(&self) -> HashMap<String, ProxyUsageStats> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UltrallmSpendAnalytics` is never constructed
[INFO] [stdout]    --> src/proxy_manager.rs:546:8
[INFO] [stdout]     |
[INFO] [stdout] 546 | struct UltrallmSpendAnalytics {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UltrallmModelSpend` is never constructed
[INFO] [stdout]    --> src/proxy_manager.rs:562:8
[INFO] [stdout]     |
[INFO] [stdout] 562 | struct UltrallmModelSpend {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_recent_sessions` is never used
[INFO] [stdout]    --> src/telemetry.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 111 | impl TelemetryCollector {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn load_recent_sessions(&self, limit: usize) -> Result<Vec<Session>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_session_for_profile` and `active_session_count` are never used
[INFO] [stdout]    --> src/terminal/manager.rs:146:18
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl TerminalSessionManager {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub async fn get_session_for_profile(&self, alias: &str) -> Option<Arc<TerminalSession>> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub async fn active_session_count(&self) -> usize {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Resized` is never constructed
[INFO] [stdout]   --> src/terminal/session.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub enum TerminalOutput {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 86 |     Resized { cols: u16, rows: u16 },
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TerminalOutput` 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 `working_dir` is never read
[INFO] [stdout]   --> src/terminal/session.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct TerminalSession {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub working_dir: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `state`, `pid`, and `size` are never used
[INFO] [stdout]    --> src/terminal/session.rs:160:18
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl TerminalSession {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub async fn state(&self) -> SessionState {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub async fn pid(&self) -> Option<u32> {
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub async fn size(&self) -> PtySize {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChangeEvent` is never used
[INFO] [stdout]   --> src/watcher.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum ChangeEvent {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileWatcher` is never constructed
[INFO] [stdout]   --> src/watcher.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct FileWatcher {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `start` are never used
[INFO] [stdout]   --> src/watcher.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl FileWatcher {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 38 |     /// Create a new file watcher.
[INFO] [stdout] 39 |     pub fn new(paths: RingletPaths) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn start(&self) -> Result<mpsc::Receiver<ChangeEvent>> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `classify_change` is never used
[INFO] [stdout]    --> src/watcher.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn classify_change(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 36.55s
[INFO] running `Command { std: "docker" "inspect" "dc63ecabf379bc3508a58efc3b7626cd9b570633d738bc7f216b4858dbad9586", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dc63ecabf379bc3508a58efc3b7626cd9b570633d738bc7f216b4858dbad9586", kill_on_drop: false }`
[INFO] [stdout] dc63ecabf379bc3508a58efc3b7626cd9b570633d738bc7f216b4858dbad9586
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5867b8f66128db04706b1840fb596f700e2e7d18584438160eb5329cfc962b38
[INFO] running `Command { std: "docker" "start" "-a" "5867b8f66128db04706b1840fb596f700e2e7d18584438160eb5329cfc962b38", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]  --> src/agent_registry.rs:3:14
[INFO] [stderr]   |
[INFO] [stderr] 3 | use anyhow::{Context, Result};
[INFO] [stderr]   |              ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]   --> src/execution.rs:15:22
[INFO] [stderr]    |
[INFO] [stderr] 15 | use tracing::{debug, error, info};
[INFO] [stderr]    |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::registry_client::RegistryClient`
[INFO] [stderr]  --> src/handlers/registry.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::registry_client::RegistryClient;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stderr]    --> src/profile_manager.rs:244:11
[INFO] [stderr]     |
[INFO] [stderr] 244 |     #[cfg(feature = "keyring")]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stderr]    --> src/profile_manager.rs:251:15
[INFO] [stderr]     |
[INFO] [stderr] 251 |     #[cfg(not(feature = "keyring"))]
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stderr]    --> src/profile_manager.rs:271:11
[INFO] [stderr]     |
[INFO] [stderr] 271 |     #[cfg(feature = "keyring")]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stderr]    --> src/profile_manager.rs:277:15
[INFO] [stderr]     |
[INFO] [stderr] 277 |     #[cfg(not(feature = "keyring"))]
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stderr]    --> src/profile_manager.rs:289:11
[INFO] [stderr]     |
[INFO] [stderr] 289 |     #[cfg(feature = "keyring")]
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `keyring`
[INFO] [stderr]    --> src/profile_manager.rs:296:15
[INFO] [stderr]     |
[INFO] [stderr] 296 |     #[cfg(not(feature = "keyring"))]
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `keyring` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PricingLoader`
[INFO] [stderr]    --> src/registry_client.rs:291:30
[INFO] [stderr]     |
[INFO] [stderr] 291 |         use crate::pricing::{PricingLoader, LITELLM_PRICING_URL};
[INFO] [stderr]     |                              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]   --> src/telemetry.rs:16:22
[INFO] [stderr]    |
[INFO] [stderr] 16 | use tracing::{debug, warn};
[INFO] [stderr]    |                      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]  --> src/terminal/manager.rs:8:22
[INFO] [stderr]   |
[INFO] [stderr] 8 | use anyhow::{anyhow, Context, Result};
[INFO] [stderr]   |                      ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TerminalInput`, `TerminalOutput`, and `TerminalSession`
[INFO] [stderr]   --> src/terminal/mod.rs:12:44
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub use session::{SessionId, SessionState, TerminalInput, TerminalOutput, TerminalSession, TerminalSessionInfo};
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/handlers/profiles.rs:133:9
[INFO] [stderr]     |
[INFO] [stderr] 133 |     let mut agent_registry = state.agent_registry.lock().await;
[INFO] [stderr]     |         ----^^^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]   --> src/handlers/aliases.rs:74:37
[INFO] [stderr]    |
[INFO] [stderr] 74 | pub async fn uninstall(alias: &str, state: &ServerState) -> Response {
[INFO] [stderr]    |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `url`
[INFO] [stderr]    --> src/proxy_manager.rs:363:13
[INFO] [stderr]     |
[INFO] [stderr] 363 |         let url = format!("http://127.0.0.1:{}/health", port);
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_url`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `model_usage`
[INFO] [stderr]    --> src/handlers/usage.rs:161:9
[INFO] [stderr]     |
[INFO] [stderr] 161 |     for model_usage in aggregates.by_model.values() {
[INFO] [stderr]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_model_usage`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `total_sessions` is assigned to, but never used
[INFO] [stderr]    --> src/handlers/usage.rs:320:9
[INFO] [stderr]     |
[INFO] [stderr] 320 |     let mut total_sessions = 0u64;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_total_sessions` instead
[INFO] [stderr] 
[INFO] [stderr] warning: variable `total_runtime` is assigned to, but never used
[INFO] [stderr]    --> src/handlers/usage.rs:321:9
[INFO] [stderr]     |
[INFO] [stderr] 321 |     let mut total_runtime = 0u64;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_total_runtime` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `total_sessions` is never read
[INFO] [stderr]    --> src/handlers/usage.rs:325:9
[INFO] [stderr]     |
[INFO] [stderr] 325 |         total_sessions += profile_usage.sessions;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `total_runtime` is never read
[INFO] [stderr]    --> src/handlers/usage.rs:326:9
[INFO] [stderr]     |
[INFO] [stderr] 326 |         total_runtime += profile_usage.runtime_secs;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `provider_endpoint`
[INFO] [stderr]   --> src/profile_manager.rs:29:9
[INFO] [stderr]    |
[INFO] [stderr] 29 |         provider_endpoint: &str,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_provider_endpoint`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `paths`
[INFO] [stderr]   --> src/server.rs:95:5
[INFO] [stderr]    |
[INFO] [stderr] 95 |     paths: &RingletPaths,
[INFO] [stderr]    |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_paths`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `config_dir`
[INFO] [stderr]   --> src/watcher.rs:47:13
[INFO] [stderr]    |
[INFO] [stderr] 47 |         let config_dir = self.paths.config_dir.clone();
[INFO] [stderr]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_config_dir`
[INFO] [stderr] 
[INFO] [stderr] warning: method `ids` is never used
[INFO] [stderr]   --> src/agent_registry.rs:88:12
[INFO] [stderr]    |
[INFO] [stderr] 32 | impl AgentRegistry {
[INFO] [stderr]    | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 88 |     pub fn ids(&self) -> impl Iterator<Item = &str> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `reasoning_tokens` is never read
[INFO] [stderr]    --> src/agent_usage/codex.rs:213:5
[INFO] [stderr]     |
[INFO] [stderr] 198 | struct CodexUsage {
[INFO] [stderr]     |        ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 213 |     reasoning_tokens: Option<u64>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `CodexUsage` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `provider` and `completed_at` are never read
[INFO] [stderr]    --> src/agent_usage/opencode.rs:117:5
[INFO] [stderr]     |
[INFO] [stderr] 109 | struct OpenCodeEntry {
[INFO] [stderr]     |        ------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 117 |     provider: Option<String>,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 126 |     completed_at: Option<String>,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `OpenCodeEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `receiver_count` is never used
[INFO] [stderr]   --> src/events/broadcaster.rs:34:12
[INFO] [stderr]    |
[INFO] [stderr] 13 | impl EventBroadcaster {
[INFO] [stderr]    | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 34 |     pub fn receiver_count(&self) -> usize {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `pid` is never read
[INFO] [stderr]   --> src/execution.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct RunResult {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] 24 |     /// Process ID of the spawned agent.
[INFO] [stderr] 25 |     pub pid: u32,
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `filter_by_profile` is never used
[INFO] [stderr]    --> src/handlers/usage.rs:290:4
[INFO] [stderr]     |
[INFO] [stderr] 290 | fn filter_by_profile(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `not_found` is never used
[INFO] [stderr]    --> src/http/error.rs:114:12
[INFO] [stderr]     |
[INFO] [stderr]  96 | impl HttpError {
[INFO] [stderr]     | -------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 114 |     pub fn not_found(message: impl Into<String>) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `response_to_http` is never used
[INFO] [stderr]    --> src/http/error.rs:126:8
[INFO] [stderr]     |
[INFO] [stderr] 126 | pub fn response_to_http<T: Serialize>(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RemoveHookPath` is never constructed
[INFO] [stderr]   --> src/http/routes/hooks.rs:58:12
[INFO] [stderr]    |
[INFO] [stderr] 58 | pub struct RemoveHookPath {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `sync` and `has_cache` are never used
[INFO] [stderr]    --> src/pricing.rs:64:12
[INFO] [stderr]     |
[INFO] [stderr]  54 | impl PricingLoader {
[INFO] [stderr]     | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  64 |     pub fn sync(&self) -> Result<()> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 181 |     pub fn has_cache(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `ids` is never used
[INFO] [stderr]   --> src/provider_registry.rs:78:12
[INFO] [stderr]    |
[INFO] [stderr] 25 | impl ProviderRegistry {
[INFO] [stderr]    | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 78 |     pub fn ids(&self) -> impl Iterator<Item = &str> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `PROXY_API_TIMEOUT_SECS` is never used
[INFO] [stderr]   --> src/proxy_manager.rs:24:7
[INFO] [stderr]    |
[INFO] [stderr] 24 | const PROXY_API_TIMEOUT_SECS: u64 = 5;
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProxyUsageStats` is never constructed
[INFO] [stderr]   --> src/proxy_manager.rs:28:12
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub struct ProxyUsageStats {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProxyModelStats` is never constructed
[INFO] [stderr]   --> src/proxy_manager.rs:41:12
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub struct ProxyModelStats {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `paths` is never read
[INFO] [stderr]   --> src/proxy_manager.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub struct ProxyManager {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 59 |     paths: RingletPaths,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `config_path` is never read
[INFO] [stderr]   --> src/proxy_manager.rs:73:9
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub struct ProxyInstance {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 73 |     pub config_path: PathBuf,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `binary_path`, `status_for`, `proxy_url`, `get_proxy_usage`, and `get_all_proxy_usage` are never used
[INFO] [stderr]    --> src/proxy_manager.rs:168:12
[INFO] [stderr]     |
[INFO] [stderr] 142 | impl ProxyManager {
[INFO] [stderr]     | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 168 |     pub fn binary_path(&self) -> Option<&PathBuf> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 337 |     pub async fn status_for(&self, alias: &str) -> Option<ProxyInstanceInfo> {
[INFO] [stderr]     |                  ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 350 |     pub async fn proxy_url(&self, alias: &str) -> Option<String> {
[INFO] [stderr]     |                  ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 467 |     pub async fn get_proxy_usage(&self, alias: &str) -> Result<ProxyUsageStats> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 516 |     pub async fn get_all_proxy_usage(&self) -> HashMap<String, ProxyUsageStats> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `UltrallmSpendAnalytics` is never constructed
[INFO] [stderr]    --> src/proxy_manager.rs:546:8
[INFO] [stderr]     |
[INFO] [stderr] 546 | struct UltrallmSpendAnalytics {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `UltrallmModelSpend` is never constructed
[INFO] [stderr]    --> src/proxy_manager.rs:562:8
[INFO] [stderr]     |
[INFO] [stderr] 562 | struct UltrallmModelSpend {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `load_recent_sessions` is never used
[INFO] [stderr]    --> src/telemetry.rs:282:12
[INFO] [stderr]     |
[INFO] [stderr] 111 | impl TelemetryCollector {
[INFO] [stderr]     | ----------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 282 |     pub fn load_recent_sessions(&self, limit: usize) -> Result<Vec<Session>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_session_for_profile` and `active_session_count` are never used
[INFO] [stderr]    --> src/terminal/manager.rs:146:18
[INFO] [stderr]     |
[INFO] [stderr]  31 | impl TerminalSessionManager {
[INFO] [stderr]     | --------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 146 |     pub async fn get_session_for_profile(&self, alias: &str) -> Option<Arc<TerminalSession>> {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 208 |     pub async fn active_session_count(&self) -> usize {
[INFO] [stderr]     |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Resized` is never constructed
[INFO] [stderr]   --> src/terminal/session.rs:86:5
[INFO] [stderr]    |
[INFO] [stderr] 80 | pub enum TerminalOutput {
[INFO] [stderr]    |          -------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 86 |     Resized { cols: u16, rows: u16 },
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TerminalOutput` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `working_dir` is never read
[INFO] [stderr]   --> src/terminal/session.rs:96:9
[INFO] [stderr]    |
[INFO] [stderr] 90 | pub struct TerminalSession {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 96 |     pub working_dir: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `state`, `pid`, and `size` are never used
[INFO] [stderr]    --> src/terminal/session.rs:160:18
[INFO] [stderr]     |
[INFO] [stderr] 115 | impl TerminalSession {
[INFO] [stderr]     | -------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 160 |     pub async fn state(&self) -> SessionState {
[INFO] [stderr]     |                  ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 177 |     pub async fn pid(&self) -> Option<u32> {
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] ...
[INFO] [stderr] 182 |     pub async fn size(&self) -> PtySize {
[INFO] [stderr]     |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ChangeEvent` is never used
[INFO] [stderr]   --> src/watcher.rs:19:10
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub enum ChangeEvent {
[INFO] [stderr]    |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FileWatcher` is never constructed
[INFO] [stderr]   --> src/watcher.rs:33:12
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub struct FileWatcher {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `start` are never used
[INFO] [stderr]   --> src/watcher.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 37 | impl FileWatcher {
[INFO] [stderr]    | ---------------- associated items in this implementation
[INFO] [stderr] 38 |     /// Create a new file watcher.
[INFO] [stderr] 39 |     pub fn new(paths: RingletPaths) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn start(&self) -> Result<mpsc::Receiver<ChangeEvent>> {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `classify_change` is never used
[INFO] [stderr]    --> src/watcher.rs:106:4
[INFO] [stderr]     |
[INFO] [stderr] 106 | fn classify_change(
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ringletd` (bin "ringletd" test) generated 52 warnings (run `cargo fix --bin "ringletd" -p ringletd --tests` to apply 14 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.47s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ringletd-ea1a6cb0288b4e9c)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test agent_usage::claude::tests::test_parse_claude_entry ... ok
[INFO] [stdout] test agent_usage::opencode::tests::test_skip_entry_without_id ... ok
[INFO] [stdout] test agent_usage::claude::tests::test_skip_non_usage_entry ... ok
[INFO] [stdout] test agent_usage::codex::tests::test_extract_session_path ... ok
[INFO] [stdout] test agent_usage::tests::test_scan_result_deduplicate ... ok
[INFO] [stdout] test agent_usage::codex::tests::test_skip_non_token_count_entry ... ok
[INFO] [stdout] test agent_usage::claude::tests::test_extract_project_path ... ok
[INFO] [stdout] test agent_usage::opencode::tests::test_parse_opencode_entry ... ok
[INFO] [stdout] test usage_watcher::tests::test_extract_project_path_claude ... ok
[INFO] [stdout] test agent_usage::opencode::tests::test_skip_entry_without_tokens ... ok
[INFO] [stdout] test usage_watcher::tests::test_parse_claude_line ... ok
[INFO] [stdout] test pricing::tests::test_pricing_loader ... ok
[INFO] [stdout] test usage_watcher::tests::test_extract_project_path_codex ... ok
[INFO] [stdout] test pricing::tests::test_cost_calculation_self_provider ... ok
[INFO] [stdout] test agent_usage::codex::tests::test_parse_codex_entry ... ok
[INFO] [stdout] test agent_usage::tests::test_dedup_key ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5867b8f66128db04706b1840fb596f700e2e7d18584438160eb5329cfc962b38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5867b8f66128db04706b1840fb596f700e2e7d18584438160eb5329cfc962b38", kill_on_drop: false }`
[INFO] [stdout] 5867b8f66128db04706b1840fb596f700e2e7d18584438160eb5329cfc962b38
