[INFO] cloning repository https://github.com/keypaa/clodox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/keypaa/clodox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkeypaa%2Fclodox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkeypaa%2Fclodox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d4d0d6ef34a9e96d2abe53edfedab93826554af1
[INFO] checking keypaa/clodox against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkeypaa%2Fclodox" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/keypaa/clodox
[INFO] finished tweaking git repo https://github.com/keypaa/clodox
[INFO] tweaked toml for git repo https://github.com/keypaa/clodox written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/keypaa/clodox on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/keypaa/clodox 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused field `license` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:83:1
[INFO] [stderr]    |
[INFO] [stderr] 83 | license = "MIT"
[INFO] [stderr]    | ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.license`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded linked-hash-map v0.5.6
[INFO] [stderr]   Downloaded yaml-rust v0.4.5
[INFO] [stderr]   Downloaded num-conv v0.2.1
[INFO] [stderr]   Downloaded instability v0.3.12
[INFO] [stderr]   Downloaded typed-arena v2.0.2
[INFO] [stderr]   Downloaded slug v0.1.6
[INFO] [stderr]   Downloaded lru v0.12.5
[INFO] [stderr]   Downloaded unicode-truncate v1.1.0
[INFO] [stderr]   Downloaded cassowary v0.3.0
[INFO] [stderr]   Downloaded caseless v0.2.2
[INFO] [stderr]   Downloaded onig v6.5.3
[INFO] [stderr]   Downloaded indoc v2.0.7
[INFO] [stderr]   Downloaded entities v1.0.1
[INFO] [stderr]   Downloaded sse-stream v0.2.3
[INFO] [stderr]   Downloaded bon v3.9.1
[INFO] [stderr]   Downloaded compact_str v0.8.1
[INFO] [stderr]   Downloaded fancy-regex v0.16.2
[INFO] [stderr]   Downloaded bon-macros v3.9.1
[INFO] [stderr]   Downloaded html2text v0.16.7
[INFO] [stderr]   Downloaded crossterm v0.28.1
[INFO] [stderr]   Downloaded comrak v0.31.0
[INFO] [stderr]   Downloaded reqwest v0.13.3
[INFO] [stderr]   Downloaded unicode-width v0.2.0
[INFO] [stderr]   Downloaded rmcp v1.7.0
[INFO] [stderr]   Downloaded ratatui v0.29.0
[INFO] [stderr]   Downloaded syntect v5.3.0
[INFO] [stderr]   Downloaded onig_sys v69.9.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 34cc5b30c13f1f8e7296d7497b69f46815ce972c8215ccbd86294cff3384e35d
[INFO] running `Command { std: "docker" "start" "34cc5b30c13f1f8e7296d7497b69f46815ce972c8215ccbd86294cff3384e35d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "34cc5b30c13f1f8e7296d7497b69f46815ce972c8215ccbd86294cff3384e35d", 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" "34cc5b30c13f1f8e7296d7497b69f46815ce972c8215ccbd86294cff3384e35d" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "34cc5b30c13f1f8e7296d7497b69f46815ce972c8215ccbd86294cff3384e35d", 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" "34cc5b30c13f1f8e7296d7497b69f46815ce972c8215ccbd86294cff3384e35d" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: unused field `license` in `workspace.package`
[INFO] [stderr]   --> Cargo.toml:83:1
[INFO] [stderr]    |
[INFO] [stderr] 83 | license = "MIT"
[INFO] [stderr]    | ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_workspace_package_fields` is set to `warn` by default
[INFO] [stderr] help: consider removing the field `workspace.package.license`
[INFO] [stderr] warning: workspace (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking try-lock v0.2.5
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking want v0.3.1
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking iana-time-zone v0.1.65
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking dyn-clone v1.0.20
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling siphasher v1.0.3
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking precomputed-hash v0.1.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]     Checking webpki-roots v1.0.7
[INFO] [stderr]    Compiling nix v0.31.3
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]     Checking phf v0.13.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]     Checking typenum v1.20.0
[INFO] [stderr]     Checking utf-8 v0.7.6
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling string_cache_codegen v0.6.1
[INFO] [stderr]    Compiling phf_codegen v0.13.1
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking tendril v0.5.0
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]    Compiling web_atoms v0.2.4
[INFO] [stderr]     Checking num-conv v0.2.1
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling rmcp v1.7.0
[INFO] [stderr]     Checking time-core v0.1.8
[INFO] [stderr]     Checking tinyvec_macros v0.1.1
[INFO] [stderr]     Checking tinyvec v1.11.0
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling onig_sys v69.9.3
[INFO] [stderr]     Checking quick-xml v0.39.4
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking string_cache v0.9.0
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking uuid v1.23.1
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking deunicode v1.6.2
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking slug v0.1.6
[INFO] [stderr]     Checking caseless v0.2.2
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking unicode_categories v0.1.1
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking entities v1.0.1
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking markup5ever v0.38.0
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking html5ever v0.38.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]     Checking onig v6.5.3
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking zerofrom v0.1.8
[INFO] [stderr]     Checking html2text v0.16.7
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]    Compiling bon-macros v3.9.1
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking plist v1.9.0
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking sse-stream v0.2.3
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking syntect v5.3.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking bon v3.9.1
[INFO] [stderr]     Checking comrak v0.31.0
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-rustls v0.26.4
[INFO] [stderr]     Checking cc-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]     Checking process-wrap v9.1.0
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stdout] warning: unused import: `ToolPermissionRulesBySource`
[INFO] [stdout]  --> crates/core/src/state/mod.rs:7:49
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::permissions::{ToolPermissionContext, ToolPermissionRulesBySource};
[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: `AdditionalWorkingDirectory`
[INFO] [stdout]   --> crates/core/src/state/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     AdditionalWorkingDirectory, AttributionState, EffortValue, FileHistoryState, ThemeName,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ProgressMessage`
[INFO] [stdout]  --> crates/core/src/tools/mod.rs:8:61
[INFO] [stdout]   |
[INFO] [stdout] 8 |     AssistantMessage, AttachmentMessage, ContentBlockParam, ProgressMessage, SystemMessage,
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SpinnerMode` and `ThemeName`
[INFO] [stdout]   --> crates/core/src/tools/mod.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::types::{QuerySource, SpinnerMode, ThemeName, ValidationResult};
[INFO] [stdout]    |                                 ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> crates/core/src/settings/sources.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> crates/core/src/settings/cache.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolPermissionRulesBySource`
[INFO] [stdout]  --> crates/core/src/state/mod.rs:7:49
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::permissions::{ToolPermissionContext, ToolPermissionRulesBySource};
[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: `AdditionalWorkingDirectory`
[INFO] [stdout]   --> crates/core/src/state/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     AdditionalWorkingDirectory, AttributionState, EffortValue, FileHistoryState, ThemeName,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ProgressMessage`
[INFO] [stdout]  --> crates/core/src/tools/mod.rs:8:61
[INFO] [stdout]   |
[INFO] [stdout] 8 |     AssistantMessage, AttachmentMessage, ContentBlockParam, ProgressMessage, SystemMessage,
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SpinnerMode` and `ThemeName`
[INFO] [stdout]   --> crates/core/src/tools/mod.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::types::{QuerySource, SpinnerMode, ThemeName, ValidationResult};
[INFO] [stdout]    |                                 ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> crates/core/src/settings/sources.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> crates/core/src/settings/cache.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tower-http v0.6.10
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking hyper-rustls v0.27.9
[INFO] [stderr]     Checking reqwest v0.13.3
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> crates/core/src/tools/mod.rs:328:9
[INFO] [stdout]     |
[INFO] [stdout] 328 |         context: &ToolUseContext,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> crates/core/src/commands/mod.rs:212:29
[INFO] [stdout]     |
[INFO] [stdout] 212 |             Command::Prompt(cmd) => true,
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> crates/core/src/tools/mod.rs:328:9
[INFO] [stdout]     |
[INFO] [stdout] 328 |         context: &ToolUseContext,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmd`
[INFO] [stdout]    --> crates/core/src/commands/mod.rs:212:29
[INFO] [stdout]     |
[INFO] [stdout] 212 |             Command::Prompt(cmd) => true,
[INFO] [stdout]     |                             ^^^ help: if this is intentional, prefix it with an underscore: `_cmd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> crates/core/src/settings/cache.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct CacheEntry {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 12 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CacheEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> crates/core/src/settings/cache.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | struct CacheEntry {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] 12 |     path: PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CacheEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cc-query v0.1.0 (/opt/rustwide/workdir/crates/query)
[INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stdout]   --> crates/query/src/engine.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[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: `std::sync::Arc`
[INFO] [stdout]  --> crates/query/src/streaming.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssistantMessage`, `StopReason`, and `UserMessage`
[INFO] [stdout]  --> crates/query/src/compaction.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     AssistantMessage, ContentBlockParam, Message, StopReason, SystemMessage, UserMessage,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^                              ^^^^^^^^^^                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stdout]   --> crates/query/src/engine.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[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: `std::sync::Arc`
[INFO] [stdout]  --> crates/query/src/streaming.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssistantMessage`, `StopReason`, and `UserMessage`
[INFO] [stdout]  --> crates/query/src/compaction.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     AssistantMessage, ContentBlockParam, Message, StopReason, SystemMessage, UserMessage,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^                              ^^^^^^^^^^                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/query/src/engine.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |             let mut current_model = config.model.clone();
[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]    --> crates/query/src/engine.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |             let mut current_model = config.model.clone();
[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 import: `Tool`
[INFO] [stdout]  --> crates/query/src/streaming.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::tools::{Tool, Tools, ToolUseContext};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tool`
[INFO] [stdout]  --> crates/query/src/streaming.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::tools::{Tool, Tools, ToolUseContext};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `max_consecutive_errors` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:259:29
[INFO] [stdout]     |
[INFO] [stdout] 259 | ...                   max_consecutive_errors += 1;
[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 `stream_had_error` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:260:29
[INFO] [stdout]     |
[INFO] [stdout] 260 | ...                   stream_had_error = true;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tool_use_id`
[INFO] [stdout]    --> crates/query/src/compaction.rs:298:21
[INFO] [stdout]     |
[INFO] [stdout] 298 |                     tool_use_id,
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: try ignoring the field: `tool_use_id: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `api_client` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct QueryEngine {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 158 |     api_client: ApiClient,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `max_consecutive_errors` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:259:29
[INFO] [stdout]     |
[INFO] [stdout] 259 | ...                   max_consecutive_errors += 1;
[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 `stream_had_error` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:260:29
[INFO] [stdout]     |
[INFO] [stdout] 260 | ...                   stream_had_error = true;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tool_use_id`
[INFO] [stdout]    --> crates/query/src/compaction.rs:298:21
[INFO] [stdout]     |
[INFO] [stdout] 298 |                     tool_use_id,
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: try ignoring the field: `tool_use_id: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cc-commands v0.1.0 (/opt/rustwide/workdir/crates/commands)
[INFO] [stderr]     Checking cc-tools v0.1.0 (/opt/rustwide/workdir/crates/tools)
[INFO] [stdout] warning: field `api_client` is never read
[INFO] [stdout]    --> crates/query/src/engine.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct QueryEngine {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 158 |     api_client: ApiClient,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> crates/commands/src/tier2/memory.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::Path;
[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: `std::path::Path`
[INFO] [stdout]  --> crates/commands/src/tier2/memory.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::Path;
[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 variable: `task_id`
[INFO] [stdout]    --> crates/tools/src/bash.rs:168:17
[INFO] [stdout]     |
[INFO] [stdout] 168 |             let task_id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_task_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: `task_id`
[INFO] [stdout]    --> crates/tools/src/bash.rs:168:17
[INFO] [stdout]     |
[INFO] [stdout] 168 |             let task_id = uuid::Uuid::new_v4().to_string();
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_task_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: `end`
[INFO] [stdout]    --> crates/tools/src/file_read.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let end = (start + limit).min(total_lines);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end`
[INFO] [stdout]    --> crates/tools/src/file_read.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let end = (start + limit).min(total_lines);
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> crates/tools/src/agent.rs:526:25
[INFO] [stdout]     |
[INFO] [stdout] 526 |                     for pattern in required {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abort_tx`
[INFO] [stdout]    --> crates/tools/src/agent.rs:681:14
[INFO] [stdout]     |
[INFO] [stdout] 681 |         let (abort_tx, abort_rx) = tokio::sync::watch::channel(false);
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_abort_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]    --> crates/tools/src/agent.rs:849:9
[INFO] [stdout]     |
[INFO] [stdout] 849 |         prompt: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]    --> crates/tools/src/agent.rs:945:69
[INFO] [stdout]     |
[INFO] [stdout] 945 | ...   ContentBlockParam::Thinking { thinking, signature } => serde_json::json!({"type": "thinking", "thinking": thinking}),
[INFO] [stdout]     |                                               ^^^^^^^^^ help: try ignoring the field: `signature: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_file`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1607:9
[INFO] [stdout]      |
[INFO] [stdout] 1607 |         output_file: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_manager`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1609:9
[INFO] [stdout]      |
[INFO] [stdout] 1609 |         color_manager: &Arc<AgentColorManager>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abort_tx`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1154:14
[INFO] [stdout]      |
[INFO] [stdout] 1154 |         let (abort_tx, abort_rx) = tokio::sync::watch::channel(false);
[INFO] [stdout]      |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_abort_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pattern`
[INFO] [stdout]    --> crates/tools/src/agent.rs:526:25
[INFO] [stdout]     |
[INFO] [stdout] 526 |                     for pattern in required {
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pattern`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_file`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1412:9
[INFO] [stdout]      |
[INFO] [stdout] 1412 |         output_file: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_manager`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1414:9
[INFO] [stdout]      |
[INFO] [stdout] 1414 |         color_manager: &Arc<AgentColorManager>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worktree_head`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1417:9
[INFO] [stdout]      |
[INFO] [stdout] 1417 |         worktree_head: Option<&str>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worktree_head`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transcript_path`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1563:13
[INFO] [stdout]      |
[INFO] [stdout] 1563 |         let transcript_path = Self::write_agent_transcript_static(
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transcript_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abort_tx`
[INFO] [stdout]    --> crates/tools/src/agent.rs:681:14
[INFO] [stdout]     |
[INFO] [stdout] 681 |         let (abort_tx, abort_rx) = tokio::sync::watch::channel(false);
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_abort_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1807:9
[INFO] [stdout]      |
[INFO] [stdout] 1807 |         prompt: &str,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1898:69
[INFO] [stdout]      |
[INFO] [stdout] 1898 | ...   ContentBlockParam::Thinking { thinking, signature } => serde_json::json!({"type": "thinking", "thinking": thinking}),
[INFO] [stdout]      |                                               ^^^^^^^^^ help: try ignoring the field: `signature: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]    --> crates/tools/src/agent.rs:849:9
[INFO] [stdout]     |
[INFO] [stdout] 849 |         prompt: &str,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]    --> crates/tools/src/agent.rs:945:69
[INFO] [stdout]     |
[INFO] [stdout] 945 | ...   ContentBlockParam::Thinking { thinking, signature } => serde_json::json!({"type": "thinking", "thinking": thinking}),
[INFO] [stdout]     |                                               ^^^^^^^^^ help: try ignoring the field: `signature: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_file`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1607:9
[INFO] [stdout]      |
[INFO] [stdout] 1607 |         output_file: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_manager`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1609:9
[INFO] [stdout]      |
[INFO] [stdout] 1609 |         color_manager: &Arc<AgentColorManager>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `abort_tx`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1154:14
[INFO] [stdout]      |
[INFO] [stdout] 1154 |         let (abort_tx, abort_rx) = tokio::sync::watch::channel(false);
[INFO] [stdout]      |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_abort_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_file`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1412:9
[INFO] [stdout]      |
[INFO] [stdout] 1412 |         output_file: &str,
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_manager`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1414:9
[INFO] [stdout]      |
[INFO] [stdout] 1414 |         color_manager: &Arc<AgentColorManager>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_manager`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `worktree_head`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1417:9
[INFO] [stdout]      |
[INFO] [stdout] 1417 |         worktree_head: Option<&str>,
[INFO] [stdout]      |         ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_worktree_head`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transcript_path`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1563:13
[INFO] [stdout]      |
[INFO] [stdout] 1563 |         let transcript_path = Self::write_agent_transcript_static(
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transcript_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `head_commit`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2413:52
[INFO] [stdout]      |
[INFO] [stdout] 2413 | async fn has_worktree_changes(worktree_path: &str, head_commit: &str) -> bool {
[INFO] [stdout]      |                                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_head_commit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1807:9
[INFO] [stdout]      |
[INFO] [stdout] 1807 |         prompt: &str,
[INFO] [stdout]      |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `signature`
[INFO] [stdout]     --> crates/tools/src/agent.rs:1898:69
[INFO] [stdout]      |
[INFO] [stdout] 1898 | ...   ContentBlockParam::Thinking { thinking, signature } => serde_json::json!({"type": "thinking", "thinking": thinking}),
[INFO] [stdout]      |                                               ^^^^^^^^^ help: try ignoring the field: `signature: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2590:54
[INFO] [stdout]      |
[INFO] [stdout] 2590 |                         ContentBlockParam::ToolUse { id, name, input } => {
[INFO] [stdout]      |                                                      ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2590:64
[INFO] [stdout]      |
[INFO] [stdout] 2590 |                         ContentBlockParam::ToolUse { id, name, input } => {
[INFO] [stdout]      |                                                                ^^^^^ help: try ignoring the field: `input: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2625:46
[INFO] [stdout]      |
[INFO] [stdout] 2625 |             cc_core::messages::Message::User(user) => {
[INFO] [stdout]      |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `head_commit`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2413:52
[INFO] [stdout]      |
[INFO] [stdout] 2413 | async fn has_worktree_changes(worktree_path: &str, head_commit: &str) -> bool {
[INFO] [stdout]      |                                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_head_commit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2590:54
[INFO] [stdout]      |
[INFO] [stdout] 2590 |                         ContentBlockParam::ToolUse { id, name, input } => {
[INFO] [stdout]      |                                                      ^^ help: try ignoring the field: `id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2590:64
[INFO] [stdout]      |
[INFO] [stdout] 2590 |                         ContentBlockParam::ToolUse { id, name, input } => {
[INFO] [stdout]      |                                                                ^^^^^ help: try ignoring the field: `input: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `user`
[INFO] [stdout]     --> crates/tools/src/agent.rs:2625:46
[INFO] [stdout]      |
[INFO] [stdout] 2625 |             cc_core::messages::Message::User(user) => {
[INFO] [stdout]      |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_user`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `original_prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3156:5
[INFO] [stdout]      |
[INFO] [stdout] 3156 |     original_prompt: &str,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `agent_type`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3368:5
[INFO] [stdout]      |
[INFO] [stdout] 3368 |     agent_type: &str,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3369:5
[INFO] [stdout]      |
[INFO] [stdout] 3369 |     prompt: &str,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3370:5
[INFO] [stdout]      |
[INFO] [stdout] 3370 |     model: &str,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `original_prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3156:5
[INFO] [stdout]      |
[INFO] [stdout] 3156 |     original_prompt: &str,
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PROGRESS_THRESHOLD_MS` is never used
[INFO] [stdout]   --> crates/tools/src/agent.rs:33:7
[INFO] [stdout]    |
[INFO] [stdout] 33 | const PROGRESS_THRESHOLD_MS: u64 = 2000;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `filter_agents_by_types`, `filter_by_mcp_requirements`, `generate_unique_name`, `run_sync_agent`, `run_async_agent`, and `run_async_agent_loop_with_options` are never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:495:8
[INFO] [stdout]      |
[INFO] [stdout]  458 | impl AgentTool {
[INFO] [stdout]      | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  495 |     fn filter_agents_by_types(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  509 |     async fn filter_by_mcp_requirements(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  581 |     async fn generate_unique_name(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  616 |     async fn run_sync_agent(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  961 |     async fn run_async_agent(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1599 |     async fn run_async_agent_loop_with_options(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_fork_examples` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:2720:4
[INFO] [stdout]      |
[INFO] [stdout] 2720 | fn format_fork_examples() -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_tmux_pane` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:2870:10
[INFO] [stdout]      |
[INFO] [stdout] 2870 | async fn split_tmux_pane(target: &str, vertical: bool) -> anyhow::Result<String> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_permission_mode_args` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:3074:4
[INFO] [stdout]      |
[INFO] [stdout] 3074 | fn build_permission_mode_args(permission_mode: &str) -> Vec<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_teammate_model` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:3085:4
[INFO] [stdout]      |
[INFO] [stdout] 3085 | fn resolve_teammate_model(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `agent_type`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3368:5
[INFO] [stdout]      |
[INFO] [stdout] 3368 |     agent_type: &str,
[INFO] [stdout]      |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prompt`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3369:5
[INFO] [stdout]      |
[INFO] [stdout] 3369 |     prompt: &str,
[INFO] [stdout]      |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prompt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `model`
[INFO] [stdout]     --> crates/tools/src/agent.rs:3370:5
[INFO] [stdout]      |
[INFO] [stdout] 3370 |     model: &str,
[INFO] [stdout]      |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_model`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `filter_agents_by_types`, `filter_by_mcp_requirements`, `generate_unique_name`, `run_sync_agent`, `run_async_agent`, and `run_async_agent_loop_with_options` are never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:495:8
[INFO] [stdout]      |
[INFO] [stdout]  458 | impl AgentTool {
[INFO] [stdout]      | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  495 |     fn filter_agents_by_types(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  509 |     async fn filter_by_mcp_requirements(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  581 |     async fn generate_unique_name(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  616 |     async fn run_sync_agent(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  961 |     async fn run_async_agent(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1599 |     async fn run_async_agent_loop_with_options(
[INFO] [stdout]      |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_fork_examples` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:2720:4
[INFO] [stdout]      |
[INFO] [stdout] 2720 | fn format_fork_examples() -> String {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `split_tmux_pane` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:2870:10
[INFO] [stdout]      |
[INFO] [stdout] 2870 | async fn split_tmux_pane(target: &str, vertical: bool) -> anyhow::Result<String> {
[INFO] [stdout]      |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_permission_mode_args` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:3074:4
[INFO] [stdout]      |
[INFO] [stdout] 3074 | fn build_permission_mode_args(permission_mode: &str) -> Vec<String> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_teammate_model` is never used
[INFO] [stdout]     --> crates/tools/src/agent.rs:3085:4
[INFO] [stdout]      |
[INFO] [stdout] 3085 | fn resolve_teammate_model(
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cc-tui v0.1.0 (/opt/rustwide/workdir/crates/tui)
[INFO] [stdout] warning: unused imports: `QueueableCommand` and `is_raw_mode_enabled`
[INFO] [stdout]   --> crates/tui/src/terminal.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 |         disable_raw_mode, enable_raw_mode, is_raw_mode_enabled, EnterAlternateScreen,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     ExecutableCommand, QueueableCommand,
[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 imports: `KeyboardEnhancementFlags`, `MediaKeyCode`, `ModifierKeyCode`, `MouseButton`, and `MouseEventKind`
[INFO] [stdout]  --> crates/tui/src/input.rs:5:74
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Event, KeyCode, KeyEvent, KeyEventKind, KeyEventState, KeyModifiers, KeyboardEnhancementFlags,
[INFO] [stdout]   |                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     MediaKeyCode, ModifierKeyCode, MouseButton, MouseEvent, MouseEventKind,
[INFO] [stdout]   |     ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `render_message_row`
[INFO] [stdout]  --> crates/tui/src/virtual_scroll.rs:8:55
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::messages::row::{RenderMessage, render_message_row};
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RiskLevel`
[INFO] [stdout]  --> crates/tui/src/main_loop.rs:8:44
[INFO] [stdout]   |
[INFO] [stdout] 8 | use cc_core::permissions::{PermissionMode, RiskLevel, ToolPermissionContext};
[INFO] [stdout]   |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossterm::event::Event`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crossterm::event::Event;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Borders`, `Constraint`, `Direction`, `Frame`, `Layout`, `Line`, `Modifier`, `Paragraph`, `Span`, `Style`, `Text`, and `Wrap`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |     layout::{Constraint, Direction, Layout},
[INFO] [stdout]    |              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 17 |     style::{Modifier, Style},
[INFO] [stdout]    |             ^^^^^^^^  ^^^^^
[INFO] [stdout] 18 |     text::{Line, Span, Text},
[INFO] [stdout]    |            ^^^^  ^^^^  ^^^^
[INFO] [stdout] 19 |     widgets::{Block, Borders, Paragraph, Wrap},
[INFO] [stdout]    |               ^^^^^  ^^^^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 20 |     Frame,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionDialogWidget` and `PermissionDialog`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:31:64
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::components::permissions::dialog::{PermissionAction, PermissionDialog, PermissionDialogWidget};
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Modifier`
[INFO] [stdout]  --> crates/tui/src/screens/repl.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Wrap`
[INFO] [stdout]  --> crates/tui/src/screens/repl.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::{Paragraph, Wrap};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::prompt_input::text_input::TextInputWidget`
[INFO] [stdout]   --> crates/tui/src/screens/repl.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::components::prompt_input::text_input::TextInputWidget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Wrap`
[INFO] [stdout]  --> crates/tui/src/screens/fullscreen.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::{Paragraph, Wrap};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::prompt_input::text_input::TextInputWidget`
[INFO] [stdout]   --> crates/tui/src/screens/fullscreen.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::components::prompt_input::text_input::TextInputWidget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Widget`
[INFO] [stdout]  --> crates/tui/src/components/box_widget.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets::{Paragraph, Widget, Wrap},
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Modifier`
[INFO] [stdout]  --> crates/tui/src/components/messages/row.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     style::{Color, Modifier, Style},
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 4 |     text::{Line, Span},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> crates/tui/src/components/messages/rate_limit.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 |     style::{Color, Style},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::box_widget::text_style`
[INFO] [stdout]  --> crates/tui/src/components/messages/rate_limit.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::box_widget::text_style;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> crates/tui/src/components/tool_use/loader.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 |     style::{Color, Modifier, Style},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Modifier`
[INFO] [stdout]  --> crates/tui/src/components/prompt_input/text_input.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, and `Layout`
[INFO] [stdout]  --> crates/tui/src/components/permissions/dialog.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ratatui::layout::{Constraint, Direction, Layout, Rect};
[INFO] [stdout]   |                       ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/ask_user.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/ask_user.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `QueueableCommand` and `is_raw_mode_enabled`
[INFO] [stdout]   --> crates/tui/src/terminal.rs:12:44
[INFO] [stdout]    |
[INFO] [stdout] 12 |         disable_raw_mode, enable_raw_mode, is_raw_mode_enabled, EnterAlternateScreen,
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     ExecutableCommand, QueueableCommand,
[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 imports: `KeyboardEnhancementFlags`, `MediaKeyCode`, `ModifierKeyCode`, `MouseButton`, and `MouseEventKind`
[INFO] [stdout]  --> crates/tui/src/input.rs:5:74
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Event, KeyCode, KeyEvent, KeyEventKind, KeyEventState, KeyModifiers, KeyboardEnhancementFlags,
[INFO] [stdout]   |                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     MediaKeyCode, ModifierKeyCode, MouseButton, MouseEvent, MouseEventKind,
[INFO] [stdout]   |     ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `render_message_row`
[INFO] [stdout]  --> crates/tui/src/virtual_scroll.rs:8:55
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::messages::row::{RenderMessage, render_message_row};
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RiskLevel`
[INFO] [stdout]  --> crates/tui/src/main_loop.rs:8:44
[INFO] [stdout]   |
[INFO] [stdout] 8 | use cc_core::permissions::{PermissionMode, RiskLevel, ToolPermissionContext};
[INFO] [stdout]   |                                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crossterm::event::Event`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crossterm::event::Event;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Borders`, `Constraint`, `Direction`, `Frame`, `Layout`, `Line`, `Modifier`, `Paragraph`, `Span`, `Style`, `Text`, and `Wrap`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 |     layout::{Constraint, Direction, Layout},
[INFO] [stdout]    |              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 17 |     style::{Modifier, Style},
[INFO] [stdout]    |             ^^^^^^^^  ^^^^^
[INFO] [stdout] 18 |     text::{Line, Span, Text},
[INFO] [stdout]    |            ^^^^  ^^^^  ^^^^
[INFO] [stdout] 19 |     widgets::{Block, Borders, Paragraph, Wrap},
[INFO] [stdout]    |               ^^^^^  ^^^^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 20 |     Frame,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PermissionDialogWidget` and `PermissionDialog`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:31:64
[INFO] [stdout]    |
[INFO] [stdout] 31 | use crate::components::permissions::dialog::{PermissionAction, PermissionDialog, PermissionDialogWidget};
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Modifier`
[INFO] [stdout]  --> crates/tui/src/screens/repl.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Wrap`
[INFO] [stdout]  --> crates/tui/src/screens/repl.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::{Paragraph, Wrap};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::prompt_input::text_input::TextInputWidget`
[INFO] [stdout]   --> crates/tui/src/screens/repl.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::components::prompt_input::text_input::TextInputWidget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Wrap`
[INFO] [stdout]  --> crates/tui/src/screens/fullscreen.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::{Paragraph, Wrap};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::prompt_input::text_input::TextInputWidget`
[INFO] [stdout]   --> crates/tui/src/screens/fullscreen.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::components::prompt_input::text_input::TextInputWidget;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Widget`
[INFO] [stdout]  --> crates/tui/src/components/box_widget.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 |     widgets::{Paragraph, Widget, Wrap},
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Modifier`
[INFO] [stdout]  --> crates/tui/src/components/messages/row.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     style::{Color, Modifier, Style},
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 4 |     text::{Line, Span},
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> crates/tui/src/components/messages/rate_limit.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 |     style::{Color, Style},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::box_widget::text_style`
[INFO] [stdout]  --> crates/tui/src/components/messages/rate_limit.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::box_widget::text_style;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> crates/tui/src/components/tool_use/loader.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 |     style::{Color, Modifier, Style},
[INFO] [stdout]   |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Modifier`
[INFO] [stdout]  --> crates/tui/src/components/prompt_input/text_input.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, and `Layout`
[INFO] [stdout]  --> crates/tui/src/components/permissions/dialog.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ratatui::layout::{Constraint, Direction, Layout, Rect};
[INFO] [stdout]   |                       ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/bash.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_edit.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/file_write.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Modifier` and `Style`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Modifier, Style};
[INFO] [stdout]   |                      ^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/filesystem.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> crates/tui/src/components/permissions/ask_user.rs:3:21
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::text::{Line, Span};
[INFO] [stdout]   |                     ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ratatui::widgets::Widget`
[INFO] [stdout]  --> crates/tui/src/components/permissions/ask_user.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::Widget;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> crates/tui/src/input.rs:375:26
[INFO] [stdout]     |
[INFO] [stdout] 375 |             Event::Paste(text) => Some(InputAction::InsertChar('\n')), // Placeholder
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:367:13
[INFO] [stdout]     |
[INFO] [stdout] 367 |             text,
[INFO] [stdout]     |             ^^^^ help: try ignoring the field: `text: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_end`
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:553:9
[INFO] [stdout]     |
[INFO] [stdout] 553 |     let y_end = area.y.min(buf.area.height.saturating_sub(1))
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action`
[INFO] [stdout]    --> crates/tui/src/main_loop.rs:413:25
[INFO] [stdout]     |
[INFO] [stdout] 413 |                     let action = if yes {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> crates/tui/src/input.rs:375:26
[INFO] [stdout]     |
[INFO] [stdout] 375 |             Event::Paste(text) => Some(InputAction::InsertChar('\n')), // Placeholder
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[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]    --> crates/tui/src/query_events.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |         if let (Some(id), Some(name)) = (self.current_tool_id.take(), self.current_tool_name.take()) {
[INFO] [stdout]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:367:13
[INFO] [stdout]     |
[INFO] [stdout] 367 |             text,
[INFO] [stdout]     |             ^^^^ help: try ignoring the field: `text: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `permission_context`
[INFO] [stdout]    --> crates/tui/src/query_events.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 |     permission_context: &ToolPermissionContext,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_permission_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dialog`
[INFO] [stdout]    --> crates/tui/src/query_events.rs:289:25
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     let dialog = PermissionDialog::new(
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_dialog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_end`
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:553:9
[INFO] [stdout]     |
[INFO] [stdout] 553 |     let y_end = area.y.min(buf.area.height.saturating_sub(1))
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action`
[INFO] [stdout]    --> crates/tui/src/main_loop.rs:413:25
[INFO] [stdout]     |
[INFO] [stdout] 413 |                     let action = if yes {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/onboarding.rs:511:76
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/trust_dialog.rs:108:76
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut buttons = vec![
[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: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:281:76
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/login.rs:258:76
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> crates/tui/src/query_events.rs:114:22
[INFO] [stdout]     |
[INFO] [stdout] 114 |         if let (Some(id), Some(name)) = (self.current_tool_id.take(), self.current_tool_name.take()) {
[INFO] [stdout]     |                      ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `columns`
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:157:30
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn render_compact(&self, columns: u16) -> Vec<Line<'static>> {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_columns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `permission_context`
[INFO] [stdout]    --> crates/tui/src/query_events.rs:175:5
[INFO] [stdout]     |
[INFO] [stdout] 175 |     permission_context: &ToolPermissionContext,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_permission_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dialog`
[INFO] [stdout]    --> crates/tui/src/query_events.rs:289:25
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     let dialog = PermissionDialog::new(
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_dialog`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:394:76
[INFO] [stdout]     |
[INFO] [stdout] 394 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/onboarding.rs:511:76
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:426:21
[INFO] [stdout]     |
[INFO] [stdout] 426 |                 let mut spans = vec![
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:442:76
[INFO] [stdout]     |
[INFO] [stdout] 442 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/trust_dialog.rs:108:76
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/autocomplete.rs:216:76
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let mut buttons = vec![
[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: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:281:76
[INFO] [stdout]     |
[INFO] [stdout] 281 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/login.rs:258:76
[INFO] [stdout]     |
[INFO] [stdout] 258 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `columns`
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:157:30
[INFO] [stdout]     |
[INFO] [stdout] 157 |     fn render_compact(&self, columns: u16) -> Vec<Line<'static>> {
[INFO] [stdout]     |                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_columns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/status_line.rs:261:76
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> crates/tui/src/components/permissions/dialog.rs:89:28
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn render_lines(&self, width: u16) -> Vec<Line<'static>> {
[INFO] [stdout]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:394:76
[INFO] [stdout]     |
[INFO] [stdout] 394 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/permissions/dialog.rs:193:76
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/tui/src/components/permissions/ask_user.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let mut preview = question.to_string();
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_style`
[INFO] [stdout]   --> crates/tui/src/components/permissions/ask_user.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let number_style = Style::default()
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:58:17
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let content_style = Style::default()
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hint_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let hint_style = Style::default()
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hint_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hint_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:95:25
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     let hint_style = Style::default()
[INFO] [stdout]    |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hint_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ScreenMode` is more private than the item `TuiApp::screen`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub screen: ScreenMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ field `TuiApp::screen` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ScreenMode` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | enum ScreenMode {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_FPS_TARGET` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const DEFAULT_FPS_TARGET: u32 = 30;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHIMMER_FAST_INTERVAL` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const SHIMMER_FAST_INTERVAL: Duration = Duration::from_millis(50);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REDUCED_MOTION_THRESHOLD` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const REDUCED_MOTION_THRESHOLD: Duration = Duration::from_millis(100);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:486:5
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub struct VirtualMessageListWidget<'a> {
[INFO] [stdout]     |            ------------------------ field in this struct
[INFO] [stdout] 485 |     list: &'a mut VirtualMessageList,
[INFO] [stdout] 486 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update` and `set_reduced_motion` are never used
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl ScreenMode {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn update(&mut self, state: &crate::state::AppState) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn set_reduced_motion(&mut self, enabled: bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/onboarding.rs:501:5
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub struct OnboardingWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 500 |     screen: &'a OnboardingScreen,
[INFO] [stdout] 501 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]   --> crates/tui/src/screens/trust_dialog.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct TrustDialogWidget<'a> {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 97 |     dialog: &'a TrustDialog,
[INFO] [stdout] 98 |     theme: &'a Theme,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub struct ResumePickerWidget<'a> {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 270 |     picker: &'a ResumePicker,
[INFO] [stdout] 271 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/login.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub struct LoginScreenWidget<'a> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 247 |     screen: &'a LoginScreen,
[INFO] [stdout] 248 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub struct LogoHeaderWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 382 |     header: &'a LogoHeader,
[INFO] [stdout] 383 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reduced_motion` is never read
[INFO] [stdout]   --> crates/tui/src/components/spinner/brief.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct BriefIdleStatus {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 74 |     reduced_motion: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STALL_FADE_DURATION` is never used
[INFO] [stdout]  --> crates/tui/src/components/spinner/stall_detection.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const STALL_FADE_DURATION: Duration = Duration::from_secs(2);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `show_footer_hint` is never read
[INFO] [stdout]   --> crates/tui/src/components/prompt_input/text_input.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct TextInput {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     show_footer_hint: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextInput` 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 `width` is never read
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:354:5
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub struct TextInputWidget<'a> {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 354 |     width: u16,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render_lines` is never used
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/footer.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl PromptFooter {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn render_lines(&self) -> Vec<Line<'static>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `theme_placeholder` is never used
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/footer.rs:199:4
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn theme_placeholder() -> Theme {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/components/status_line.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct StatusLineWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 250 |     status: &'a StatusLine,
[INFO] [stdout] 251 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `theme` and `area` are never read
[INFO] [stdout]    --> crates/tui/src/components/permissions/dialog.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct PermissionDialogWidget<'a> {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 181 |     dialog: &'a PermissionDialog,
[INFO] [stdout] 182 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 183 |     area: Rect,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/components/collapsible.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct CollapsibleWidget<'a> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 108 |     block: &'a CollapsibleBlock,
[INFO] [stdout] 109 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/tui/src/state.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn read_state(state: &SharedState) -> std::sync::RwLockReadGuard<AppState> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn read_state(state: &SharedState) -> std::sync::RwLockReadGuard<'_, AppState> {
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/tui/src/state.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn write_state(state: &SharedState) -> std::sync::RwLockWriteGuard<AppState> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn write_state(state: &SharedState) -> std::sync::RwLockWriteGuard<'_, AppState> {
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> crates/tui/src/components/box_widget.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn styled_paragraph(text: &str, style: Style, wrap: bool) -> Paragraph {
[INFO] [stdout]   |                               ^^^^ the lifetime is elided here   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn styled_paragraph(text: &str, style: Style, wrap: bool) -> Paragraph<'_> {
[INFO] [stdout]   |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/tui/src/components/text_widget.rs:117:20
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn to_span(&self) -> Span {
[INFO] [stdout]     |                    ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn to_span(&self) -> Span<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/tui/src/components/text_widget.rs:122:20
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn to_line(&self) -> Line {
[INFO] [stdout]     |                    ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn to_line(&self) -> Line<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:426:21
[INFO] [stdout]     |
[INFO] [stdout] 426 |                 let mut spans = vec![
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:442:76
[INFO] [stdout]     |
[INFO] [stdout] 442 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/autocomplete.rs:216:76
[INFO] [stdout]     |
[INFO] [stdout] 216 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/status_line.rs:261:76
[INFO] [stdout]     |
[INFO] [stdout] 261 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> crates/tui/src/components/permissions/dialog.rs:89:28
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn render_lines(&self, width: u16) -> Vec<Line<'static>> {
[INFO] [stdout]    |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> crates/tui/src/components/permissions/dialog.rs:193:76
[INFO] [stdout]     |
[INFO] [stdout] 193 |     fn render_themed(&self, area: Rect, buf: &mut ratatui::buffer::Buffer, theme: &Theme) {
[INFO] [stdout]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> crates/tui/src/components/permissions/ask_user.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let mut preview = question.to_string();
[INFO] [stdout]    |             ----^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `number_style`
[INFO] [stdout]   --> crates/tui/src/components/permissions/ask_user.rs:82:21
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 let number_style = Style::default()
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_number_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:58:17
[INFO] [stdout]    |
[INFO] [stdout] 58 |             let content_style = Style::default()
[INFO] [stdout]    |                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hint_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let hint_style = Style::default()
[INFO] [stdout]    |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hint_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hint_style`
[INFO] [stdout]   --> crates/tui/src/components/collapsible.rs:95:25
[INFO] [stdout]    |
[INFO] [stdout] 95 |                     let hint_style = Style::default()
[INFO] [stdout]    |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hint_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ScreenMode` is more private than the item `TuiApp::screen`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub screen: ScreenMode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ field `TuiApp::screen` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ScreenMode` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:33:1
[INFO] [stdout]    |
[INFO] [stdout] 33 | enum ScreenMode {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEFAULT_FPS_TARGET` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:3:7
[INFO] [stdout]   |
[INFO] [stdout] 3 | const DEFAULT_FPS_TARGET: u32 = 30;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SHIMMER_FAST_INTERVAL` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const SHIMMER_FAST_INTERVAL: Duration = Duration::from_millis(50);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REDUCED_MOTION_THRESHOLD` is never used
[INFO] [stdout]  --> crates/tui/src/animations.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const REDUCED_MOTION_THRESHOLD: Duration = Duration::from_millis(100);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/virtual_scroll.rs:486:5
[INFO] [stdout]     |
[INFO] [stdout] 484 | pub struct VirtualMessageListWidget<'a> {
[INFO] [stdout]     |            ------------------------ field in this struct
[INFO] [stdout] 485 |     list: &'a mut VirtualMessageList,
[INFO] [stdout] 486 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update` and `set_reduced_motion` are never used
[INFO] [stdout]   --> crates/tui/src/main_loop.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl ScreenMode {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     fn update(&mut self, state: &crate::state::AppState) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     fn set_reduced_motion(&mut self, enabled: bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/onboarding.rs:501:5
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub struct OnboardingWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 500 |     screen: &'a OnboardingScreen,
[INFO] [stdout] 501 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]   --> crates/tui/src/screens/trust_dialog.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct TrustDialogWidget<'a> {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 97 |     dialog: &'a TrustDialog,
[INFO] [stdout] 98 |     theme: &'a Theme,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/resume.rs:271:5
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub struct ResumePickerWidget<'a> {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 270 |     picker: &'a ResumePicker,
[INFO] [stdout] 271 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/login.rs:248:5
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub struct LoginScreenWidget<'a> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 247 |     screen: &'a LoginScreen,
[INFO] [stdout] 248 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/screens/logo_header.rs:383:5
[INFO] [stdout]     |
[INFO] [stdout] 381 | pub struct LogoHeaderWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 382 |     header: &'a LogoHeader,
[INFO] [stdout] 383 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reduced_motion` is never read
[INFO] [stdout]   --> crates/tui/src/components/spinner/brief.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct BriefIdleStatus {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 74 |     reduced_motion: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STALL_FADE_DURATION` is never used
[INFO] [stdout]  --> crates/tui/src/components/spinner/stall_detection.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const STALL_FADE_DURATION: Duration = Duration::from_secs(2);
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `show_footer_hint` is never read
[INFO] [stdout]   --> crates/tui/src/components/prompt_input/text_input.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct TextInput {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     show_footer_hint: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TextInput` 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 `width` is never read
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/text_input.rs:354:5
[INFO] [stdout]     |
[INFO] [stdout] 351 | pub struct TextInputWidget<'a> {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 354 |     width: u16,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render_lines` is never used
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/footer.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl PromptFooter {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn render_lines(&self) -> Vec<Line<'static>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `theme_placeholder` is never used
[INFO] [stdout]    --> crates/tui/src/components/prompt_input/footer.rs:199:4
[INFO] [stdout]     |
[INFO] [stdout] 199 | fn theme_placeholder() -> Theme {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/components/status_line.rs:251:5
[INFO] [stdout]     |
[INFO] [stdout] 249 | pub struct StatusLineWidget<'a> {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 250 |     status: &'a StatusLine,
[INFO] [stdout] 251 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `theme` and `area` are never read
[INFO] [stdout]    --> crates/tui/src/components/permissions/dialog.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct PermissionDialogWidget<'a> {
[INFO] [stdout]     |            ---------------------- fields in this struct
[INFO] [stdout] 181 |     dialog: &'a PermissionDialog,
[INFO] [stdout] 182 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 183 |     area: Rect,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `theme` is never read
[INFO] [stdout]    --> crates/tui/src/components/collapsible.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct CollapsibleWidget<'a> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 108 |     block: &'a CollapsibleBlock,
[INFO] [stdout] 109 |     theme: &'a Theme,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/tui/src/state.rs:14:26
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn read_state(state: &SharedState) -> std::sync::RwLockReadGuard<AppState> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn read_state(state: &SharedState) -> std::sync::RwLockReadGuard<'_, AppState> {
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> crates/tui/src/state.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn write_state(state: &SharedState) -> std::sync::RwLockWriteGuard<AppState> {
[INFO] [stdout]    |                           ^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn write_state(state: &SharedState) -> std::sync::RwLockWriteGuard<'_, AppState> {
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> crates/tui/src/components/box_widget.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn styled_paragraph(text: &str, style: Style, wrap: bool) -> Paragraph {
[INFO] [stdout]   |                               ^^^^ the lifetime is elided here   ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn styled_paragraph(text: &str, style: Style, wrap: bool) -> Paragraph<'_> {
[INFO] [stdout]   |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/tui/src/components/text_widget.rs:117:20
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn to_span(&self) -> Span {
[INFO] [stdout]     |                    ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn to_span(&self) -> Span<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> crates/tui/src/components/text_widget.rs:122:20
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn to_line(&self) -> Line {
[INFO] [stdout]     |                    ^^^^^     ^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub fn to_line(&self) -> Line<'_> {
[INFO] [stdout]     |                                  ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cc-services v0.1.0 (/opt/rustwide/workdir/crates/services)
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> crates/services/src/api.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[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: `async_trait::async_trait`
[INFO] [stdout]  --> crates/services/src/compact.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AssistantMessage`
[INFO] [stdout]  --> crates/services/src/compact.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::messages::{AssistantMessage, ContentBlockParam, Message, UserMessage};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]  --> crates/services/src/compact.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/analytics.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/plugins.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/plugins.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> crates/services/src/lsp.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/lsp.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/lsp.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/team_memory_sync.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/extract_memories.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> crates/services/src/api.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, info, warn};
[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: `async_trait::async_trait`
[INFO] [stdout]  --> crates/services/src/compact.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AssistantMessage`
[INFO] [stdout]  --> crates/services/src/compact.rs:4:25
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::messages::{AssistantMessage, ContentBlockParam, Message, UserMessage};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]  --> crates/services/src/compact.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/analytics.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/plugins.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/plugins.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> crates/services/src/lsp.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/lsp.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/lsp.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/services/src/team_memory_sync.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/services/src/extract_memories.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/services/src/lsp.rs:161:16
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Ok(mut child) => {
[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]    --> crates/services/src/lsp.rs:161:16
[INFO] [stdout]     |
[INFO] [stdout] 161 |             Ok(mut child) => {
[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] [stderr]     Checking cc-bridge v0.1.0 (/opt/rustwide/workdir/crates/bridge)
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/daemon.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[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: `debug`
[INFO] [stdout]  --> crates/bridge/src/daemon.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stdout]  --> crates/bridge/src/messaging.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/permission_callbacks.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PermissionBehavior`
[INFO] [stdout]  --> crates/bridge/src/permission_callbacks.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::permissions::{PermissionBehavior, PermissionMode, PermissionResult};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/repl_bridge.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/session_runner.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/bridge/src/session_runner.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> crates/bridge/src/jwt_utils.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                      ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/transport.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> crates/bridge/src/transport.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/daemon.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[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: `debug`
[INFO] [stdout]  --> crates/bridge/src/daemon.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> crates/services/src/compact.rs:440:17
[INFO] [stdout]     |
[INFO] [stdout] 440 |         assert!(service.total_tokens_saved().await >= 0);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug`, `info`, and `warn`
[INFO] [stdout]  --> crates/bridge/src/messaging.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PermissionBehavior`
[INFO] [stdout]  --> crates/bridge/src/permission_callbacks.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cc_core::permissions::{PermissionBehavior, PermissionMode, PermissionResult};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/repl_bridge.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/session_runner.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> crates/bridge/src/session_runner.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, info, warn};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `warn`
[INFO] [stdout]  --> crates/bridge/src/jwt_utils.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                      ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> crates/bridge/src/transport.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> crates/bridge/src/transport.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{debug, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request` is never read
[INFO] [stdout]   --> crates/bridge/src/permission_callbacks.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct PendingPermissionRequest {
[INFO] [stdout]    |        ------------------------ field in this struct
[INFO] [stdout] 50 |     pub request: PermissionCallbackRequest,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingPermissionRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `content`, `sent_at`, and `attempts` are never read
[INFO] [stdout]   --> crates/bridge/src/repl_bridge.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct PendingMessage {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 61 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 62 |     content: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 63 |     sent_at: Instant,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 64 |     attempts: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cc-cli v0.1.0 (/opt/rustwide/workdir/crates/cli)
[INFO] [stdout] warning: unused variable: `shutdown`
[INFO] [stdout]    --> crates/cli/src/main.rs:254:9
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let shutdown = session::GracefulShutdown::new();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shutdown`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_permission_mode` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub fn get_permission_mode(cli: &Cli) -> Option<PermissionModeArg> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_model` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:360:8
[INFO] [stdout]     |
[INFO] [stdout] 360 | pub fn get_model(cli: &Cli) -> Option<&str> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_effort` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:365:8
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub fn get_effort(cli: &Cli) -> Option<EffortArg> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_thinking_mode` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:370:8
[INFO] [stdout]     |
[INFO] [stdout] 370 | pub fn get_thinking_mode(cli: &Cli) -> Option<ThinkingModeArg> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_debug` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:375:8
[INFO] [stdout]     |
[INFO] [stdout] 375 | pub fn is_debug(cli: &Cli) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_bare` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:380:8
[INFO] [stdout]     |
[INFO] [stdout] 380 | pub fn is_bare(cli: &Cli) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `append_message`, `update_meta`, and `is_active` are never used
[INFO] [stdout]    --> crates/cli/src/session.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl Session {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn append_message(&self, message: &serde_json::Value) -> anyhow::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn update_meta(&mut self, meta: &SessionMeta) -> anyhow::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn is_active(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shutdown_requested` is never read
[INFO] [stdout]    --> crates/cli/src/session.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub struct GracefulShutdown {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 275 |     shutdown_requested: AtomicBool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_shutdown`, `is_shutdown_requested`, and `wait_for_signal` are never used
[INFO] [stdout]    --> crates/cli/src/session.rs:286:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | impl GracefulShutdown {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn request_shutdown(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     pub fn is_shutdown_requested(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub async fn wait_for_signal(&self) -> anyhow::Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shutdown`
[INFO] [stdout]    --> crates/cli/src/main.rs:254:9
[INFO] [stdout]     |
[INFO] [stdout] 254 |     let shutdown = session::GracefulShutdown::new();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_shutdown`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_permission_mode` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:355:8
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub fn get_permission_mode(cli: &Cli) -> Option<PermissionModeArg> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_model` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:360:8
[INFO] [stdout]     |
[INFO] [stdout] 360 | pub fn get_model(cli: &Cli) -> Option<&str> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_effort` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:365:8
[INFO] [stdout]     |
[INFO] [stdout] 365 | pub fn get_effort(cli: &Cli) -> Option<EffortArg> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_thinking_mode` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:370:8
[INFO] [stdout]     |
[INFO] [stdout] 370 | pub fn get_thinking_mode(cli: &Cli) -> Option<ThinkingModeArg> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_debug` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:375:8
[INFO] [stdout]     |
[INFO] [stdout] 375 | pub fn is_debug(cli: &Cli) -> bool {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_bare` is never used
[INFO] [stdout]    --> crates/cli/src/cli_args.rs:380:8
[INFO] [stdout]     |
[INFO] [stdout] 380 | pub fn is_bare(cli: &Cli) -> bool {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `append_message`, `update_meta`, and `is_active` are never used
[INFO] [stdout]    --> crates/cli/src/session.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout]  90 | impl Session {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn append_message(&self, message: &serde_json::Value) -> anyhow::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn update_meta(&mut self, meta: &SessionMeta) -> anyhow::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     pub fn is_active(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `shutdown_requested` is never read
[INFO] [stdout]    --> crates/cli/src/session.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub struct GracefulShutdown {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 275 |     shutdown_requested: AtomicBool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `request_shutdown`, `is_shutdown_requested`, and `wait_for_signal` are never used
[INFO] [stdout]    --> crates/cli/src/session.rs:286:12
[INFO] [stdout]     |
[INFO] [stdout] 278 | impl GracefulShutdown {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn request_shutdown(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 291 |     pub fn is_shutdown_requested(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub async fn wait_for_signal(&self) -> anyhow::Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `request` is never read
[INFO] [stdout]   --> crates/bridge/src/permission_callbacks.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct PendingPermissionRequest {
[INFO] [stdout]    |        ------------------------ field in this struct
[INFO] [stdout] 50 |     pub request: PermissionCallbackRequest,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingPermissionRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `content`, `sent_at`, and `attempts` are never read
[INFO] [stdout]   --> crates/bridge/src/repl_bridge.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct PendingMessage {
[INFO] [stdout]    |        -------------- fields in this struct
[INFO] [stdout] 61 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 62 |     content: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 63 |     sent_at: Instant,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 64 |     attempts: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PendingMessage` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `cc-services`
[INFO] [stderr]  --> crates/bridge/Cargo.toml:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | cc-services.workspace = true
[INFO] [stderr]   | ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `cc-services`
[INFO] [stderr] warning: `cc-bridge` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `cc-bridge`
[INFO] [stderr]   --> crates/cli/Cargo.toml:16:1
[INFO] [stderr]    |
[INFO] [stderr] 16 | cc-bridge.workspace = true
[INFO] [stderr]    | ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `cc-bridge`
[INFO] [stderr] warning: `cc-cli` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `ratatui`
[INFO] [stderr]   --> crates/commands/Cargo.toml:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | ratatui = "0.29"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `ratatui`
[INFO] [stderr] warning: `cc-commands` (manifest) generated 1 warning
[INFO] [stderr] warning: unused dependency `indexmap`
[INFO] [stderr]   --> crates/core/Cargo.toml:17:1
[INFO] [stderr]    |
[INFO] [stderr] 17 | indexmap.workspace = true
[INFO] [stderr]    | ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `indexmap`
[INFO] [stderr] warning: unused dependency `schemars`
[INFO] [stderr]   --> crates/core/Cargo.toml:13:1
[INFO] [stderr]    |
[INFO] [stderr] 13 | schemars.workspace = true
[INFO] [stderr]    | ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `schemars`
[INFO] [stderr] warning: unused dependency `tracing`
[INFO] [stderr]   --> crates/core/Cargo.toml:16:1
[INFO] [stderr]    |
[INFO] [stderr] 16 | tracing.workspace = true
[INFO] [stderr]    | ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `tracing`
[INFO] [stderr] warning: `cc-core` (manifest) generated 3 warnings
[INFO] [stderr] warning: unused dependency `instant`
[INFO] [stderr]   --> crates/tui/Cargo.toml:37:1
[INFO] [stderr]    |
[INFO] [stderr] 37 | instant = "0.1"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `instant`
[INFO] [stderr] warning: `cc-tui` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 44s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.31.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "34cc5b30c13f1f8e7296d7497b69f46815ce972c8215ccbd86294cff3384e35d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34cc5b30c13f1f8e7296d7497b69f46815ce972c8215ccbd86294cff3384e35d", kill_on_drop: false }`
[INFO] [stdout] 34cc5b30c13f1f8e7296d7497b69f46815ce972c8215ccbd86294cff3384e35d
