[INFO] fetching crate osmogrep 0.3.0...
[INFO] checking osmogrep-0.3.0 against try#d0ab665d12770dbaae620b539ee4319b83445f45 for pr-133502-24
[INFO] extracting crate osmogrep 0.3.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate osmogrep 0.3.0
[INFO] finished tweaking crates.io crate osmogrep 0.3.0
[INFO] tweaked toml for crates.io crate osmogrep 0.3.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate osmogrep 0.3.0 on toolchain d0ab665d12770dbaae620b539ee4319b83445f45
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d0ab665d12770dbaae620b539ee4319b83445f45" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate osmogrep 0.3.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d0ab665d12770dbaae620b539ee4319b83445f45" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c586eb9276372314f38692561af9cf473f1372e759d16cd229726b1baf9ad239
[INFO] running `Command { std: "docker" "start" "c586eb9276372314f38692561af9cf473f1372e759d16cd229726b1baf9ad239", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c586eb9276372314f38692561af9cf473f1372e759d16cd229726b1baf9ad239", 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" "c586eb9276372314f38692561af9cf473f1372e759d16cd229726b1baf9ad239" "/opt/rustwide/cargo-home/bin/cargo" "+d0ab665d12770dbaae620b539ee4319b83445f45" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c586eb9276372314f38692561af9cf473f1372e759d16cd229726b1baf9ad239", 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" "c586eb9276372314f38692561af9cf473f1372e759d16cd229726b1baf9ad239" "/opt/rustwide/cargo-home/bin/cargo" "+d0ab665d12770dbaae620b539ee4319b83445f45" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling cc v1.2.49
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]     Checking bytes v1.11.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking serde_core v1.0.228
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking indexmap v2.12.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling tree-sitter v0.22.6
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking signal-hook-registry v1.4.7
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking regex-syntax v0.8.8
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking flate2 v1.1.8
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking weezl v0.1.12
[INFO] [stderr]    Compiling zmij v1.0.8
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking lebe v0.5.3
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]     Checking bit_field v0.10.3
[INFO] [stderr]    Compiling serde_json v1.0.148
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking gif v0.13.3
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]     Checking jpeg-decoder v0.3.2
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking crossterm v0.27.0
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking rgb v0.8.52
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]    Compiling tree-sitter-python v0.21.0
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]    Compiling tree-sitter-rust v0.21.2
[INFO] [stderr]    Compiling blake3 v1.8.3
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking winnow v0.7.14
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking clap_lex v0.7.6
[INFO] [stderr]     Checking iri-string v0.7.10
[INFO] [stderr]     Checking compact_str v0.7.1
[INFO] [stderr]     Checking clap_builder v4.5.53
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.33
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking tempfile v3.24.0
[INFO] [stderr]    Compiling stability v0.2.1
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]     Checking hyper-util v0.1.19
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking rustls-pki-types v1.13.2
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking ansi_colours v1.2.3
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking constant_time_eq v0.4.2
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking clap v4.5.53
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking uuid v1.19.0
[INFO] [stderr]     Checking sysinfo v0.37.2
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking reqwest v0.12.28
[INFO] [stderr]     Checking ratatui v0.26.3
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking viuer v0.7.1
[INFO] [stderr]     Checking osmogrep v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/context/indexer.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::{Path, PathBuf};
[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: `DisableMouseCapture` and `EnableMouseCapture`
[INFO] [stdout]   --> src/main.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crossterm::event::{EnableMouseCapture, DisableMouseCapture};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/context/indexer.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::path::{Path, PathBuf};
[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: `DisableMouseCapture` and `EnableMouseCapture`
[INFO] [stdout]   --> src/main.rs:24:24
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crossterm::event::{EnableMouseCapture, DisableMouseCapture};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `last_was_user` is assigned to, but never used
[INFO] [stdout]    --> src/ui/tui.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |     let mut last_was_user = false;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_last_was_user` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_was_user` is never read
[INFO] [stdout]    --> src/ui/tui.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |             last_was_user = true;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 236 |         last_was_user = false;
[INFO] [stdout]     |         --------------------- `last_was_user` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_was_user` is never read
[INFO] [stdout]    --> src/ui/tui.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 226 |             last_was_user = false;
[INFO] [stdout]     |             --------------------- `last_was_user` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 236 |         last_was_user = false;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_was_user` is never read
[INFO] [stdout]    --> src/ui/tui.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |             last_was_user = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root`
[INFO] [stdout]    --> src/context/indexer.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 |     root: &Path,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_root`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root`
[INFO] [stdout]    --> src/context/indexer.rs:333:5
[INFO] [stdout]     |
[INFO] [stdout] 333 |     root: &Path,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_root`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |         if let Some(mut rx) = context_rx.take() {
[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: value assigned to `context_rx` is never read
[INFO] [stdout]    --> src/main.rs:89:64
[INFO] [stdout]     |
[INFO] [stdout]  89 |     let mut context_rx: Option<mpsc::Receiver<ContextEvent>> = None;
[INFO] [stdout]     |                                                                ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 context_rx = Some(rx);
[INFO] [stdout]     |                 ---------- `context_rx` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `level` and `at` are never read
[INFO] [stdout]   --> src/state.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct LogLine {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 25 |     pub level: LogLevel,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 26 |     pub text: String,
[INFO] [stdout] 27 |     pub at: Instant,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogLine` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/state.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl LogBuffer {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tool` is never read
[INFO] [stdout]   --> src/state.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct DiffSnapshot {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 68 |     pub tool: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiffSnapshot` 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 `started_at` is never read
[INFO] [stdout]    --> src/state.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct AgentState {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub started_at: Instant,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_hint`, `set_autocomplete`, `push_log`, and `start_spinner` are never used
[INFO] [stdout]    --> src/state.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl AgentState {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn set_hint(&mut self, hint: impl Into<String>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn set_autocomplete(&mut self, text: impl Into<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn push_log(&mut self, level: LogLevel, text: impl Into<String>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn start_spinner(&mut self, text: impl Into<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `last_was_user` is assigned to, but never used
[INFO] [stdout]    --> src/ui/tui.rs:209:9
[INFO] [stdout]     |
[INFO] [stdout] 209 |     let mut last_was_user = false;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_last_was_user` instead
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_was_user` is never read
[INFO] [stdout]    --> src/ui/tui.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |             last_was_user = true;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 236 |         last_was_user = false;
[INFO] [stdout]     |         --------------------- `last_was_user` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_was_user` is never read
[INFO] [stdout]    --> src/ui/tui.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 226 |             last_was_user = false;
[INFO] [stdout]     |             --------------------- `last_was_user` is overwritten here before the previous value is read
[INFO] [stdout] ...
[INFO] [stdout] 236 |         last_was_user = false;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `last_was_user` is never read
[INFO] [stdout]    --> src/ui/tui.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |             last_was_user = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root`
[INFO] [stdout]    --> src/context/indexer.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 |     root: &Path,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_root`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `root`
[INFO] [stdout]    --> src/context/indexer.rs:333:5
[INFO] [stdout]     |
[INFO] [stdout] 333 |     root: &Path,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_root`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:122:21
[INFO] [stdout]     |
[INFO] [stdout] 122 |         if let Some(mut rx) = context_rx.take() {
[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: value assigned to `context_rx` is never read
[INFO] [stdout]    --> src/main.rs:89:64
[INFO] [stdout]     |
[INFO] [stdout]  89 |     let mut context_rx: Option<mpsc::Receiver<ContextEvent>> = None;
[INFO] [stdout]     |                                                                ^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 158 |                 context_rx = Some(rx);
[INFO] [stdout]     |                 ---------- `context_rx` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `level` and `at` are never read
[INFO] [stdout]   --> src/state.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct LogLine {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 25 |     pub level: LogLevel,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 26 |     pub text: String,
[INFO] [stdout] 27 |     pub at: Instant,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LogLine` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/state.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl LogBuffer {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tool` is never read
[INFO] [stdout]   --> src/state.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct DiffSnapshot {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 68 |     pub tool: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiffSnapshot` 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 `started_at` is never read
[INFO] [stdout]    --> src/state.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub struct AgentState {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub started_at: Instant,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_hint`, `set_autocomplete`, `push_log`, and `start_spinner` are never used
[INFO] [stdout]    --> src/state.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl AgentState {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn set_hint(&mut self, hint: impl Into<String>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn set_autocomplete(&mut self, text: impl Into<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn push_log(&mut self, level: LogLevel, text: impl Into<String>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn start_spinner(&mut self, text: impl Into<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 13s
[INFO] running `Command { std: "docker" "inspect" "c586eb9276372314f38692561af9cf473f1372e759d16cd229726b1baf9ad239", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c586eb9276372314f38692561af9cf473f1372e759d16cd229726b1baf9ad239", kill_on_drop: false }`
[INFO] [stdout] c586eb9276372314f38692561af9cf473f1372e759d16cd229726b1baf9ad239
