[INFO] cloning repository https://github.com/Fearless743/claude-code-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Fearless743/claude-code-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFearless743%2Fclaude-code-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFearless743%2Fclaude-code-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 80b8b43efd95f9a9e042c5af191b2b70fb6b471e [INFO] checking Fearless743/claude-code-rust against 65b20a97de33e9e59992793a144aef2950c48c76 for pr-154715 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFearless743%2Fclaude-code-rust" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-7-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/Fearless743/claude-code-rust [INFO] finished tweaking git repo https://github.com/Fearless743/claude-code-rust [INFO] tweaked toml for git repo https://github.com/Fearless743/claude-code-rust written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Fearless743/claude-code-rust on toolchain 65b20a97de33e9e59992793a144aef2950c48c76 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65b20a97de33e9e59992793a144aef2950c48c76" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Fearless743/claude-code-rust 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" "+65b20a97de33e9e59992793a144aef2950c48c76" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] baca77742159763978f517cf2d6cab63a226b5fe5c500d780982c7c08fb5160f [INFO] running `Command { std: "docker" "start" "baca77742159763978f517cf2d6cab63a226b5fe5c500d780982c7c08fb5160f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "baca77742159763978f517cf2d6cab63a226b5fe5c500d780982c7c08fb5160f", 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" "baca77742159763978f517cf2d6cab63a226b5fe5c500d780982c7c08fb5160f" "/opt/rustwide/cargo-home/bin/cargo" "+65b20a97de33e9e59992793a144aef2950c48c76" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "baca77742159763978f517cf2d6cab63a226b5fe5c500d780982c7c08fb5160f", 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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "baca77742159763978f517cf2d6cab63a226b5fe5c500d780982c7c08fb5160f" "/opt/rustwide/cargo-home/bin/cargo" "+65b20a97de33e9e59992793a144aef2950c48c76" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Checking log v0.4.32 [INFO] [stderr] Checking memchr v2.8.1 [INFO] [stderr] Compiling shlex v2.0.1 [INFO] [stderr] Checking bitflags v2.13.0 [INFO] [stderr] Compiling pkg-config v0.3.33 [INFO] [stderr] Checking http v1.4.1 [INFO] [stderr] Checking socket2 v0.6.4 [INFO] [stderr] Compiling openssl v0.10.80 [INFO] [stderr] Compiling displaydoc v0.2.6 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking zerofrom v0.1.8 [INFO] [stderr] Checking typenum v1.20.1 [INFO] [stderr] Compiling zerocopy v0.8.50 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking hashbrown v0.17.1 [INFO] [stderr] Compiling cc v1.2.63 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking yoke v0.8.3 [INFO] [stderr] Checking mio v1.2.1 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking zerovec v0.11.6 [INFO] [stderr] Compiling autocfg v1.5.1 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling semver v1.0.28 [INFO] [stderr] Checking aho-corasick v1.1.4 [INFO] [stderr] Compiling winnow v1.0.3 [INFO] [stderr] Checking zerotrie v0.2.4 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Checking tokio v1.52.3 [INFO] [stderr] Checking tinystr v0.8.3 [INFO] [stderr] Checking potential_utf v0.1.5 [INFO] [stderr] Checking indexmap v2.14.0 [INFO] [stderr] Checking icu_locale_core v2.2.0 [INFO] [stderr] Checking icu_collections v2.2.0 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking signal-hook v0.3.18 [INFO] [stderr] Checking generic-array v0.14.7 [INFO] [stderr] Checking icu_provider v2.2.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking either v1.16.0 [INFO] [stderr] Compiling instability v0.3.12 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling openssl-sys v0.9.116 [INFO] [stderr] Checking icu_properties v2.2.0 [INFO] [stderr] Checking icu_normalizer v2.2.0 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Checking linux-raw-sys v0.4.15 [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Compiling rstest_macros v0.23.0 [INFO] [stderr] Compiling toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Checking signal-hook-mio v0.2.5 [INFO] [stderr] Checking http-body-util v0.1.3 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Checking castaway v0.2.4 [INFO] [stderr] Checking thiserror v1.0.69 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking data-encoding v2.11.0 [INFO] [stderr] Compiling toml_edit v0.25.12+spec-1.1.0 [INFO] [stderr] Checking unicode-segmentation v1.13.3 [INFO] [stderr] Compiling eyre v0.6.12 [INFO] [stderr] Checking linux-raw-sys v0.12.1 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Checking idna_adapter v1.2.2 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking clap_builder v4.6.0 [INFO] [stderr] Checking futures-executor v0.3.32 [INFO] [stderr] Compiling proc-macro-crate v3.5.0 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Checking crossterm v0.28.1 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking unicode-truncate v1.1.0 [INFO] [stderr] Checking compact_str v0.8.2 [INFO] [stderr] Checking lru v0.12.5 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Checking bstr v1.12.1 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking dirs-sys v0.5.0 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Checking unicode-width v0.2.0 [INFO] [stderr] Checking cassowary v0.3.0 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking indenter v0.3.4 [INFO] [stderr] Compiling relative-path v1.9.3 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Checking fastrand v2.4.1 [INFO] [stderr] Checking ratatui v0.29.0 [INFO] [stderr] Checking dirs v6.0.0 [INFO] [stderr] Checking directories v5.0.1 [INFO] [stderr] Checking uuid v1.23.2 [INFO] [stderr] Checking similar v2.7.0 [INFO] [stderr] Checking chrono v0.4.45 [INFO] [stderr] Checking yansi v1.0.1 [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking futures-timer v3.0.4 [INFO] [stderr] Checking pretty_assertions v1.4.1 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking matchers v0.2.0 [INFO] [stderr] Checking globset v0.4.18 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking tracing-subscriber v0.3.23 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Checking rand v0.8.6 [INFO] [stderr] Checking clap v4.6.1 [INFO] [stderr] Checking tempfile v3.27.0 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking tokio-stream v0.1.18 [INFO] [stderr] Checking tokio-test v0.4.5 [INFO] [stderr] Checking tower-http v0.6.11 [INFO] [stderr] Checking h2 v0.4.14 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking tungstenite v0.24.0 [INFO] [stderr] Checking tokio-tungstenite v0.24.0 [INFO] [stderr] Checking hyper v1.10.1 [INFO] [stderr] Checking rstest v0.23.0 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Checking hyper-tls v0.6.0 [INFO] [stderr] Checking reqwest v0.12.28 [INFO] [stderr] Checking claude-code v2.1.888 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Usage` [INFO] [stdout] --> src/api/gemini.rs:8:45 [INFO] [stdout] | [INFO] [stdout] 8 | use super::message::{ContentBlock, Message, Usage}; [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: `Usage` [INFO] [stdout] --> src/api/openai.rs:8:45 [INFO] [stdout] | [INFO] [stdout] 8 | use super::message::{ContentBlock, Message, Usage}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/daemon/worker.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 15 | _ => eyre::bail!("Unknown worker kind: {kind}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default [INFO] [stdout] = note: this warning originates in the macro `eyre::bail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::mpsc` [INFO] [stdout] --> src/mcp/transport.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Usage` [INFO] [stdout] --> src/api/gemini.rs:8:45 [INFO] [stdout] | [INFO] [stdout] 8 | use super::message::{ContentBlock, Message, Usage}; [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: `Usage` [INFO] [stdout] --> src/api/openai.rs:8:45 [INFO] [stdout] | [INFO] [stdout] 8 | use super::message::{ContentBlock, Message, Usage}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/daemon/worker.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 15 | _ => eyre::bail!("Unknown worker kind: {kind}"), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default [INFO] [stdout] = note: this warning originates in the macro `eyre::bail` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tokio::sync::mpsc` [INFO] [stdout] --> src/mcp/transport.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use tokio::sync::mpsc; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bridge/mod.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | let (session_tx, mut session_rx) = mpsc::unbounded_channel::(); [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: variable does not need to be mutable [INFO] [stdout] --> src/bridge/mod.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | let (session_tx, mut session_rx) = mpsc::unbounded_channel::(); [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: `id` [INFO] [stdout] --> src/acp/agent.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | id, [INFO] [stdout] | ^^ help: try ignoring the field: `id: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `id` [INFO] [stdout] --> src/acp/agent.rs:130:17 [INFO] [stdout] | [INFO] [stdout] 130 | id, [INFO] [stdout] | ^^ help: try ignoring the field: `id: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token` [INFO] [stdout] --> src/auth/oauth.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn refresh_token(token: &OAuthToken) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/bridge/transport.rs:78:47 [INFO] [stdout] | [INFO] [stdout] 78 | let sink = futures::sink::unfold(tx, |tx, msg: String| async move { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_rx` [INFO] [stdout] --> src/bridge/mod.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | let (session_tx, mut session_rx) = mpsc::unbounded_channel::(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mid_count` [INFO] [stdout] --> src/engine/compaction.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let mid_count = messages.len().saturating_sub(2); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mid_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token` [INFO] [stdout] --> src/auth/oauth.rs:13:28 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn refresh_token(token: &OAuthToken) -> Result { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/bridge/transport.rs:78:47 [INFO] [stdout] | [INFO] [stdout] 78 | let sink = futures::sink::unfold(tx, |tx, msg: String| async move { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `session_rx` [INFO] [stdout] --> src/bridge/mod.rs:10:22 [INFO] [stdout] | [INFO] [stdout] 10 | let (session_tx, mut session_rx) = mpsc::unbounded_channel::(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_session_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mid_count` [INFO] [stdout] --> src/engine/compaction.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let mid_count = messages.len().saturating_sub(2); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mid_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `WorkerKind` is more private than the item `DaemonSupervisor::start_worker` [INFO] [stdout] --> src/daemon/mod.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub async fn start_worker(&self, kind: WorkerKind) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DaemonSupervisor::start_worker` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `WorkerKind` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/daemon/mod.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | enum WorkerKind { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AcpRequest` is never used [INFO] [stdout] --> src/acp/agent.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum AcpRequest { [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 `InitializeParams` is never constructed [INFO] [stdout] --> src/acp/agent.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct InitializeParams { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientInfo` is never constructed [INFO] [stdout] --> src/acp/agent.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct ClientInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PromptParams` is never constructed [INFO] [stdout] --> src/acp/agent.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct PromptParams { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AcpResponse` is never used [INFO] [stdout] --> src/acp/agent.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | pub enum AcpResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorDetail` is never constructed [INFO] [stdout] --> src/acp/agent.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct ErrorDetail { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionUpdate` is never constructed [INFO] [stdout] --> src/acp/agent.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct SessionUpdate { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UpdateContent` is never used [INFO] [stdout] --> src/acp/agent.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | pub enum UpdateContent { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_response` is never used [INFO] [stdout] --> src/acp/agent.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn write_response(writer: &mut W, response: &AcpResponse) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_request` is never used [INFO] [stdout] --> src/acp/agent.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn read_request(reader: &mut R) -> eyre::Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_acp_agent` is never used [INFO] [stdout] --> src/acp/agent.rs:103:14 [INFO] [stdout] | [INFO] [stdout] 103 | pub async fn run_acp_agent() -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `acp_update_to_message` is never used [INFO] [stdout] --> src/acp/bridge.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn acp_update_to_message(_session_id: &str, update: &super::agent::SessionUpdate) -> Message { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `message_to_acp_update` is never used [INFO] [stdout] --> src/acp/bridge.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn message_to_acp_update(msg: &Message) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `RateLimited` and `Stream` are never constructed [INFO] [stdout] --> src/api/mod.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum ApiError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 31 | RateLimited, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | Stream(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `thinking_enabled` is never read [INFO] [stdout] --> src/api/mod.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct RequestConfig { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 49 | pub thinking_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RequestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `supports_model` is never used [INFO] [stdout] --> src/api/mod.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 64 | pub trait Provider: Send + Sync { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 73 | async fn supports_model(&self, model: &str) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/api/anthropic.rs:53:24 [INFO] [stdout] | [INFO] [stdout] 53 | ContentBlockStop { index: usize }, [INFO] [stdout] | ---------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnthropicStreamEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `input` is never read [INFO] [stdout] --> src/api/anthropic.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 79 | ToolUse { [INFO] [stdout] | ------- field in this variant [INFO] [stdout] ... [INFO] [stdout] 82 | input: Value, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AnthropicContentBlockStart` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `thinking` is never read [INFO] [stdout] --> src/api/anthropic.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | ThinkingDelta { thinking: String }, [INFO] [stdout] | ------------- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnthropicDelta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `signature` is never read [INFO] [stdout] --> src/api/anthropic.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | SignatureDelta { signature: String }, [INFO] [stdout] | -------------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnthropicDelta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `stop_sequence` is never read [INFO] [stdout] --> src/api/anthropic.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 102 | struct AnthropicMessageDelta { [INFO] [stdout] | --------------------- field in this struct [INFO] [stdout] 103 | stop_reason: Option, [INFO] [stdout] 104 | stop_sequence: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AnthropicMessageDelta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FoundryProvider` is never constructed [INFO] [stdout] --> src/api/foundry.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct FoundryProvider { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/api/foundry.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl FoundryProvider { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 13 | pub fn new(settings: &Settings) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `FunctionResponse` is never constructed [INFO] [stdout] --> src/api/gemini.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 36 | enum GeminiPart { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 43 | FunctionResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GeminiPart` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `finish_reason` is never read [INFO] [stdout] --> src/api/gemini.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 91 | struct GeminiCandidate { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 94 | finish_reason: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GeminiCandidate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `role` is never read [INFO] [stdout] --> src/api/gemini.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 98 | struct GeminiContentResponse { [INFO] [stdout] | --------------------- field in this struct [INFO] [stdout] 99 | parts: Option>, [INFO] [stdout] 100 | role: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GeminiContentResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModelInfo` is never constructed [INFO] [stdout] --> src/api/types.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ModelInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApiResponse` is never constructed [INFO] [stdout] --> src/api/types.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ApiResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_from_env` is never used [INFO] [stdout] --> src/auth/api_key.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn load_from_env() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_to_config` is never used [INFO] [stdout] --> src/auth/api_key.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn save_to_config(_config_dir: &std::path::Path, _key: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OAuthToken` is never constructed [INFO] [stdout] --> src/auth/oauth.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct OAuthToken { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `start_oauth_flow` is never used [INFO] [stdout] --> src/auth/oauth.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | pub async fn start_oauth_flow() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `refresh_token` is never used [INFO] [stdout] --> src/auth/oauth.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn refresh_token(token: &OAuthToken) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AuthCredentials` is never used [INFO] [stdout] --> src/auth/providers.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum AuthCredentials { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_auth` is never used [INFO] [stdout] --> src/auth/providers.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn resolve_auth(api_key: Option) -> AuthCredentials { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_api_key` is never used [INFO] [stdout] --> src/auth/providers.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn validate_api_key(key: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `start_bridge` is never used [INFO] [stdout] --> src/bridge/mod.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn start_bridge(config: BridgeConfig) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BridgeConfig` is never constructed [INFO] [stdout] --> src/bridge/mod.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct BridgeConfig { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SessionEvent` is never used [INFO] [stdout] --> src/bridge/mod.rs:100:10 [INFO] [stdout] | [INFO] [stdout] 100 | pub enum SessionEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WorkItem` is never constructed [INFO] [stdout] --> src/bridge/mod.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 107 | pub struct WorkItem { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BridgeApiClient` is never constructed [INFO] [stdout] --> src/bridge/mod.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | struct BridgeApiClient { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/bridge/mod.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 120 | impl BridgeApiClient { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 121 | fn new(config: &BridgeConfig) -> eyre::Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | async fn register_environment(&self) -> eyre::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | async fn poll_work(&self, env_id: &str) -> eyre::Result> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | async fn ack_work(&self, env_id: &str, work_id: &str) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | async fn stop_work(&self, env_id: &str, work_id: &str) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | async fn heartbeat(&self, env_id: &str, work_id: &str) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | async fn deregister(&self, env_id: &str) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hostname` is never used [INFO] [stdout] --> src/bridge/mod.rs:213:4 [INFO] [stdout] | [INFO] [stdout] 213 | fn hostname() -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SseClient` is never constructed [INFO] [stdout] --> src/bridge/transport.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct SseClient { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `connect` are never used [INFO] [stdout] --> src/bridge/transport.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl SseClient { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new(url: String, token: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub async fn connect(&self) -> eyre::Result> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_session_ingress` is never used [INFO] [stdout] --> src/bridge/transport.rs:61:14 [INFO] [stdout] | [INFO] [stdout] 61 | pub async fn connect_session_ingress( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config_dir` and `project_dir` are never read [INFO] [stdout] --> src/config/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ConfigManager { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 8 | config_dir: PathBuf, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 9 | project_dir: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConfigManager` 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 `settings`, `project_settings`, `config_dir`, and `project_dir` are never used [INFO] [stdout] --> src/config/mod.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl ConfigManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn settings(&self) -> &Settings { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn project_settings(&self) -> Option<&Settings> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn config_dir(&self) -> &PathBuf { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn project_dir(&self) -> Option<&PathBuf> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DaemonSupervisor` is never constructed [INFO] [stdout] --> src/daemon/mod.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct DaemonSupervisor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WorkerProcess` is never constructed [INFO] [stdout] --> src/daemon/mod.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct WorkerProcess { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `WorkerKind` is never used [INFO] [stdout] --> src/daemon/mod.rs:25:6 [INFO] [stdout] | [INFO] [stdout] 25 | enum WorkerKind { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `start_worker`, `supervise_loop`, `spawn_worker_process`, and `shutdown` are never used [INFO] [stdout] --> src/daemon/mod.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl DaemonSupervisor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 32 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub async fn start_worker(&self, kind: WorkerKind) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub async fn supervise_loop(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn spawn_worker_process(&self, kind: &WorkerKind) -> eyre::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub async fn shutdown(&self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `start_daemon` is never used [INFO] [stdout] --> src/daemon/mod.rs:118:14 [INFO] [stdout] | [INFO] [stdout] 118 | pub async fn start_daemon() -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_worker` is never used [INFO] [stdout] --> src/daemon/worker.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | pub async fn run_worker(kind: &str) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `with_system_prompt` is never used [INFO] [stdout] --> src/engine/mod.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl QueryEngine { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn with_system_prompt(mut self, prompt: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COMPACTION_THRESHOLD_TOKENS` is never used [INFO] [stdout] --> src/engine/compaction.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const COMPACTION_THRESHOLD_TOKENS: usize = 80_000; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `needs_compaction` is never used [INFO] [stdout] --> src/engine/compaction.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn needs_compaction(messages: &[Message]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compact_messages` is never used [INFO] [stdout] --> src/engine/compaction.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn compact_messages(messages: &[Message]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `summarize_messages` is never used [INFO] [stdout] --> src/engine/compaction.rs:39:4 [INFO] [stdout] | [INFO] [stdout] 39 | fn summarize_messages(messages: &[Message]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `estimate_total_tokens` is never used [INFO] [stdout] --> src/engine/compaction.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn estimate_total_tokens(messages: &[Message]) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Session` is never constructed [INFO] [stdout] --> src/engine/session.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Session { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `add_message` are never used [INFO] [stdout] --> src/engine/session.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl Session { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 16 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn add_message(&mut self, message: Message) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionStore` is never constructed [INFO] [stdout] --> src/engine/session.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct SessionStore { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `save`, `load`, `list_sessions`, and `delete` are never used [INFO] [stdout] --> src/engine/session.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl SessionStore { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> eyre::Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn save(&self, session: &Session) -> eyre::Result<()> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn load(&self, id: &Uuid) -> eyre::Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn list_sessions(&self) -> eyre::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn delete(&self, id: &Uuid) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `McpClient` is never constructed [INFO] [stdout] --> src/mcp/client.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct McpClient { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `call_tool` and `tools` are never used [INFO] [stdout] --> src/mcp/transport.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 137 | impl McpClient { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn call_tool( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn tools(&self) -> &[super::types::McpToolDef] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CallToolParams` is never constructed [INFO] [stdout] --> src/mcp/types.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct CallToolParams { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CallToolResult` is never constructed [INFO] [stdout] --> src/mcp/types.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct CallToolResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ToolContent` is never used [INFO] [stdout] --> src/mcp/types.rs:119:10 [INFO] [stdout] | [INFO] [stdout] 119 | pub enum ToolContent { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AppState` is never constructed [INFO] [stdout] --> src/state.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct AppState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PermissionMode` is never used [INFO] [stdout] --> src/state.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum PermissionMode { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `McpClientState` is never constructed [INFO] [stdout] --> src/state.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct McpClientState { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/state.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl AppState { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 38 | pub fn new(session_id: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SharedState` is never used [INFO] [stdout] --> src/state.rs:53:10 [INFO] [stdout] | [INFO] [stdout] 53 | pub type SharedState = Arc>; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_shared_state` is never used [INFO] [stdout] --> src/state.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn new_shared_state(session_id: String) -> SharedState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `session_id` is never read [INFO] [stdout] --> src/tools/mod.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct ToolContext { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 26 | pub cwd: std::path::PathBuf, [INFO] [stdout] 27 | pub session_id: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ToolContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_read_only` is never used [INFO] [stdout] --> src/tools/mod.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub trait Tool: Send + Sync { [INFO] [stdout] | ---- method in this trait [INFO] [stdout] ... [INFO] [stdout] 35 | fn is_read_only(&self) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `execute` is never used [INFO] [stdout] --> src/tools/dispatch.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 10 | impl ToolDispatcher { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub async fn execute( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PermissionDecision` is never used [INFO] [stdout] --> src/tools/permissions.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum PermissionDecision { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PermissionChecker` is never constructed [INFO] [stdout] --> src/tools/permissions.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct PermissionChecker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `check` are never used [INFO] [stdout] --> src/tools/permissions.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl PermissionChecker { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 19 | pub fn new(mode: crate::state::PermissionMode) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn check(&self, tool_name: &str, _input: &serde_json::Value) -> PermissionDecision { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TaskTool` is never constructed [INFO] [stdout] --> src/tools/task.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TaskTool; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `engine_tx` is never read [INFO] [stdout] --> src/ui/repl.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 23 | struct App { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 29 | engine_tx: mpsc::UnboundedSender, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `WorkerKind` is more private than the item `DaemonSupervisor::start_worker` [INFO] [stdout] --> src/daemon/mod.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | pub async fn start_worker(&self, kind: WorkerKind) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DaemonSupervisor::start_worker` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `WorkerKind` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/daemon/mod.rs:25:1 [INFO] [stdout] | [INFO] [stdout] 25 | enum WorkerKind { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AcpRequest` is never used [INFO] [stdout] --> src/acp/agent.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum AcpRequest { [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 `InitializeParams` is never constructed [INFO] [stdout] --> src/acp/agent.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct InitializeParams { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ClientInfo` is never constructed [INFO] [stdout] --> src/acp/agent.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct ClientInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PromptParams` is never constructed [INFO] [stdout] --> src/acp/agent.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub struct PromptParams { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AcpResponse` is never used [INFO] [stdout] --> src/acp/agent.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | pub enum AcpResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ErrorDetail` is never constructed [INFO] [stdout] --> src/acp/agent.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | pub struct ErrorDetail { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SessionUpdate` is never constructed [INFO] [stdout] --> src/acp/agent.rs:71:12 [INFO] [stdout] | [INFO] [stdout] 71 | pub struct SessionUpdate { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UpdateContent` is never used [INFO] [stdout] --> src/acp/agent.rs:79:10 [INFO] [stdout] | [INFO] [stdout] 79 | pub enum UpdateContent { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_response` is never used [INFO] [stdout] --> src/acp/agent.rs:90:8 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn write_response(writer: &mut W, response: &AcpResponse) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_request` is never used [INFO] [stdout] --> src/acp/agent.rs:97:8 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn read_request(reader: &mut R) -> eyre::Result { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_acp_agent` is never used [INFO] [stdout] --> src/acp/agent.rs:103:14 [INFO] [stdout] | [INFO] [stdout] 103 | pub async fn run_acp_agent() -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `acp_update_to_message` is never used [INFO] [stdout] --> src/acp/bridge.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn acp_update_to_message(_session_id: &str, update: &super::agent::SessionUpdate) -> Message { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `message_to_acp_update` is never used [INFO] [stdout] --> src/acp/bridge.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn message_to_acp_update(msg: &Message) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `RateLimited` and `Stream` are never constructed [INFO] [stdout] --> src/api/mod.rs:31:5 [INFO] [stdout] | [INFO] [stdout] 20 | pub enum ApiError { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 31 | RateLimited, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | Stream(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ApiError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `thinking_enabled` is never read [INFO] [stdout] --> src/api/mod.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct RequestConfig { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 49 | pub thinking_enabled: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RequestConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `supports_model` is never used [INFO] [stdout] --> src/api/mod.rs:73:14 [INFO] [stdout] | [INFO] [stdout] 64 | pub trait Provider: Send + Sync { [INFO] [stdout] | -------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 73 | async fn supports_model(&self, model: &str) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `index` is never read [INFO] [stdout] --> src/api/anthropic.rs:53:24 [INFO] [stdout] | [INFO] [stdout] 53 | ContentBlockStop { index: usize }, [INFO] [stdout] | ---------------- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnthropicStreamEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `input` is never read [INFO] [stdout] --> src/api/anthropic.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 79 | ToolUse { [INFO] [stdout] | ------- field in this variant [INFO] [stdout] ... [INFO] [stdout] 82 | input: Value, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AnthropicContentBlockStart` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `thinking` is never read [INFO] [stdout] --> src/api/anthropic.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | ThinkingDelta { thinking: String }, [INFO] [stdout] | ------------- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnthropicDelta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `signature` is never read [INFO] [stdout] --> src/api/anthropic.rs:98:22 [INFO] [stdout] | [INFO] [stdout] 98 | SignatureDelta { signature: String }, [INFO] [stdout] | -------------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `AnthropicDelta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `stop_sequence` is never read [INFO] [stdout] --> src/api/anthropic.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 102 | struct AnthropicMessageDelta { [INFO] [stdout] | --------------------- field in this struct [INFO] [stdout] 103 | stop_reason: Option, [INFO] [stdout] 104 | stop_sequence: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AnthropicMessageDelta` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FoundryProvider` is never constructed [INFO] [stdout] --> src/api/foundry.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct FoundryProvider { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/api/foundry.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl FoundryProvider { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 13 | pub fn new(settings: &Settings) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `FunctionResponse` is never constructed [INFO] [stdout] --> src/api/gemini.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 36 | enum GeminiPart { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 43 | FunctionResponse { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GeminiPart` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `finish_reason` is never read [INFO] [stdout] --> src/api/gemini.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 91 | struct GeminiCandidate { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 94 | finish_reason: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GeminiCandidate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `role` is never read [INFO] [stdout] --> src/api/gemini.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 98 | struct GeminiContentResponse { [INFO] [stdout] | --------------------- field in this struct [INFO] [stdout] 99 | parts: Option>, [INFO] [stdout] 100 | role: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GeminiContentResponse` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModelInfo` is never constructed [INFO] [stdout] --> src/api/types.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct ModelInfo { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ApiResponse` is never constructed [INFO] [stdout] --> src/api/types.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct ApiResponse { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_from_env` is never used [INFO] [stdout] --> src/auth/api_key.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn load_from_env() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_to_config` is never used [INFO] [stdout] --> src/auth/api_key.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn save_to_config(_config_dir: &std::path::Path, _key: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OAuthToken` is never constructed [INFO] [stdout] --> src/auth/oauth.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct OAuthToken { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `start_oauth_flow` is never used [INFO] [stdout] --> src/auth/oauth.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | pub async fn start_oauth_flow() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `refresh_token` is never used [INFO] [stdout] --> src/auth/oauth.rs:13:14 [INFO] [stdout] | [INFO] [stdout] 13 | pub async fn refresh_token(token: &OAuthToken) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AuthCredentials` is never used [INFO] [stdout] --> src/auth/providers.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum AuthCredentials { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_auth` is never used [INFO] [stdout] --> src/auth/providers.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn resolve_auth(api_key: Option) -> AuthCredentials { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_api_key` is never used [INFO] [stdout] --> src/auth/providers.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn validate_api_key(key: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `start_bridge` is never used [INFO] [stdout] --> src/bridge/mod.rs:7:14 [INFO] [stdout] | [INFO] [stdout] 7 | pub async fn start_bridge(config: BridgeConfig) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BridgeConfig` is never constructed [INFO] [stdout] --> src/bridge/mod.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct BridgeConfig { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SessionEvent` is never used [INFO] [stdout] --> src/bridge/mod.rs:100:10 [INFO] [stdout] | [INFO] [stdout] 100 | pub enum SessionEvent { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WorkItem` is never constructed [INFO] [stdout] --> src/bridge/mod.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 107 | pub struct WorkItem { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BridgeApiClient` is never constructed [INFO] [stdout] --> src/bridge/mod.rs:114:8 [INFO] [stdout] | [INFO] [stdout] 114 | struct BridgeApiClient { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/bridge/mod.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 120 | impl BridgeApiClient { [INFO] [stdout] | -------------------- associated items in this implementation [INFO] [stdout] 121 | fn new(config: &BridgeConfig) -> eyre::Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | async fn register_environment(&self) -> eyre::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | async fn poll_work(&self, env_id: &str) -> eyre::Result> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | async fn ack_work(&self, env_id: &str, work_id: &str) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | async fn stop_work(&self, env_id: &str, work_id: &str) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | async fn heartbeat(&self, env_id: &str, work_id: &str) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | async fn deregister(&self, env_id: &str) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `hostname` is never used [INFO] [stdout] --> src/bridge/mod.rs:213:4 [INFO] [stdout] | [INFO] [stdout] 213 | fn hostname() -> String { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SseClient` is never constructed [INFO] [stdout] --> src/bridge/transport.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct SseClient { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `connect` are never used [INFO] [stdout] --> src/bridge/transport.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl SseClient { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 12 | pub fn new(url: String, token: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub async fn connect(&self) -> eyre::Result> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `connect_session_ingress` is never used [INFO] [stdout] --> src/bridge/transport.rs:61:14 [INFO] [stdout] | [INFO] [stdout] 61 | pub async fn connect_session_ingress( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `config_dir` and `project_dir` are never read [INFO] [stdout] --> src/config/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct ConfigManager { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 8 | config_dir: PathBuf, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 9 | project_dir: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConfigManager` 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 `settings`, `project_settings`, `config_dir`, and `project_dir` are never used [INFO] [stdout] --> src/config/mod.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl ConfigManager { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn settings(&self) -> &Settings { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn project_settings(&self) -> Option<&Settings> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn config_dir(&self) -> &PathBuf { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn project_dir(&self) -> Option<&PathBuf> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DaemonSupervisor` is never constructed [INFO] [stdout] --> src/daemon/mod.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct DaemonSupervisor { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WorkerProcess` is never constructed [INFO] [stdout] --> src/daemon/mod.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | struct WorkerProcess { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `WorkerKind` is never used [INFO] [stdout] --> src/daemon/mod.rs:25:6 [INFO] [stdout] | [INFO] [stdout] 25 | enum WorkerKind { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `start_worker`, `supervise_loop`, `spawn_worker_process`, and `shutdown` are never used [INFO] [stdout] --> src/daemon/mod.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl DaemonSupervisor { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 32 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub async fn start_worker(&self, kind: WorkerKind) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub async fn supervise_loop(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn spawn_worker_process(&self, kind: &WorkerKind) -> eyre::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub async fn shutdown(&self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `start_daemon` is never used [INFO] [stdout] --> src/daemon/mod.rs:118:14 [INFO] [stdout] | [INFO] [stdout] 118 | pub async fn start_daemon() -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_worker` is never used [INFO] [stdout] --> src/daemon/worker.rs:4:14 [INFO] [stdout] | [INFO] [stdout] 4 | pub async fn run_worker(kind: &str) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `with_system_prompt` is never used [INFO] [stdout] --> src/engine/mod.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl QueryEngine { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn with_system_prompt(mut self, prompt: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `list_sessions`, and `delete` are never used [INFO] [stdout] --> src/engine/session.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl SessionStore { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> eyre::Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn list_sessions(&self) -> eyre::Result> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn delete(&self, id: &Uuid) -> eyre::Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `McpClient` is never constructed [INFO] [stdout] --> src/mcp/client.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct McpClient { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `call_tool` and `tools` are never used [INFO] [stdout] --> src/mcp/transport.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 137 | impl McpClient { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn call_tool( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn tools(&self) -> &[super::types::McpToolDef] { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CallToolParams` is never constructed [INFO] [stdout] --> src/mcp/types.rs:105:12 [INFO] [stdout] | [INFO] [stdout] 105 | pub struct CallToolParams { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CallToolResult` is never constructed [INFO] [stdout] --> src/mcp/types.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 111 | pub struct CallToolResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ToolContent` is never used [INFO] [stdout] --> src/mcp/types.rs:119:10 [INFO] [stdout] | [INFO] [stdout] 119 | pub enum ToolContent { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AppState` is never constructed [INFO] [stdout] --> src/state.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct AppState { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PermissionMode` is never used [INFO] [stdout] --> src/state.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub enum PermissionMode { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `McpClientState` is never constructed [INFO] [stdout] --> src/state.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct McpClientState { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/state.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl AppState { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 38 | pub fn new(session_id: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SharedState` is never used [INFO] [stdout] --> src/state.rs:53:10 [INFO] [stdout] | [INFO] [stdout] 53 | pub type SharedState = Arc>; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_shared_state` is never used [INFO] [stdout] --> src/state.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn new_shared_state(session_id: String) -> SharedState { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `session_id` is never read [INFO] [stdout] --> src/tools/mod.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct ToolContext { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 26 | pub cwd: std::path::PathBuf, [INFO] [stdout] 27 | pub session_id: String, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ToolContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_read_only` is never used [INFO] [stdout] --> src/tools/mod.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub trait Tool: Send + Sync { [INFO] [stdout] | ---- method in this trait [INFO] [stdout] ... [INFO] [stdout] 35 | fn is_read_only(&self) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `execute` is never used [INFO] [stdout] --> src/tools/dispatch.rs:21:18 [INFO] [stdout] | [INFO] [stdout] 10 | impl ToolDispatcher { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub async fn execute( [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PermissionDecision` is never used [INFO] [stdout] --> src/tools/permissions.rs:5:10 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum PermissionDecision { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PermissionChecker` is never constructed [INFO] [stdout] --> src/tools/permissions.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct PermissionChecker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `check` are never used [INFO] [stdout] --> src/tools/permissions.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl PermissionChecker { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 19 | pub fn new(mode: crate::state::PermissionMode) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn check(&self, tool_name: &str, _input: &serde_json::Value) -> PermissionDecision { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TaskTool` is never constructed [INFO] [stdout] --> src/tools/task.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TaskTool; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `engine_tx` is never read [INFO] [stdout] --> src/ui/repl.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 23 | struct App { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 29 | engine_tx: mpsc::UnboundedSender, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: claude-code v2.1.888 (/opt/rustwide/workdir) [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 7` [INFO] running `Command { std: "docker" "inspect" "baca77742159763978f517cf2d6cab63a226b5fe5c500d780982c7c08fb5160f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "baca77742159763978f517cf2d6cab63a226b5fe5c500d780982c7c08fb5160f", kill_on_drop: false }` [INFO] [stdout] baca77742159763978f517cf2d6cab63a226b5fe5c500d780982c7c08fb5160f