[INFO] fetching crate termedit 0.1.5...
[INFO] checking termedit-0.1.5 against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] extracting crate termedit 0.1.5 into /workspace/builds/worker-2-tc1/source
[INFO] started tweaking crates.io crate termedit 0.1.5
[INFO] finished tweaking crates.io crate termedit 0.1.5
[INFO] tweaked toml for crates.io crate termedit 0.1.5 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate termedit 0.1.5 on toolchain 5c543b0b8c73c7b72bc8284ced4fb22ead15734d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate termedit 0.1.5 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" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tree-sitter-javascript v0.23.1
[INFO] [stderr]   Downloaded tree-sitter-go v0.23.4
[INFO] [stderr]   Downloaded tree-sitter-python v0.23.6
[INFO] [stderr]   Downloaded openssh-sftp-protocol v0.24.1
[INFO] [stderr]   Downloaded tree-sitter v0.24.7
[INFO] [stderr]   Downloaded sysinfo v0.33.1
[INFO] [stderr]   Downloaded tokio-io-utility v0.7.6
[INFO] [stderr]   Downloaded openssh-sftp-error v0.4.0
[INFO] [stderr]   Downloaded awaitable-error v0.1.0
[INFO] [stderr]   Downloaded tree-sitter-rust v0.23.3
[INFO] [stderr]   Downloaded openssh-sftp-client v0.14.6
[INFO] [stderr]   Downloaded ssh_format_error v0.1.0
[INFO] [stderr]   Downloaded openssh-sftp-protocol-error v0.1.1
[INFO] [stderr]   Downloaded openssh-sftp-client-lowlevel v0.6.0
[INFO] [stderr]   Downloaded ssh_format v0.14.1
[INFO] [stderr]   Downloaded vec-strings v0.4.8
[INFO] [stderr]   Downloaded tree-sitter-typescript v0.23.2
[INFO] [stderr]   Downloaded awaitable v0.4.0
[INFO] [stderr]   Downloaded openssh v0.10.5
[INFO] [stderr]   Downloaded tokio-pipe v0.2.12
[INFO] [stderr]   Downloaded derive_destructure2 v0.1.3
[INFO] [stderr]   Downloaded concurrent_arena v0.1.11
[INFO] [stderr]   Downloaded portable-atomic-util v0.2.6
[INFO] [stderr]   Downloaded diffy v0.4.2
[INFO] [stderr]   Downloaded zune-jpeg v0.5.13
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 8dafae9a85d61e9e4411c204c6a4f9e2ee3c525f4f4e8183824e8816ff4c2a9f
[INFO] running `Command { std: "docker" "start" "8dafae9a85d61e9e4411c204c6a4f9e2ee3c525f4f4e8183824e8816ff4c2a9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8dafae9a85d61e9e4411c204c6a4f9e2ee3c525f4f4e8183824e8816ff4c2a9f", 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" "8dafae9a85d61e9e4411c204c6a4f9e2ee3c525f4f4e8183824e8816ff4c2a9f" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8dafae9a85d61e9e4411c204c6a4f9e2ee3c525f4f4e8183824e8816ff4c2a9f", 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" "8dafae9a85d61e9e4411c204c6a4f9e2ee3c525f4f4e8183824e8816ff4c2a9f" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]     Checking stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking litemap v0.8.1
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking writeable v0.6.2
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking rustls-pki-types v1.14.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking itoa v1.0.17
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking utf8_iter v1.0.4
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking pxfm v0.1.28
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]    Compiling tree-sitter-typescript v0.23.2
[INFO] [stderr]    Compiling tree-sitter-python v0.23.6
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]    Compiling tree-sitter-rust v0.23.3
[INFO] [stderr]    Compiling tree-sitter-go v0.23.4
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]    Compiling tree-sitter-javascript v0.23.1
[INFO] [stderr]    Compiling tree-sitter v0.24.7
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking webpki-roots v1.0.6
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking clap_builder v4.6.0
[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]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking rustls-webpki v0.103.9
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking env_filter v1.0.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking webpki-roots v0.26.11
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking streaming-iterator v0.1.9
[INFO] [stderr]     Checking jiff v0.2.23
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking str_indices v0.4.4
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]     Checking ureq v2.12.1
[INFO] [stderr]     Checking ropey v1.6.1
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking clap v4.6.0
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking env_logger v0.11.9
[INFO] [stderr]     Checking termedit v0.1.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:717:13
[INFO] [stdout]     |
[INFO] [stdout] 717 |         let mut path = Self::expand_user_path(trimmed);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/app.rs:1543:25
[INFO] [stdout]      |
[INFO] [stdout] 1543 |                     let mut is_remote = false;
[INFO] [stdout]      |                         ----^^^^^^^^^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/app.rs:717:13
[INFO] [stdout]     |
[INFO] [stdout] 717 |         let mut path = Self::expand_user_path(trimmed);
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/app.rs:1543:25
[INFO] [stdout]      |
[INFO] [stdout] 1543 |                     let mut is_remote = false;
[INFO] [stdout]      |                         ----^^^^^^^^^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let mut is_ssh = false;
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |     let mut ssh_target: Option<String> = None;
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]    --> src/main.rs:193:36
[INFO] [stdout]     |
[INFO] [stdout] 193 |     if let Some(SubCommand::Logs { file, from_start, gemini_api_key, ai_model }) = cli.command {
[INFO] [stdout]     |                                    ^^^^ help: try ignoring the field: `file: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_start`
[INFO] [stdout]    --> src/main.rs:193:42
[INFO] [stdout]     |
[INFO] [stdout] 193 |     if let Some(SubCommand::Logs { file, from_start, gemini_api_key, ai_model }) = cli.command {
[INFO] [stdout]     |                                          ^^^^^^^^^^ help: try ignoring the field: `from_start: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gemini_api_key`
[INFO] [stdout]    --> src/main.rs:193:54
[INFO] [stdout]     |
[INFO] [stdout] 193 |     if let Some(SubCommand::Logs { file, from_start, gemini_api_key, ai_model }) = cli.command {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^ help: try ignoring the field: `gemini_api_key: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ai_model`
[INFO] [stdout]    --> src/main.rs:193:70
[INFO] [stdout]     |
[INFO] [stdout] 193 |     if let Some(SubCommand::Logs { file, from_start, gemini_api_key, ai_model }) = cli.command {
[INFO] [stdout]     |                                                                      ^^^^^^^^ help: try ignoring the field: `ai_model: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ssh_target`
[INFO] [stdout]    --> src/main.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |     let mut ssh_target: Option<String> = None;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ssh_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/main.rs:226:35
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let Some(SubCommand::Ssh { target }) = &cli.command {
[INFO] [stdout]     |                                   ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Indent`, `MouseClick`, `MouseDrag`, and `MouseScroll` are never constructed
[INFO] [stdout]   --> src/config/keymap.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum Action {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 50 |     Indent,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     MouseClick(u16, u16),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 97 |     MouseDrag(u16, u16),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 98 |     MouseScroll(i16),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Action` 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 `name` is never read
[INFO] [stdout]   --> src/config/theme.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Theme {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 16 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Theme` 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: fields `added` and `modified` are never read
[INFO] [stdout]   --> src/config/theme.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct GitColors {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 59 |     pub added: Color,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 60 |     pub modified: Color,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GitColors` 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: variant `Block` is never constructed
[INFO] [stdout]   --> src/core/cursor.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum SelectionMode {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |     Block,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SelectionMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `at` is never used
[INFO] [stdout]   --> src/core/cursor.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl Cursor {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn at(line: usize, col: usize) -> Self {
[INFO] [stdout]    |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `can_undo`, `can_redo`, `clear`, and `undo_count` are never used
[INFO] [stdout]    --> src/core/history.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl History {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 198 |     pub fn can_undo(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn can_redo(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     pub fn undo_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ThemeNotFound`, `Clipboard`, and `Terminal` are never constructed
[INFO] [stdout]   --> src/error.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum TermEditError {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 14 |     ThemeNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     Clipboard(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     Terminal(String),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TermEditError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> src/feature/gemini_chat.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 158 | struct ApiErrorInner {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] 159 |     message: Option<String>,
[INFO] [stdout] 160 |     code: Option<i32>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `literal` and `case_insensitive` are never used
[INFO] [stdout]   --> src/feature/search.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl SearchConfig {
[INFO] [stdout]    | ----------------- associated functions in this implementation
[INFO] [stdout] 35 |     /// Create a new literal search.
[INFO] [stdout] 36 |     pub fn literal(pattern: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn case_insensitive(pattern: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_whole_word`, `find_nearest`, and `is_match_at` are never used
[INFO] [stdout]    --> src/feature/search.rs:307:8
[INFO] [stdout]     |
[INFO] [stdout] 266 | impl Search {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 307 |     fn is_whole_word(&self, text: &str, byte_pos: usize, byte_len: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn find_nearest(&mut self, char_pos: usize) -> Option<&SearchMatch> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn is_match_at(&self, char_pos: usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HighlightedLine` is never constructed
[INFO] [stdout]   --> src/feature/syntax.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct HighlightedLine {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `language` is never read
[INFO] [stdout]   --> src/feature/syntax.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct SyntaxHighlighter {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 35 |     /// Language identifier.
[INFO] [stdout] 36 |     language: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `language` and `highlight_to_color` are never used
[INFO] [stdout]    --> src/feature/syntax.rs:245:12
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl SyntaxHighlighter {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn language(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn highlight_to_color(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `focused` and `gutter_width` are never used
[INFO] [stdout]   --> src/ui/editor_pane.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a> EditorPane<'a> {
[INFO] [stdout]    | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn focused(mut self, focused: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn gutter_width(&self) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_visible` is never used
[INFO] [stdout]   --> src/ui/file_tree.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<'a> FileTree<'a> {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn is_visible(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `toggle_find_replace_focus` and `text` are never used
[INFO] [stdout]    --> src/ui/modal.rs:220:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl ModalState {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn toggle_find_replace_focus(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn text(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tab_at_position` is never used
[INFO] [stdout]   --> src/ui/tab_bar.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn tab_at_position(tabs: &[TabInfo], x: u16, area_x: u16) -> Option<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let mut is_ssh = false;
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |     let mut ssh_target: Option<String> = None;
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]    --> src/main.rs:193:36
[INFO] [stdout]     |
[INFO] [stdout] 193 |     if let Some(SubCommand::Logs { file, from_start, gemini_api_key, ai_model }) = cli.command {
[INFO] [stdout]     |                                    ^^^^ help: try ignoring the field: `file: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `from_start`
[INFO] [stdout]    --> src/main.rs:193:42
[INFO] [stdout]     |
[INFO] [stdout] 193 |     if let Some(SubCommand::Logs { file, from_start, gemini_api_key, ai_model }) = cli.command {
[INFO] [stdout]     |                                          ^^^^^^^^^^ help: try ignoring the field: `from_start: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gemini_api_key`
[INFO] [stdout]    --> src/main.rs:193:54
[INFO] [stdout]     |
[INFO] [stdout] 193 |     if let Some(SubCommand::Logs { file, from_start, gemini_api_key, ai_model }) = cli.command {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^ help: try ignoring the field: `gemini_api_key: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ai_model`
[INFO] [stdout]    --> src/main.rs:193:70
[INFO] [stdout]     |
[INFO] [stdout] 193 |     if let Some(SubCommand::Logs { file, from_start, gemini_api_key, ai_model }) = cli.command {
[INFO] [stdout]     |                                                                      ^^^^^^^^ help: try ignoring the field: `ai_model: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ssh_target`
[INFO] [stdout]    --> src/main.rs:225:9
[INFO] [stdout]     |
[INFO] [stdout] 225 |     let mut ssh_target: Option<String> = None;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ssh_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/main.rs:226:35
[INFO] [stdout]     |
[INFO] [stdout] 226 |     if let Some(SubCommand::Ssh { target }) = &cli.command {
[INFO] [stdout]     |                                   ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Indent`, `MouseClick`, `MouseDrag`, and `MouseScroll` are never constructed
[INFO] [stdout]   --> src/config/keymap.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum Action {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 50 |     Indent,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     MouseClick(u16, u16),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 97 |     MouseDrag(u16, u16),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 98 |     MouseScroll(i16),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Action` 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: fields `added` and `modified` are never read
[INFO] [stdout]   --> src/config/theme.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct GitColors {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 59 |     pub added: Color,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 60 |     pub modified: Color,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GitColors` 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: variant `Block` is never constructed
[INFO] [stdout]   --> src/core/cursor.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum SelectionMode {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |     Block,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SelectionMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear` is never used
[INFO] [stdout]    --> src/core/history.rs:208:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl History {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ThemeNotFound`, `Clipboard`, and `Terminal` are never constructed
[INFO] [stdout]   --> src/error.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum TermEditError {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 14 |     ThemeNotFound(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     Clipboard(String),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     Terminal(String),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TermEditError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `code` is never read
[INFO] [stdout]    --> src/feature/gemini_chat.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 158 | struct ApiErrorInner {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] 159 |     message: Option<String>,
[INFO] [stdout] 160 |     code: Option<i32>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_whole_word`, `find_nearest`, and `is_match_at` are never used
[INFO] [stdout]    --> src/feature/search.rs:307:8
[INFO] [stdout]     |
[INFO] [stdout] 266 | impl Search {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 307 |     fn is_whole_word(&self, text: &str, byte_pos: usize, byte_len: usize) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn find_nearest(&mut self, char_pos: usize) -> Option<&SearchMatch> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn is_match_at(&self, char_pos: usize) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HighlightedLine` is never constructed
[INFO] [stdout]   --> src/feature/syntax.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct HighlightedLine {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `language` is never read
[INFO] [stdout]   --> src/feature/syntax.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct SyntaxHighlighter {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 35 |     /// Language identifier.
[INFO] [stdout] 36 |     language: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `language` and `highlight_to_color` are never used
[INFO] [stdout]    --> src/feature/syntax.rs:245:12
[INFO] [stdout]     |
[INFO] [stdout]  48 | impl SyntaxHighlighter {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn language(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn highlight_to_color(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `focused` and `gutter_width` are never used
[INFO] [stdout]   --> src/ui/editor_pane.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<'a> EditorPane<'a> {
[INFO] [stdout]    | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn focused(mut self, focused: bool) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn gutter_width(&self) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_visible` is never used
[INFO] [stdout]   --> src/ui/file_tree.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl<'a> FileTree<'a> {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn is_visible(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `toggle_find_replace_focus` and `text` are never used
[INFO] [stdout]    --> src/ui/modal.rs:220:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl ModalState {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 220 |     pub fn toggle_find_replace_focus(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     pub fn text(&self) -> &str {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tab_at_position` is never used
[INFO] [stdout]   --> src/ui/tab_bar.rs:87:8
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub fn tab_at_position(tabs: &[TabInfo], x: u16, area_x: u16) -> Option<usize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `bytes`
[INFO] [stderr]   --> Cargo.toml:16:15
[INFO] [stderr]    |
[INFO] [stderr] 16 | [dependencies.bytes]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `bytes`
[INFO] [stderr] warning: `termedit` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 1m 55s
[INFO] running `Command { std: "docker" "inspect" "8dafae9a85d61e9e4411c204c6a4f9e2ee3c525f4f4e8183824e8816ff4c2a9f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8dafae9a85d61e9e4411c204c6a4f9e2ee3c525f4f4e8183824e8816ff4c2a9f", kill_on_drop: false }`
[INFO] [stdout] 8dafae9a85d61e9e4411c204c6a4f9e2ee3c525f4f4e8183824e8816ff4c2a9f
