[INFO] cloning repository https://github.com/kart-io/ai-c
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kart-io/ai-c" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkart-io%2Fai-c", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkart-io%2Fai-c'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 34cf582fd7dac5fba837a877556de2b1a727269e
[INFO] testing kart-io/ai-c against beta-2026-01-20 for beta-1.94-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkart-io%2Fai-c" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/kart-io/ai-c
[INFO] finished tweaking git repo https://github.com/kart-io/ai-c
[INFO] tweaked toml for git repo https://github.com/kart-io/ai-c written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/kart-io/ai-c on toolchain beta-2026-01-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/kart-io/ai-c 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" "+beta-2026-01-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 375ba004d52cdecbeae44376dacc97bf8e6dd6046b3dec07245ecb17bbbc0b08
[INFO] running `Command { std: "docker" "start" "-a" "375ba004d52cdecbeae44376dacc97bf8e6dd6046b3dec07245ecb17bbbc0b08", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "375ba004d52cdecbeae44376dacc97bf8e6dd6046b3dec07245ecb17bbbc0b08", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "375ba004d52cdecbeae44376dacc97bf8e6dd6046b3dec07245ecb17bbbc0b08", kill_on_drop: false }`
[INFO] [stdout] 375ba004d52cdecbeae44376dacc97bf8e6dd6046b3dec07245ecb17bbbc0b08
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 53f42cda4be7ab67a74ecd179e1d58bd915f9e60200517b1d6be184387460d47
[INFO] running `Command { std: "docker" "start" "-a" "53f42cda4be7ab67a74ecd179e1d58bd915f9e60200517b1d6be184387460d47", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling serde v1.0.195
[INFO] [stderr]    Compiling find-msvc-tools v0.1.1
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling cc v1.2.37
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling idna v0.4.0
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling libz-sys v1.1.22
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling url v2.4.1
[INFO] [stderr]    Compiling serde_json v1.0.111
[INFO] [stderr]    Compiling thiserror v1.0.56
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling pxfm v0.1.23
[INFO] [stderr]    Compiling libgit2-sys v0.16.2+1.7.2
[INFO] [stderr]    Compiling dlv-list v0.5.2
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling hashbrown v0.13.2
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling base64 v0.21.5
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]    Compiling async-trait v0.1.77
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling moxcms v0.7.5
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling serde_derive v1.0.195
[INFO] [stderr]    Compiling tokio-macros v2.2.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling tokio v1.35.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling pest v2.8.2
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.56
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling pest_meta v2.8.2
[INFO] [stderr]    Compiling pest_generator v2.8.2
[INFO] [stderr]    Compiling ordered-multimap v0.6.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling pest_derive v2.8.2
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling toml_edit v0.21.1
[INFO] [stderr]    Compiling png v0.18.0
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling gethostname v1.0.2
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling anyhow v1.0.79
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling bytemuck v1.23.2
[INFO] [stderr]    Compiling tungstenite v0.21.0
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling image v0.25.8
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling toml v0.8.8
[INFO] [stderr]    Compiling stability v0.1.1
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling ron v0.8.1
[INFO] [stderr]    Compiling json5 v0.4.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling rust-ini v0.19.0
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling strum v0.25.0
[INFO] [stderr]    Compiling matchers v0.1.0
[INFO] [stderr]    Compiling x11rb v0.13.2
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling config v0.14.0
[INFO] [stderr]    Compiling reqwest v0.11.23
[INFO] [stderr]    Compiling arboard v3.6.1
[INFO] [stderr]    Compiling ratatui v0.25.0
[INFO] [stderr]    Compiling chrono v0.4.31
[INFO] [stderr]    Compiling tracing-subscriber v0.3.18
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.21.0
[INFO] [stderr]    Compiling uuid v1.6.1
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling md5 v0.7.0
[INFO] [stderr]    Compiling git2 v0.18.1
[INFO] [stderr]    Compiling ai-c v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/ai/agents/code_analysis_agent.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use async_trait::async_trait;
[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: `Path`
[INFO] [stdout]   --> src/ai/agents/code_analysis_agent.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     path::{Path, PathBuf},
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/ai/recovery.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{error, info, warn};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Branch`, `Oid`, `Reference`, `Repository`, and `Tag`
[INFO] [stdout]  --> src/git/workflow.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use git2::{Branch, BranchType, Oid, Reference, Repository, Tag};
[INFO] [stdout]   |            ^^^^^^              ^^^  ^^^^^^^^^  ^^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/git/workflow.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]    --> src/ui/components/sidebar.rs:242:29
[INFO] [stdout]     |
[INFO] [stdout] 242 |                         use std::cmp::Ordering;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/components/tabs.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]   --> src/ui/components/tabs.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use chrono::Utc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SelectionMode` and `TextPosition`
[INFO] [stdout]   --> src/ui/components/tabs.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |         selection::{TextPosition, SelectionMode},
[INFO] [stdout]    |                     ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/ui/components/diff_viewer.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/components/modals/confirmation.rs:3:43
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> src/ui/components/modals/input.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     text::{Line, Span},
[INFO] [stdout]   |            ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `app::state::AppState`
[INFO] [stdout]   --> src/ui/components/modals/mod.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::{app::state::AppState, error::AppResult, ui::theme::Theme};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/components/search.rs:3:43
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Text`
[INFO] [stdout]  --> src/ui/components/search.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 |     text::{Line, Span, Text},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/ui/components/search.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Text` and `Wrap`
[INFO] [stdout]  --> src/ui/components/filter.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 |     text::{Line, Span, Text},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 8 |     widgets::{Block, Borders, Clear, List, ListItem, ListState, Paragraph, Wrap},
[INFO] [stdout]   |                                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, and `Layout`
[INFO] [stdout]  --> src/ui/components/global_search.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     layout::{Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Constraint`, `Direction`, `Layout`, and `Paragraph`
[INFO] [stdout]  --> src/ui/components/context_menu.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |     widgets::{Block, Borders, Clear, List, ListItem, ListState, Paragraph},
[INFO] [stdout]   |                                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/ui/components/search_index.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/ui/components/search_index.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment` and `Text`
[INFO] [stdout]  --> src/ui/components/git_operations.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^
[INFO] [stdout] 6 |     style::{Color, Modifier, Style},
[INFO] [stdout] 7 |     text::{Line, Span, Text},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/ui/components/git_operations.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/components/agent_manager.rs:3:43
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BarChart` and `Text`
[INFO] [stdout]  --> src/ui/components/agent_manager.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 |     text::{Line, Span, Text},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 8 |     widgets::{Block, Borders, Clear, Gauge, List, ListItem, ListState, Paragraph, Tabs, Wrap, BarChart},
[INFO] [stdout]   |                                                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `ListItem`, `List`, `Modifier`, `Span`, and `Style`
[INFO] [stdout]   --> src/ui/components/help.rs:8:13
[INFO] [stdout]    |
[INFO] [stdout]  8 |     style::{Color, Modifier, Style},
[INFO] [stdout]    |             ^^^^^  ^^^^^^^^  ^^^^^
[INFO] [stdout]  9 |     text::{Line, Span},
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 10 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Tabs, Wrap},
[INFO] [stdout]    |                                      ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActionKey` and `NavigationKey`
[INFO] [stdout]   --> src/ui/components/help.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 |         keyboard::{ActionKey, NavigationKey, ShortcutManager},
[INFO] [stdout]    |                    ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/keyboard.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]  --> src/ui/diff/utils.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, warn};
[INFO] [stdout]   |               ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Clear`, `Constraint`, `Direction`, `Layout`, `Modifier`, `Text`, and `Wrap`
[INFO] [stdout]   --> src/ui/diff/inline_editor.rs:7:14
[INFO] [stdout]    |
[INFO] [stdout]  7 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]    |              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout]  8 |     style::{Color, Modifier, Style},
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]  9 |     text::{Line, Span, Text},
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 10 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Wrap},
[INFO] [stdout]    |                               ^^^^^                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]   --> src/ui/diff/inline_editor.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 |     cmp::{max, min},
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/ui/diff/inline_editor.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::{debug, info, warn};
[INFO] [stdout]    |               ^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]   --> src/ui/diff.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | use chrono::{DateTime, Utc};
[INFO] [stdout]    |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Clear`, `Line`, `ScrollbarOrientation`, `ScrollbarState`, `Scrollbar`, and `Text`
[INFO] [stdout]   --> src/ui/diff.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     text::{Line, Span, Text},
[INFO] [stdout]    |            ^^^^        ^^^^
[INFO] [stdout] 15 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Scrollbar, ScrollbarOrientation, ScrollbarState, Wrap},
[INFO] [stdout]    |                               ^^^^^                             ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/ui/selection.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::{debug, error, warn};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `style::Style`
[INFO] [stdout]   --> src/ui/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     style::Style,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SelectionMode` and `TextPosition`
[INFO] [stdout]   --> src/ui/mod.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 | use selection::{TextPosition, SelectionMode};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Component`
[INFO] [stdout]   --> src/ui/components/tabs.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 |         components::{Component, DiffViewerComponent, modals::{InputModal, Modal, ModalResult}},
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> src/ai/agents/commit_agent.rs:386:9
[INFO] [stdout]     |
[INFO] [stdout] 386 |         request: &CommitGenerationRequest,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_data`
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:563:9
[INFO] [stdout]     |
[INFO] [stdout] 563 |         file_data: &HashMap<PathBuf, FileData>,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `agent_id`
[INFO] [stdout]    --> src/ai/health.rs:198:27
[INFO] [stdout]     |
[INFO] [stdout] 198 |     async fn check(&self, agent_id: &str) -> Result<HealthStatus, MonitorError> {
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]   --> src/git/operations.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let branch = self
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_id`
[INFO] [stdout]    --> src/git/operations.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let tag_id = if let Some(msg) = message {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repo_guard`
[INFO] [stdout]     --> src/git/service.rs:1180:13
[INFO] [stdout]      |
[INFO] [stdout] 1180 |         let repo_guard = tokio::task::block_in_place(|| {
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_repo_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `upstream`
[INFO] [stdout]    --> src/ui/components/sidebar.rs:173:48
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   } else if let Some(ref upstream) = branch.upstream {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_upstream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/diff.rs:765:103
[INFO] [stdout]     |
[INFO] [stdout] 765 | ...: &FileDiff, is_old: bool, theme: &Theme) -> AppResult<()> {
[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]    --> src/ui/diff.rs:818:92
[INFO] [stdout]     |
[INFO] [stdout] 818 |     async fn render_unified(&mut self, frame: &mut Frame<'_>, area: Rect, diff: &FileDiff, theme: &Theme) -> AppResult<()> {
[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]    --> src/ui/components/diff_viewer.rs:366:98
[INFO] [stdout]     |
[INFO] [stdout] 366 |     async fn render_stats_overlay(&self, frame: &mut Frame<'_>, area: Rect, viewer: &DiffViewer, 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]    --> src/ui/components/diff_viewer.rs:284:65
[INFO] [stdout]     |
[INFO] [stdout] 284 |     fn render_loading(&self, frame: &mut Frame<'_>, area: Rect, 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]    --> src/ui/components/diff_viewer.rs:308:76
[INFO] [stdout]     |
[INFO] [stdout] 308 |     fn render_error(&self, frame: &mut Frame<'_>, area: Rect, error: &str, 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]    --> src/ui/components/diff_viewer.rs:324:70
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn render_help_overlay(&self, frame: &mut Frame<'_>, area: Rect, theme: &Theme) {
[INFO] [stdout]     |                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `viewer`
[INFO] [stdout]    --> src/ui/components/diff_viewer.rs:426:13
[INFO] [stdout]     |
[INFO] [stdout] 426 |         let viewer = self.viewer.read().await;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_viewer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `viewer`
[INFO] [stdout]    --> src/ui/components/diff_viewer.rs:434:13
[INFO] [stdout]     |
[INFO] [stdout] 434 |         let viewer = self.viewer.read().await;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_viewer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/components/search.rs:491:65
[INFO] [stdout]     |
[INFO] [stdout] 491 |     fn render_results(&mut self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stdout]     |                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/ui/components/filter.rs:427:35
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn matches_size_filter(&self, size: u64, filter: &str) -> bool {
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> src/ui/components/filter.rs:427:46
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn matches_size_filter(&self, size: u64, filter: &str) -> bool {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/components/filter.rs:531:72
[INFO] [stdout]     |
[INFO] [stdout] 531 |     fn render_type_selection(&mut self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commit`
[INFO] [stdout]    --> src/ui/components/commit_history.rs:350:66
[INFO] [stdout]     |
[INFO] [stdout] 350 |     fn render_commit_files(&self, frame: &mut Frame, area: Rect, commit: &CommitInfo, theme: &Theme) {
[INFO] [stdout]     |                                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_commit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/components/commit_history.rs:378:84
[INFO] [stdout]     |
[INFO] [stdout] 378 |     fn render_footer(&self, frame: &mut Frame, area: Rect, commits: &[CommitInfo], 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]    --> src/ui/components/commit_history.rs:407:13
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let mut filtered: Vec<CommitInfo> = all_commits.into_iter()
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/components/commit_history.rs:548:59
[INFO] [stdout]     |
[INFO] [stdout] 548 |     fn handle_details_key_event(&mut self, key: KeyEvent, state: &mut AppState) -> AppResult<()> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commit`
[INFO] [stdout]    --> src/ui/components/commit_history.rs:572:36
[INFO] [stdout]     |
[INFO] [stdout] 572 |     fn load_commit_diff(&mut self, commit: &CommitInfo, _state: &AppState) -> AppResult<()> {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_commit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:236:51
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn get_context_menu_items_for_position(&self, position: (u16, u16), area: Rect) -> Vec<MenuItem> {
[INFO] [stdout]     |                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:236:73
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn get_context_menu_items_for_position(&self, position: (u16, u16), area: Rect) -> Vec<MenuItem> {
[INFO] [stdout]     |                                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:278:41
[INFO] [stdout]     |
[INFO] [stdout] 278 |     pub fn get_file_context_menu(&self, file_path: &str) -> Vec<MenuItem> {
[INFO] [stdout]     |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commit_hash`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:328:43
[INFO] [stdout]     |
[INFO] [stdout] 328 |     pub fn get_commit_context_menu(&self, commit_hash: &str) -> Vec<MenuItem> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commit_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch_name`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:361:43
[INFO] [stdout]     |
[INFO] [stdout] 361 |     pub fn get_branch_context_menu(&self, branch_name: &str, is_current: bool) -> Vec<MenuItem> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_name`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let tag_name = context.get_data("tag_name").unwrap_or(&String::new());
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remote_name`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let remote_name = context.get_data("remote_name").unwrap_or(&String::new());
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remote_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stash_index`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let stash_index = context.get_data("stash_index").unwrap_or(&String::new());
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stash_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:197:36
[INFO] [stdout]     |
[INFO] [stdout] 197 |     fn generate_search_menu(&self, context: &ContextInfo) -> Vec<MenuItem> {
[INFO] [stdout]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:226:34
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn generate_diff_menu(&self, context: &ContextInfo) -> Vec<MenuItem> {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:260:37
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn generate_general_menu(&self, context: &ContextInfo) -> Vec<MenuItem> {
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:319:58
[INFO] [stdout]     |
[INFO] [stdout] 319 |     pub fn execute_action(&mut self, action: MenuAction, state: &mut AppState) -> AppResult<()> {
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ui/components/shortcuts.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut key_part = parts[parts.len() - 1];
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/ui/components/search_cache.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let now = Instant::now();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/ui/components/search_cache.rs:222:17
[INFO] [stdout]     |
[INFO] [stdout] 222 |             let key = CacheKey::new(query, scope.clone(), &FilterCriteria::default());
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/components/git_operations.rs:707:62
[INFO] [stdout]     |
[INFO] [stdout] 707 |     fn render_help_bar(&self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/ui/components/git_operations.rs:910:37
[INFO] [stdout]     |
[INFO] [stdout] 910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/ui/components/git_operations.rs:932:36
[INFO] [stdout]     |
[INFO] [stdout] 932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/ui/components/git_operations.rs:976:36
[INFO] [stdout]     |
[INFO] [stdout] 976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1016:34
[INFO] [stdout]      |
[INFO] [stdout] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1060:37
[INFO] [stdout]      |
[INFO] [stdout] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1489:33
[INFO] [stdout]      |
[INFO] [stdout] 1489 | ...                   let len = self.history_commits.len();
[INFO] [stdout]      |                           ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1500:33
[INFO] [stdout]      |
[INFO] [stdout] 1500 | ...                   let len = self.history_commits.len();
[INFO] [stdout]      |                           ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_lines`
[INFO] [stdout]    --> src/ui/diff/utils.rs:110:25
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (old_start, old_lines) = Self::parse_range(old_part.trim_start_matches('-'))?;
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_lines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_lines`
[INFO] [stdout]    --> src/ui/diff/utils.rs:111:25
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let (new_start, new_lines) = Self::parse_range(new_part.trim_start_matches('+'))?;
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_lines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `temp_new_pos` is assigned to, but never used
[INFO] [stdout]    --> src/ui/diff/utils.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 |             let mut temp_new_pos = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_temp_new_pos` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `temp_new_pos` is never read
[INFO] [stdout]    --> src/ui/diff/utils.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |                 temp_new_pos += new_word.len() + 1; // +1 for space
[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: unused variable: `selection`
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:684:21
[INFO] [stdout]     |
[INFO] [stdout] 684 |         if let Some(selection) = self.selection {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:721:74
[INFO] [stdout]     |
[INFO] [stdout] 721 |     fn render_text_content(&mut self, frame: &mut Frame<'_>, area: Rect, theme: &Theme) -> AppResult<()> {
[INFO] [stdout]     |                                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:725:14
[INFO] [stdout]     |
[INFO] [stdout] 725 |         for (i, line_idx) in (self.scroll_offset..end_line).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:760:87
[INFO] [stdout]     |
[INFO] [stdout] 760 |     fn render_status_message(&self, frame: &mut Frame<'_>, area: Rect, message: &str, theme: &Theme) {
[INFO] [stdout]     |                                                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/mod.rs:511:71
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn render_file_tree_section(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |                                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/mod.rs:595:64
[INFO] [stdout]     |
[INFO] [stdout] 595 |     fn render_commit_log(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |                                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/mod.rs:625:67
[INFO] [stdout]     |
[INFO] [stdout] 625 |     fn render_details_panel(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |                                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/mod.rs:728:12
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn new(theme: &Theme) -> Self {
[INFO] [stdout]     |            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AgentStats` is more private than the item `CodeAnalysisAgent::stats`
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:719:5
[INFO] [stdout]     |
[INFO] [stdout] 719 |     pub fn stats(&self) -> &AgentStats {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `CodeAnalysisAgent::stats` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `AgentStats` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:278:1
[INFO] [stdout]     |
[INFO] [stdout] 278 | struct AgentStats {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ClientStats` is more private than the item `HttpAIClient::stats`
[INFO] [stdout]    --> src/ai/client.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     pub fn stats(&self) -> &ClientStats {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `HttpAIClient::stats` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ClientStats` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ai/client.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | struct ClientStats {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prompt_templates` and `git_service` are never read
[INFO] [stdout]    --> src/ai/agents/commit_agent.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout]  88 | pub struct CommitAgent {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     prompt_templates: HashMap<CommitMessageStyle, String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 |     /// Git service for analysis
[INFO] [stdout] 108 |     git_service: Option<GitService>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cache_hits` is never read
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | struct AgentStats {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 282 |     cache_hits: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AgentStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_cache_key` is never used
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:689:8
[INFO] [stdout]     |
[INFO] [stdout] 289 | impl CodeAnalysisAgent {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 689 |     fn generate_cache_key(&self, request: &CodeAnalysisRequest) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:745:5
[INFO] [stdout]     |
[INFO] [stdout] 742 | struct FileData {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 745 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileData` 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 `failed_requests` and `last_request_time` are never read
[INFO] [stdout]    --> src/ai/client.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 204 | struct ClientStats {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 207 |     failed_requests: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 208 |     total_response_time: Duration,
[INFO] [stdout] 209 |     last_request_time: Option<DateTime<Utc>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClientStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_stats` is never used
[INFO] [stdout]    --> src/ai/client.rs:410:8
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl HttpAIClient {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 410 |     fn update_stats(&mut self, success: bool, response_time: Duration) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> src/ai/health.rs:305:5
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub struct HealthMonitor {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 305 |     config: HealthMonitorConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `message_receiver` and `last_health_check` are never read
[INFO] [stdout]   --> src/ai/manager.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | struct ManagedAgent {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 83 |     message_receiver: Option<mpsc::UnboundedReceiver<super::message_bus::AgentMessage>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 84 |     /// Last health check timestamp
[INFO] [stdout] 85 |     last_health_check: DateTime<Utc>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `task_counter` is never read
[INFO] [stdout]   --> src/ai/manager.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct AgentManager {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 99 |     task_counter: Arc<RwLock<u64>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total_tasks_failed` is never read
[INFO] [stdout]    --> src/ai/manager.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | struct SystemMetrics {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub total_tasks_failed: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SystemMetrics` 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 `config` is never read
[INFO] [stdout]    --> src/ai/metrics_collector.rs:476:5
[INFO] [stdout]     |
[INFO] [stdout] 470 | pub struct MetricsCollector {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 476 |     config: MetricsConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> src/ai/recovery.rs:440:5
[INFO] [stdout]     |
[INFO] [stdout] 439 | pub struct FailureDetector {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 440 |     config: FailureDetectionConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureDetector` 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 `config` is never read
[INFO] [stdout]   --> src/app/mod.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct App {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 48 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `git_service` is never read
[INFO] [stdout]    --> src/git/workflow.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct GitWorkflowManager {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 140 |     git_service: Arc<GitService>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/ui/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct UI {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     config: UIConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `render_main_content`, `render_sync_status`, `render_center_content`, `render_commit_log`, and `render_details_panel` are never used
[INFO] [stdout]    --> src/ui/mod.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl UI {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 392 |     fn render_main_content(&mut self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 466 |     fn render_sync_status(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 577 |     fn render_center_content(&mut self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 595 |     fn render_commit_log(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 625 |     fn render_details_panel(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sidebar` is never read
[INFO] [stdout]    --> src/ui/mod.rs:716:9
[INFO] [stdout]     |
[INFO] [stdout] 715 | struct UIComponents {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 716 |     pub sidebar: SidebarComponent,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render_empty_list` is never used
[INFO] [stdout]    --> src/ui/components/sidebar.rs:696:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl SidebarComponent {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 696 |     fn render_empty_list(&self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `loaded_count` and `should_load_more` are never used
[INFO] [stdout]   --> src/ui/components/tabs.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl CommitsPagination {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     fn loaded_count(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     fn should_load_more(&self, current_index: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_file_diff` is never used
[INFO] [stdout]    --> src/ui/components/tabs.rs:297:14
[INFO] [stdout]     |
[INFO] [stdout] 295 | impl StatusTabComponent {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 296 |     /// 加载文件差异到差异查看器
[INFO] [stdout] 297 |     async fn load_file_diff(&mut self, file_status: &crate::git::FileStatus, state: &AppState) -> AppResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Actions` is never constructed
[INFO] [stdout]    --> src/ui/components/tabs.rs:326:5
[INFO] [stdout]     |
[INFO] [stdout] 323 | enum BranchViewMode {
[INFO] [stdout]     |      -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 326 |     Actions, // Focus on action buttons
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BranchViewMode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `search_sender` is never read
[INFO] [stdout]    --> src/ui/components/search.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout]  89 | pub struct SearchComponent {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 101 |     search_sender: Option<mpsc::UnboundedSender<SearchRequest>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `branch_colors` is never read
[INFO] [stdout]   --> src/ui/components/commit_history.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct CommitHistoryComponent {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     branch_colors: HashMap<String, Color>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `render_operation_details`, `render_rebase_details`, `render_merge_details`, `render_stash_details`, `render_tag_details`, and `render_remote_details` are never used
[INFO] [stdout]     --> src/ui/components/git_operations.rs:885:8
[INFO] [stdout]      |
[INFO] [stdout]  334 | impl GitOperationsComponent {
[INFO] [stdout]      | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  885 |     fn render_operation_details(&self, frame: &mut Frame, area: Rect, operation: &GitOperation, theme: &Theme) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `logs_scroll` and `metrics_history` are never read
[INFO] [stdout]    --> src/ui/components/agent_manager.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct AgentManagerComponent {
[INFO] [stdout]     |            --------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 161 |     logs_scroll: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 162 |     metrics_history: Vec<(Instant, HashMap<String, f64>)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `shortcut_manager` and `selected_index` are never read
[INFO] [stdout]   --> src/ui/components/help.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct HelpComponent {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     shortcut_manager: ShortcutManager,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     /// Selected help item index
[INFO] [stdout] 33 |     selected_index: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `language_cache` is never read
[INFO] [stdout]    --> src/ui/diff.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub struct SyntaxHighlighter {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 168 |     config: SyntaxHighlighterConfig,
[INFO] [stdout] 169 |     language_cache: Arc<RwLock<HashMap<String, String>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `highlighter` is never read
[INFO] [stdout]    --> src/ui/diff.rs:631:5
[INFO] [stdout]     |
[INFO] [stdout] 628 | pub struct DiffViewer {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 631 |     highlighter: SyntaxHighlighter,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `viewport_start`, `viewport_end`, `total_lines`, and `line_height` are never read
[INFO] [stdout]    --> src/ui/diff.rs:642:5
[INFO] [stdout]     |
[INFO] [stdout] 640 | struct VirtualScrollState {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 641 |     /// 可见区域开始行
[INFO] [stdout] 642 |     viewport_start: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 643 |     /// 可见区域结束行
[INFO] [stdout] 644 |     viewport_end: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 645 |     /// 总行数
[INFO] [stdout] 646 |     total_lines: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 647 |     /// 每行高度（字符单位）
[INFO] [stdout] 648 |     line_height: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VirtualScrollState` 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 `search_query`, `search_results`, and `current_search_index` are never read
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct InlineEditor {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 174 |     search_query: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 175 |     /// 搜索结果
[INFO] [stdout] 176 |     search_results: Vec<CursorPosition>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 177 |     /// 当前搜索结果索引
[INFO] [stdout] 178 |     current_search_index: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/components/git_operations.rs:910:30
[INFO] [stdout]     |
[INFO] [stdout] 910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> 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]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/components/git_operations.rs:932:29
[INFO] [stdout]     |
[INFO] [stdout] 932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> 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] 932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/components/git_operations.rs:976:29
[INFO] [stdout]     |
[INFO] [stdout] 976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> 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] 976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1016:27
[INFO] [stdout]      |
[INFO] [stdout] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> 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] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]      |                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1060:30
[INFO] [stdout]      |
[INFO] [stdout] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> 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] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]      |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/diff.rs:210:33
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub async fn highlight_line(&self, line: &str, language: &str) -> Vec<Span> {
[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] 210 |     pub async fn highlight_line(&self, line: &str, language: &str) -> Vec<Span<'_>> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/diff.rs:221:31
[INFO] [stdout]     |
[INFO] [stdout] 221 |     async fn simple_highlight(&self, line: &str, language: &str) -> Vec<Span> {
[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] 221 |     async fn simple_highlight(&self, line: &str, language: &str) -> Vec<Span<'_>> {
[INFO] [stdout]     |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 16s
[INFO] running `Command { std: "docker" "inspect" "53f42cda4be7ab67a74ecd179e1d58bd915f9e60200517b1d6be184387460d47", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53f42cda4be7ab67a74ecd179e1d58bd915f9e60200517b1d6be184387460d47", kill_on_drop: false }`
[INFO] [stdout] 53f42cda4be7ab67a74ecd179e1d58bd915f9e60200517b1d6be184387460d47
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2400a5c59fd74f55b1a5c240b5b5e4edd26696f8323f071978723edeea87d97a
[INFO] running `Command { std: "docker" "start" "-a" "2400a5c59fd74f55b1a5c240b5b5e4edd26696f8323f071978723edeea87d97a", kill_on_drop: false }`
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling serde v1.0.195
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling cc v1.2.37
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling indexmap v2.1.0
[INFO] [stderr]    Compiling tokio v1.35.1
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling libz-sys v1.1.22
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling serde_json v1.0.111
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling idna v0.4.0
[INFO] [stderr]    Compiling pest v2.8.2
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling tracing v0.1.40
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling pest_meta v2.8.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling url v2.4.1
[INFO] [stderr]    Compiling const-random v0.1.18
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling thiserror v1.0.56
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling dlv-list v0.5.2
[INFO] [stderr]    Compiling pest_generator v2.8.2
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling pxfm v0.1.23
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling libgit2-sys v0.16.2+1.7.2
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling base64 v0.21.5
[INFO] [stderr]    Compiling hashbrown v0.13.2
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling toml_edit v0.21.1
[INFO] [stderr]    Compiling moxcms v0.7.5
[INFO] [stderr]    Compiling ordered-multimap v0.6.0
[INFO] [stderr]    Compiling png v0.18.0
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling pest_derive v2.8.2
[INFO] [stderr]    Compiling gethostname v1.0.2
[INFO] [stderr]    Compiling regex v1.10.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling bytemuck v1.23.2
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling byteorder-lite v0.1.0
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling tungstenite v0.21.0
[INFO] [stderr]    Compiling anyhow v1.0.79
[INFO] [stderr]    Compiling image v0.25.8
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling x11rb v0.13.2
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling json5 v0.4.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling crossterm v0.27.0
[INFO] [stderr]    Compiling rust-ini v0.19.0
[INFO] [stderr]    Compiling toml v0.8.8
[INFO] [stderr]    Compiling matchers v0.1.0
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling strum v0.25.0
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling ron v0.8.1
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling predicates-core v1.0.9
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling pathdiff v0.2.3
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling ratatui v0.25.0
[INFO] [stderr]    Compiling reqwest v0.11.23
[INFO] [stderr]    Compiling clap_builder v4.5.47
[INFO] [stderr]    Compiling chrono v0.4.31
[INFO] [stderr]    Compiling config v0.14.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling tracing-subscriber v0.3.18
[INFO] [stderr]    Compiling arboard v3.6.1
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling tokio-tungstenite v0.21.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling uuid v1.6.1
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling md5 v0.7.0
[INFO] [stderr]    Compiling predicates-tree v1.0.12
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling clap v4.5.47
[INFO] [stderr]    Compiling predicates v3.1.3
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling mockall_derive v0.12.1
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling downcast v0.11.0
[INFO] [stderr]    Compiling fragile v2.0.1
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling tempfile v3.8.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling tokio-test v0.4.3
[INFO] [stderr]    Compiling mockall v0.12.1
[INFO] [stderr]    Compiling git2 v0.18.1
[INFO] [stderr]    Compiling ai-c v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/ai/agents/code_analysis_agent.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use async_trait::async_trait;
[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: `Path`
[INFO] [stdout]   --> src/ai/agents/code_analysis_agent.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     path::{Path, PathBuf},
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/ai/recovery.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{error, info, warn};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Branch`, `Oid`, `Reference`, `Repository`, and `Tag`
[INFO] [stdout]  --> src/git/workflow.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use git2::{Branch, BranchType, Oid, Reference, Repository, Tag};
[INFO] [stdout]   |            ^^^^^^              ^^^  ^^^^^^^^^  ^^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/git/workflow.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]    --> src/ui/components/sidebar.rs:242:29
[INFO] [stdout]     |
[INFO] [stdout] 242 |                         use std::cmp::Ordering;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/components/tabs.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]   --> src/ui/components/tabs.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use chrono::Utc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SelectionMode` and `TextPosition`
[INFO] [stdout]   --> src/ui/components/tabs.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |         selection::{TextPosition, SelectionMode},
[INFO] [stdout]    |                     ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/ui/components/diff_viewer.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/components/modals/confirmation.rs:3:43
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> src/ui/components/modals/input.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     text::{Line, Span},
[INFO] [stdout]   |            ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `app::state::AppState`
[INFO] [stdout]   --> src/ui/components/modals/mod.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::{app::state::AppState, error::AppResult, ui::theme::Theme};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/components/search.rs:3:43
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Text`
[INFO] [stdout]  --> src/ui/components/search.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 |     text::{Line, Span, Text},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/ui/components/search.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Text` and `Wrap`
[INFO] [stdout]  --> src/ui/components/filter.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 |     text::{Line, Span, Text},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 8 |     widgets::{Block, Borders, Clear, List, ListItem, ListState, Paragraph, Wrap},
[INFO] [stdout]   |                                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, and `Layout`
[INFO] [stdout]  --> src/ui/components/global_search.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     layout::{Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Constraint`, `Direction`, `Layout`, and `Paragraph`
[INFO] [stdout]  --> src/ui/components/context_menu.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |     widgets::{Block, Borders, Clear, List, ListItem, ListState, Paragraph},
[INFO] [stdout]   |                                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/ui/components/search_index.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/ui/components/search_index.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment` and `Text`
[INFO] [stdout]  --> src/ui/components/git_operations.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^
[INFO] [stdout] 6 |     style::{Color, Modifier, Style},
[INFO] [stdout] 7 |     text::{Line, Span, Text},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/ui/components/git_operations.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/components/agent_manager.rs:3:43
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BarChart` and `Text`
[INFO] [stdout]  --> src/ui/components/agent_manager.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 |     text::{Line, Span, Text},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 8 |     widgets::{Block, Borders, Clear, Gauge, List, ListItem, ListState, Paragraph, Tabs, Wrap, BarChart},
[INFO] [stdout]   |                                                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `ListItem`, `List`, `Modifier`, `Span`, and `Style`
[INFO] [stdout]   --> src/ui/components/help.rs:8:13
[INFO] [stdout]    |
[INFO] [stdout]  8 |     style::{Color, Modifier, Style},
[INFO] [stdout]    |             ^^^^^  ^^^^^^^^  ^^^^^
[INFO] [stdout]  9 |     text::{Line, Span},
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 10 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Tabs, Wrap},
[INFO] [stdout]    |                                      ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActionKey` and `NavigationKey`
[INFO] [stdout]   --> src/ui/components/help.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 |         keyboard::{ActionKey, NavigationKey, ShortcutManager},
[INFO] [stdout]    |                    ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/keyboard.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]  --> src/ui/diff/utils.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, warn};
[INFO] [stdout]   |               ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Clear`, `Constraint`, `Direction`, `Layout`, `Modifier`, `Text`, and `Wrap`
[INFO] [stdout]   --> src/ui/diff/inline_editor.rs:7:14
[INFO] [stdout]    |
[INFO] [stdout]  7 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]    |              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout]  8 |     style::{Color, Modifier, Style},
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]  9 |     text::{Line, Span, Text},
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 10 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Wrap},
[INFO] [stdout]    |                               ^^^^^                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]   --> src/ui/diff/inline_editor.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 |     cmp::{max, min},
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/ui/diff/inline_editor.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::{debug, info, warn};
[INFO] [stdout]    |               ^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]   --> src/ui/diff.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | use chrono::{DateTime, Utc};
[INFO] [stdout]    |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Clear`, `Line`, `ScrollbarOrientation`, `ScrollbarState`, `Scrollbar`, and `Text`
[INFO] [stdout]   --> src/ui/diff.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     text::{Line, Span, Text},
[INFO] [stdout]    |            ^^^^        ^^^^
[INFO] [stdout] 15 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Scrollbar, ScrollbarOrientation, ScrollbarState, Wrap},
[INFO] [stdout]    |                               ^^^^^                             ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/ui/selection.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::{debug, error, warn};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `style::Style`
[INFO] [stdout]   --> src/ui/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     style::Style,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SelectionMode` and `TextPosition`
[INFO] [stdout]   --> src/ui/mod.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 | use selection::{TextPosition, SelectionMode};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> src/ai/agents/code_analysis_agent.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use async_trait::async_trait;
[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: `Path`
[INFO] [stdout]   --> src/ai/agents/code_analysis_agent.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     path::{Path, PathBuf},
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/ai/recovery.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 | use tracing::{error, info, warn};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Branch`, `Oid`, `Reference`, `Repository`, and `Tag`
[INFO] [stdout]  --> src/git/workflow.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use git2::{Branch, BranchType, Oid, Reference, Repository, Tag};
[INFO] [stdout]   |            ^^^^^^              ^^^  ^^^^^^^^^  ^^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/git/workflow.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::Ordering`
[INFO] [stdout]    --> src/ui/components/sidebar.rs:242:29
[INFO] [stdout]     |
[INFO] [stdout] 242 |                         use std::cmp::Ordering;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/components/tabs.rs:5:43
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Utc`
[INFO] [stdout]   --> src/ui/components/tabs.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use chrono::Utc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SelectionMode` and `TextPosition`
[INFO] [stdout]   --> src/ui/components/tabs.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |         selection::{TextPosition, SelectionMode},
[INFO] [stdout]    |                     ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]   --> src/ui/components/diff_viewer.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::{debug, info};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/components/modals/confirmation.rs:3:43
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Line` and `Span`
[INFO] [stdout]  --> src/ui/components/modals/input.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     text::{Line, Span},
[INFO] [stdout]   |            ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `app::state::AppState`
[INFO] [stdout]   --> src/ui/components/modals/mod.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::{app::state::AppState, error::AppResult, ui::theme::Theme};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/components/search.rs:3:43
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Text`
[INFO] [stdout]  --> src/ui/components/search.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 |     text::{Line, Span, Text},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/ui/components/search.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Text` and `Wrap`
[INFO] [stdout]  --> src/ui/components/filter.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 |     text::{Line, Span, Text},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 8 |     widgets::{Block, Borders, Clear, List, ListItem, ListState, Paragraph, Wrap},
[INFO] [stdout]   |                                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, and `Layout`
[INFO] [stdout]  --> src/ui/components/global_search.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     layout::{Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Constraint`, `Direction`, `Layout`, and `Paragraph`
[INFO] [stdout]  --> src/ui/components/context_menu.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |     widgets::{Block, Borders, Clear, List, ListItem, ListState, Paragraph},
[INFO] [stdout]   |                                                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/ui/components/search_index.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/ui/components/search_index.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment` and `Text`
[INFO] [stdout]  --> src/ui/components/git_operations.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]   |              ^^^^^^^^^
[INFO] [stdout] 6 |     style::{Color, Modifier, Style},
[INFO] [stdout] 7 |     text::{Line, Span, Text},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/ui/components/git_operations.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/components/agent_manager.rs:3:43
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BarChart` and `Text`
[INFO] [stdout]  --> src/ui/components/agent_manager.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 |     text::{Line, Span, Text},
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 8 |     widgets::{Block, Borders, Clear, Gauge, List, ListItem, ListState, Paragraph, Tabs, Wrap, BarChart},
[INFO] [stdout]   |                                                                                               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `ListItem`, `List`, `Modifier`, `Span`, and `Style`
[INFO] [stdout]   --> src/ui/components/help.rs:8:13
[INFO] [stdout]    |
[INFO] [stdout]  8 |     style::{Color, Modifier, Style},
[INFO] [stdout]    |             ^^^^^  ^^^^^^^^  ^^^^^
[INFO] [stdout]  9 |     text::{Line, Span},
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 10 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Tabs, Wrap},
[INFO] [stdout]    |                                      ^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActionKey` and `NavigationKey`
[INFO] [stdout]   --> src/ui/components/help.rs:20:20
[INFO] [stdout]    |
[INFO] [stdout] 20 |         keyboard::{ActionKey, NavigationKey, ShortcutManager},
[INFO] [stdout]    |                    ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyModifiers`
[INFO] [stdout]  --> src/ui/keyboard.rs:6:43
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]  --> src/ui/diff/utils.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::{debug, warn};
[INFO] [stdout]   |               ^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alignment`, `Clear`, `Constraint`, `Direction`, `Layout`, `Modifier`, `Text`, and `Wrap`
[INFO] [stdout]   --> src/ui/diff/inline_editor.rs:7:14
[INFO] [stdout]    |
[INFO] [stdout]  7 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stdout]    |              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stdout]  8 |     style::{Color, Modifier, Style},
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout]  9 |     text::{Line, Span, Text},
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 10 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Wrap},
[INFO] [stdout]    |                               ^^^^^                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]   --> src/ui/diff/inline_editor.rs:15:11
[INFO] [stdout]    |
[INFO] [stdout] 15 |     cmp::{max, min},
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/ui/diff/inline_editor.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::{debug, info, warn};
[INFO] [stdout]    |               ^^^^^        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DateTime` and `Utc`
[INFO] [stdout]   --> src/ui/diff.rs:10:14
[INFO] [stdout]    |
[INFO] [stdout] 10 | use chrono::{DateTime, Utc};
[INFO] [stdout]    |              ^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Clear`, `Line`, `ScrollbarOrientation`, `ScrollbarState`, `Scrollbar`, and `Text`
[INFO] [stdout]   --> src/ui/diff.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     text::{Line, Span, Text},
[INFO] [stdout]    |            ^^^^        ^^^^
[INFO] [stdout] 15 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Scrollbar, ScrollbarOrientation, ScrollbarState, Wrap},
[INFO] [stdout]    |                               ^^^^^                             ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]  --> src/ui/selection.rs:9:22
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::{debug, error, warn};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `style::Style`
[INFO] [stdout]   --> src/ui/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     style::Style,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SelectionMode` and `TextPosition`
[INFO] [stdout]   --> src/ui/mod.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 | use selection::{TextPosition, SelectionMode};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Component`
[INFO] [stdout]   --> src/ui/components/tabs.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 |         components::{Component, DiffViewerComponent, modals::{InputModal, Modal, ModalResult}},
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> src/ai/agents/commit_agent.rs:386:9
[INFO] [stdout]     |
[INFO] [stdout] 386 |         request: &CommitGenerationRequest,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_data`
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:563:9
[INFO] [stdout]     |
[INFO] [stdout] 563 |         file_data: &HashMap<PathBuf, FileData>,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `agent_id`
[INFO] [stdout]    --> src/ai/health.rs:198:27
[INFO] [stdout]     |
[INFO] [stdout] 198 |     async fn check(&self, agent_id: &str) -> Result<HealthStatus, MonitorError> {
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]   --> src/git/operations.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let branch = self
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_id`
[INFO] [stdout]    --> src/git/operations.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let tag_id = if let Some(msg) = message {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repo_guard`
[INFO] [stdout]     --> src/git/service.rs:1180:13
[INFO] [stdout]      |
[INFO] [stdout] 1180 |         let repo_guard = tokio::task::block_in_place(|| {
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_repo_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `upstream`
[INFO] [stdout]    --> src/ui/components/sidebar.rs:173:48
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   } else if let Some(ref upstream) = branch.upstream {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_upstream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/diff.rs:765:103
[INFO] [stdout]     |
[INFO] [stdout] 765 | ...: &FileDiff, is_old: bool, theme: &Theme) -> AppResult<()> {
[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]    --> src/ui/diff.rs:818:92
[INFO] [stdout]     |
[INFO] [stdout] 818 |     async fn render_unified(&mut self, frame: &mut Frame<'_>, area: Rect, diff: &FileDiff, theme: &Theme) -> AppResult<()> {
[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]    --> src/ui/components/diff_viewer.rs:366:98
[INFO] [stdout]     |
[INFO] [stdout] 366 |     async fn render_stats_overlay(&self, frame: &mut Frame<'_>, area: Rect, viewer: &DiffViewer, theme: &Theme) {
[INFO] [stdout]     |                                                                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Component`
[INFO] [stdout]   --> src/ui/components/tabs.rs:21:22
[INFO] [stdout]    |
[INFO] [stdout] 21 |         components::{Component, DiffViewerComponent, modals::{InputModal, Modal, ModalResult}},
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/components/diff_viewer.rs:284:65
[INFO] [stdout]     |
[INFO] [stdout] 284 |     fn render_loading(&self, frame: &mut Frame<'_>, area: Rect, 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]    --> src/ui/components/diff_viewer.rs:308:76
[INFO] [stdout]     |
[INFO] [stdout] 308 |     fn render_error(&self, frame: &mut Frame<'_>, area: Rect, error: &str, 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]    --> src/ui/components/diff_viewer.rs:324:70
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn render_help_overlay(&self, frame: &mut Frame<'_>, area: Rect, theme: &Theme) {
[INFO] [stdout]     |                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `viewer`
[INFO] [stdout]    --> src/ui/components/diff_viewer.rs:426:13
[INFO] [stdout]     |
[INFO] [stdout] 426 |         let viewer = self.viewer.read().await;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_viewer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `viewer`
[INFO] [stdout]    --> src/ui/components/diff_viewer.rs:434:13
[INFO] [stdout]     |
[INFO] [stdout] 434 |         let viewer = self.viewer.read().await;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_viewer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/components/search.rs:491:65
[INFO] [stdout]     |
[INFO] [stdout] 491 |     fn render_results(&mut self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stdout]     |                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> src/ai/agents/commit_agent.rs:386:9
[INFO] [stdout]     |
[INFO] [stdout] 386 |         request: &CommitGenerationRequest,
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/ui/components/filter.rs:427:35
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn matches_size_filter(&self, size: u64, filter: &str) -> bool {
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> src/ui/components/filter.rs:427:46
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn matches_size_filter(&self, size: u64, filter: &str) -> bool {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/components/filter.rs:531:72
[INFO] [stdout]     |
[INFO] [stdout] 531 |     fn render_type_selection(&mut self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commit`
[INFO] [stdout]    --> src/ui/components/commit_history.rs:350:66
[INFO] [stdout]     |
[INFO] [stdout] 350 |     fn render_commit_files(&self, frame: &mut Frame, area: Rect, commit: &CommitInfo, theme: &Theme) {
[INFO] [stdout]     |                                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_commit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/components/commit_history.rs:378:84
[INFO] [stdout]     |
[INFO] [stdout] 378 |     fn render_footer(&self, frame: &mut Frame, area: Rect, commits: &[CommitInfo], 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]    --> src/ui/components/commit_history.rs:407:13
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let mut filtered: Vec<CommitInfo> = all_commits.into_iter()
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/components/commit_history.rs:548:59
[INFO] [stdout]     |
[INFO] [stdout] 548 |     fn handle_details_key_event(&mut self, key: KeyEvent, state: &mut AppState) -> AppResult<()> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commit`
[INFO] [stdout]    --> src/ui/components/commit_history.rs:572:36
[INFO] [stdout]     |
[INFO] [stdout] 572 |     fn load_commit_diff(&mut self, commit: &CommitInfo, _state: &AppState) -> AppResult<()> {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_commit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:236:51
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn get_context_menu_items_for_position(&self, position: (u16, u16), area: Rect) -> Vec<MenuItem> {
[INFO] [stdout]     |                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:236:73
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn get_context_menu_items_for_position(&self, position: (u16, u16), area: Rect) -> Vec<MenuItem> {
[INFO] [stdout]     |                                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:278:41
[INFO] [stdout]     |
[INFO] [stdout] 278 |     pub fn get_file_context_menu(&self, file_path: &str) -> Vec<MenuItem> {
[INFO] [stdout]     |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commit_hash`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:328:43
[INFO] [stdout]     |
[INFO] [stdout] 328 |     pub fn get_commit_context_menu(&self, commit_hash: &str) -> Vec<MenuItem> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commit_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch_name`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:361:43
[INFO] [stdout]     |
[INFO] [stdout] 361 |     pub fn get_branch_context_menu(&self, branch_name: &str, is_current: bool) -> Vec<MenuItem> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_name`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let tag_name = context.get_data("tag_name").unwrap_or(&String::new());
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remote_name`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let remote_name = context.get_data("remote_name").unwrap_or(&String::new());
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remote_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stash_index`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let stash_index = context.get_data("stash_index").unwrap_or(&String::new());
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stash_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:197:36
[INFO] [stdout]     |
[INFO] [stdout] 197 |     fn generate_search_menu(&self, context: &ContextInfo) -> Vec<MenuItem> {
[INFO] [stdout]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:226:34
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn generate_diff_menu(&self, context: &ContextInfo) -> Vec<MenuItem> {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:260:37
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn generate_general_menu(&self, context: &ContextInfo) -> Vec<MenuItem> {
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:319:58
[INFO] [stdout]     |
[INFO] [stdout] 319 |     pub fn execute_action(&mut self, action: MenuAction, state: &mut AppState) -> AppResult<()> {
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ui/components/shortcuts.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut key_part = parts[parts.len() - 1];
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/ui/components/search_cache.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let now = Instant::now();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/ui/components/search_cache.rs:222:17
[INFO] [stdout]     |
[INFO] [stdout] 222 |             let key = CacheKey::new(query, scope.clone(), &FilterCriteria::default());
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/components/git_operations.rs:707:62
[INFO] [stdout]     |
[INFO] [stdout] 707 |     fn render_help_bar(&self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/ui/components/git_operations.rs:910:37
[INFO] [stdout]     |
[INFO] [stdout] 910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/ui/components/git_operations.rs:932:36
[INFO] [stdout]     |
[INFO] [stdout] 932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/ui/components/git_operations.rs:976:36
[INFO] [stdout]     |
[INFO] [stdout] 976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1016:34
[INFO] [stdout]      |
[INFO] [stdout] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1060:37
[INFO] [stdout]      |
[INFO] [stdout] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1489:33
[INFO] [stdout]      |
[INFO] [stdout] 1489 | ...                   let len = self.history_commits.len();
[INFO] [stdout]      |                           ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1500:33
[INFO] [stdout]      |
[INFO] [stdout] 1500 | ...                   let len = self.history_commits.len();
[INFO] [stdout]      |                           ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_lines`
[INFO] [stdout]    --> src/ui/diff/utils.rs:110:25
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (old_start, old_lines) = Self::parse_range(old_part.trim_start_matches('-'))?;
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_lines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_lines`
[INFO] [stdout]    --> src/ui/diff/utils.rs:111:25
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let (new_start, new_lines) = Self::parse_range(new_part.trim_start_matches('+'))?;
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_lines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `temp_new_pos` is assigned to, but never used
[INFO] [stdout]    --> src/ui/diff/utils.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 |             let mut temp_new_pos = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_temp_new_pos` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `temp_new_pos` is never read
[INFO] [stdout]    --> src/ui/diff/utils.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |                 temp_new_pos += new_word.len() + 1; // +1 for space
[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: unused variable: `selection`
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:684:21
[INFO] [stdout]     |
[INFO] [stdout] 684 |         if let Some(selection) = self.selection {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:721:74
[INFO] [stdout]     |
[INFO] [stdout] 721 |     fn render_text_content(&mut self, frame: &mut Frame<'_>, area: Rect, theme: &Theme) -> AppResult<()> {
[INFO] [stdout]     |                                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:725:14
[INFO] [stdout]     |
[INFO] [stdout] 725 |         for (i, line_idx) in (self.scroll_offset..end_line).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:760:87
[INFO] [stdout]     |
[INFO] [stdout] 760 |     fn render_status_message(&self, frame: &mut Frame<'_>, area: Rect, message: &str, theme: &Theme) {
[INFO] [stdout]     |                                                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_data`
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:563:9
[INFO] [stdout]     |
[INFO] [stdout] 563 |         file_data: &HashMap<PathBuf, FileData>,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `request`
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:766:13
[INFO] [stdout]     |
[INFO] [stdout] 766 |         let request = CodeAnalysisRequest {
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:783:13
[INFO] [stdout]     |
[INFO] [stdout] 783 |         let config = CodeAnalysisConfig::default();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_cases`
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:787:13
[INFO] [stdout]     |
[INFO] [stdout] 787 |         let test_cases = vec![
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_cases`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/mod.rs:511:71
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn render_file_tree_section(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |                                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/mod.rs:595:64
[INFO] [stdout]     |
[INFO] [stdout] 595 |     fn render_commit_log(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |                                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/mod.rs:625:67
[INFO] [stdout]     |
[INFO] [stdout] 625 |     fn render_details_panel(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |                                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/mod.rs:728:12
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn new(theme: &Theme) -> Self {
[INFO] [stdout]     |            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AgentStats` is more private than the item `CodeAnalysisAgent::stats`
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:719:5
[INFO] [stdout]     |
[INFO] [stdout] 719 |     pub fn stats(&self) -> &AgentStats {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `CodeAnalysisAgent::stats` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `AgentStats` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:278:1
[INFO] [stdout]     |
[INFO] [stdout] 278 | struct AgentStats {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ClientStats` is more private than the item `HttpAIClient::stats`
[INFO] [stdout]    --> src/ai/client.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     pub fn stats(&self) -> &ClientStats {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `HttpAIClient::stats` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ClientStats` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ai/client.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | struct ClientStats {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prompt_templates` and `git_service` are never read
[INFO] [stdout]    --> src/ai/agents/commit_agent.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout]  88 | pub struct CommitAgent {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     prompt_templates: HashMap<CommitMessageStyle, String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 |     /// Git service for analysis
[INFO] [stdout] 108 |     git_service: Option<GitService>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cache_hits` is never read
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | struct AgentStats {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 282 |     cache_hits: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AgentStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_cache_key` is never used
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:689:8
[INFO] [stdout]     |
[INFO] [stdout] 289 | impl CodeAnalysisAgent {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 689 |     fn generate_cache_key(&self, request: &CodeAnalysisRequest) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:745:5
[INFO] [stdout]     |
[INFO] [stdout] 742 | struct FileData {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 745 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileData` 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 `failed_requests` and `last_request_time` are never read
[INFO] [stdout]    --> src/ai/client.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 204 | struct ClientStats {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 207 |     failed_requests: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 208 |     total_response_time: Duration,
[INFO] [stdout] 209 |     last_request_time: Option<DateTime<Utc>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClientStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_stats` is never used
[INFO] [stdout]    --> src/ai/client.rs:410:8
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl HttpAIClient {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 410 |     fn update_stats(&mut self, success: bool, response_time: Duration) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> src/ai/health.rs:305:5
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub struct HealthMonitor {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 305 |     config: HealthMonitorConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `message_receiver` and `last_health_check` are never read
[INFO] [stdout]   --> src/ai/manager.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | struct ManagedAgent {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 83 |     message_receiver: Option<mpsc::UnboundedReceiver<super::message_bus::AgentMessage>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 84 |     /// Last health check timestamp
[INFO] [stdout] 85 |     last_health_check: DateTime<Utc>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `task_counter` is never read
[INFO] [stdout]   --> src/ai/manager.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct AgentManager {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 99 |     task_counter: Arc<RwLock<u64>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total_tasks_failed` is never read
[INFO] [stdout]    --> src/ai/manager.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | struct SystemMetrics {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub total_tasks_failed: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SystemMetrics` 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 `config` is never read
[INFO] [stdout]    --> src/ai/metrics_collector.rs:476:5
[INFO] [stdout]     |
[INFO] [stdout] 470 | pub struct MetricsCollector {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 476 |     config: MetricsConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> src/ai/recovery.rs:440:5
[INFO] [stdout]     |
[INFO] [stdout] 439 | pub struct FailureDetector {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 440 |     config: FailureDetectionConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureDetector` 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 `config` is never read
[INFO] [stdout]   --> src/app/mod.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct App {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 48 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `git_service` is never read
[INFO] [stdout]    --> src/git/workflow.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct GitWorkflowManager {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 140 |     git_service: Arc<GitService>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/ui/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct UI {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     config: UIConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `render_main_content`, `render_sync_status`, `render_center_content`, `render_commit_log`, and `render_details_panel` are never used
[INFO] [stdout]    --> src/ui/mod.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl UI {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 392 |     fn render_main_content(&mut self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 466 |     fn render_sync_status(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 577 |     fn render_center_content(&mut self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 595 |     fn render_commit_log(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 625 |     fn render_details_panel(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sidebar` is never read
[INFO] [stdout]    --> src/ui/mod.rs:716:9
[INFO] [stdout]     |
[INFO] [stdout] 715 | struct UIComponents {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 716 |     pub sidebar: SidebarComponent,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render_empty_list` is never used
[INFO] [stdout]    --> src/ui/components/sidebar.rs:696:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl SidebarComponent {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 696 |     fn render_empty_list(&self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `loaded_count` and `should_load_more` are never used
[INFO] [stdout]   --> src/ui/components/tabs.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl CommitsPagination {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     fn loaded_count(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     fn should_load_more(&self, current_index: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_file_diff` is never used
[INFO] [stdout]    --> src/ui/components/tabs.rs:297:14
[INFO] [stdout]     |
[INFO] [stdout] 295 | impl StatusTabComponent {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 296 |     /// 加载文件差异到差异查看器
[INFO] [stdout] 297 |     async fn load_file_diff(&mut self, file_status: &crate::git::FileStatus, state: &AppState) -> AppResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Actions` is never constructed
[INFO] [stdout]    --> src/ui/components/tabs.rs:326:5
[INFO] [stdout]     |
[INFO] [stdout] 323 | enum BranchViewMode {
[INFO] [stdout]     |      -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 326 |     Actions, // Focus on action buttons
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BranchViewMode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `search_sender` is never read
[INFO] [stdout]    --> src/ui/components/search.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout]  89 | pub struct SearchComponent {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 101 |     search_sender: Option<mpsc::UnboundedSender<SearchRequest>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `branch_colors` is never read
[INFO] [stdout]   --> src/ui/components/commit_history.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct CommitHistoryComponent {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     branch_colors: HashMap<String, Color>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `render_operation_details`, `render_rebase_details`, `render_merge_details`, `render_stash_details`, `render_tag_details`, and `render_remote_details` are never used
[INFO] [stdout]     --> src/ui/components/git_operations.rs:885:8
[INFO] [stdout]      |
[INFO] [stdout]  334 | impl GitOperationsComponent {
[INFO] [stdout]      | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  885 |     fn render_operation_details(&self, frame: &mut Frame, area: Rect, operation: &GitOperation, theme: &Theme) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `logs_scroll` and `metrics_history` are never read
[INFO] [stdout]    --> src/ui/components/agent_manager.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct AgentManagerComponent {
[INFO] [stdout]     |            --------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 161 |     logs_scroll: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 162 |     metrics_history: Vec<(Instant, HashMap<String, f64>)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `shortcut_manager` and `selected_index` are never read
[INFO] [stdout]   --> src/ui/components/help.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct HelpComponent {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     shortcut_manager: ShortcutManager,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     /// Selected help item index
[INFO] [stdout] 33 |     selected_index: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `language_cache` is never read
[INFO] [stdout]    --> src/ui/diff.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub struct SyntaxHighlighter {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 168 |     config: SyntaxHighlighterConfig,
[INFO] [stdout] 169 |     language_cache: Arc<RwLock<HashMap<String, String>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `highlighter` is never read
[INFO] [stdout]    --> src/ui/diff.rs:631:5
[INFO] [stdout]     |
[INFO] [stdout] 628 | pub struct DiffViewer {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 631 |     highlighter: SyntaxHighlighter,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `viewport_start`, `viewport_end`, `total_lines`, and `line_height` are never read
[INFO] [stdout]    --> src/ui/diff.rs:642:5
[INFO] [stdout]     |
[INFO] [stdout] 640 | struct VirtualScrollState {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 641 |     /// 可见区域开始行
[INFO] [stdout] 642 |     viewport_start: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 643 |     /// 可见区域结束行
[INFO] [stdout] 644 |     viewport_end: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 645 |     /// 总行数
[INFO] [stdout] 646 |     total_lines: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 647 |     /// 每行高度（字符单位）
[INFO] [stdout] 648 |     line_height: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VirtualScrollState` 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 `search_query`, `search_results`, and `current_search_index` are never read
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct InlineEditor {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 174 |     search_query: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 175 |     /// 搜索结果
[INFO] [stdout] 176 |     search_results: Vec<CursorPosition>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 177 |     /// 当前搜索结果索引
[INFO] [stdout] 178 |     current_search_index: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/components/git_operations.rs:910:30
[INFO] [stdout]     |
[INFO] [stdout] 910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> 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]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/components/git_operations.rs:932:29
[INFO] [stdout]     |
[INFO] [stdout] 932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> 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] 932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/components/git_operations.rs:976:29
[INFO] [stdout]     |
[INFO] [stdout] 976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> 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] 976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1016:27
[INFO] [stdout]      |
[INFO] [stdout] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> 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] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]      |                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1060:30
[INFO] [stdout]      |
[INFO] [stdout] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> 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] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]      |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/diff.rs:210:33
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub async fn highlight_line(&self, line: &str, language: &str) -> Vec<Span> {
[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] 210 |     pub async fn highlight_line(&self, line: &str, language: &str) -> Vec<Span<'_>> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/diff.rs:221:31
[INFO] [stdout]     |
[INFO] [stdout] 221 |     async fn simple_highlight(&self, line: &str, language: &str) -> Vec<Span> {
[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] 221 |     async fn simple_highlight(&self, line: &str, language: &str) -> Vec<Span<'_>> {
[INFO] [stdout]     |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `agent_id`
[INFO] [stdout]    --> src/ai/health.rs:198:27
[INFO] [stdout]     |
[INFO] [stdout] 198 |     async fn check(&self, agent_id: &str) -> Result<HealthStatus, MonitorError> {
[INFO] [stdout]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch`
[INFO] [stdout]   --> src/git/operations.rs:50:13
[INFO] [stdout]    |
[INFO] [stdout] 50 |         let branch = self
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_id`
[INFO] [stdout]    --> src/git/operations.rs:161:13
[INFO] [stdout]     |
[INFO] [stdout] 161 |         let tag_id = if let Some(msg) = message {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `repo_guard`
[INFO] [stdout]     --> src/git/service.rs:1180:13
[INFO] [stdout]      |
[INFO] [stdout] 1180 |         let repo_guard = tokio::task::block_in_place(|| {
[INFO] [stdout]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_repo_guard`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `upstream`
[INFO] [stdout]    --> src/ui/components/sidebar.rs:173:48
[INFO] [stdout]     |
[INFO] [stdout] 173 | ...                   } else if let Some(ref upstream) = branch.upstream {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_upstream`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/diff.rs:765:103
[INFO] [stdout]     |
[INFO] [stdout] 765 | ...: &FileDiff, is_old: bool, theme: &Theme) -> AppResult<()> {
[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]    --> src/ui/diff.rs:818:92
[INFO] [stdout]     |
[INFO] [stdout] 818 |     async fn render_unified(&mut self, frame: &mut Frame<'_>, area: Rect, diff: &FileDiff, theme: &Theme) -> AppResult<()> {
[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]    --> src/ui/components/diff_viewer.rs:366:98
[INFO] [stdout]     |
[INFO] [stdout] 366 |     async fn render_stats_overlay(&self, frame: &mut Frame<'_>, area: Rect, viewer: &DiffViewer, 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]    --> src/ui/components/diff_viewer.rs:284:65
[INFO] [stdout]     |
[INFO] [stdout] 284 |     fn render_loading(&self, frame: &mut Frame<'_>, area: Rect, 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]    --> src/ui/components/diff_viewer.rs:308:76
[INFO] [stdout]     |
[INFO] [stdout] 308 |     fn render_error(&self, frame: &mut Frame<'_>, area: Rect, error: &str, 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]    --> src/ui/components/diff_viewer.rs:324:70
[INFO] [stdout]     |
[INFO] [stdout] 324 |     fn render_help_overlay(&self, frame: &mut Frame<'_>, area: Rect, theme: &Theme) {
[INFO] [stdout]     |                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `viewer`
[INFO] [stdout]    --> src/ui/components/diff_viewer.rs:426:13
[INFO] [stdout]     |
[INFO] [stdout] 426 |         let viewer = self.viewer.read().await;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_viewer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `viewer`
[INFO] [stdout]    --> src/ui/components/diff_viewer.rs:434:13
[INFO] [stdout]     |
[INFO] [stdout] 434 |         let viewer = self.viewer.read().await;
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_viewer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/components/search.rs:491:65
[INFO] [stdout]     |
[INFO] [stdout] 491 |     fn render_results(&mut self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stdout]     |                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/ui/components/filter.rs:427:35
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn matches_size_filter(&self, size: u64, filter: &str) -> bool {
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `filter`
[INFO] [stdout]    --> src/ui/components/filter.rs:427:46
[INFO] [stdout]     |
[INFO] [stdout] 427 |     fn matches_size_filter(&self, size: u64, filter: &str) -> bool {
[INFO] [stdout]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/components/filter.rs:531:72
[INFO] [stdout]     |
[INFO] [stdout] 531 |     fn render_type_selection(&mut self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stdout]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commit`
[INFO] [stdout]    --> src/ui/components/commit_history.rs:350:66
[INFO] [stdout]     |
[INFO] [stdout] 350 |     fn render_commit_files(&self, frame: &mut Frame, area: Rect, commit: &CommitInfo, theme: &Theme) {
[INFO] [stdout]     |                                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_commit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/components/commit_history.rs:378:84
[INFO] [stdout]     |
[INFO] [stdout] 378 |     fn render_footer(&self, frame: &mut Frame, area: Rect, commits: &[CommitInfo], 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]    --> src/ui/components/commit_history.rs:407:13
[INFO] [stdout]     |
[INFO] [stdout] 407 |         let mut filtered: Vec<CommitInfo> = all_commits.into_iter()
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/components/commit_history.rs:548:59
[INFO] [stdout]     |
[INFO] [stdout] 548 |     fn handle_details_key_event(&mut self, key: KeyEvent, state: &mut AppState) -> AppResult<()> {
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commit`
[INFO] [stdout]    --> src/ui/components/commit_history.rs:572:36
[INFO] [stdout]     |
[INFO] [stdout] 572 |     fn load_commit_diff(&mut self, commit: &CommitInfo, _state: &AppState) -> AppResult<()> {
[INFO] [stdout]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_commit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:236:51
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn get_context_menu_items_for_position(&self, position: (u16, u16), area: Rect) -> Vec<MenuItem> {
[INFO] [stdout]     |                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:236:73
[INFO] [stdout]     |
[INFO] [stdout] 236 |     fn get_context_menu_items_for_position(&self, position: (u16, u16), area: Rect) -> Vec<MenuItem> {
[INFO] [stdout]     |                                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_path`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:278:41
[INFO] [stdout]     |
[INFO] [stdout] 278 |     pub fn get_file_context_menu(&self, file_path: &str) -> Vec<MenuItem> {
[INFO] [stdout]     |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commit_hash`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:328:43
[INFO] [stdout]     |
[INFO] [stdout] 328 |     pub fn get_commit_context_menu(&self, commit_hash: &str) -> Vec<MenuItem> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commit_hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `branch_name`
[INFO] [stdout]    --> src/ui/components/context_menu.rs:361:43
[INFO] [stdout]     |
[INFO] [stdout] 361 |     pub fn get_branch_context_menu(&self, branch_name: &str, is_current: bool) -> Vec<MenuItem> {
[INFO] [stdout]     |                                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag_name`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let tag_name = context.get_data("tag_name").unwrap_or(&String::new());
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `remote_name`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let remote_name = context.get_data("remote_name").unwrap_or(&String::new());
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remote_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stash_index`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let stash_index = context.get_data("stash_index").unwrap_or(&String::new());
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stash_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:197:36
[INFO] [stdout]     |
[INFO] [stdout] 197 |     fn generate_search_menu(&self, context: &ContextInfo) -> Vec<MenuItem> {
[INFO] [stdout]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:226:34
[INFO] [stdout]     |
[INFO] [stdout] 226 |     fn generate_diff_menu(&self, context: &ContextInfo) -> Vec<MenuItem> {
[INFO] [stdout]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:260:37
[INFO] [stdout]     |
[INFO] [stdout] 260 |     fn generate_general_menu(&self, context: &ContextInfo) -> Vec<MenuItem> {
[INFO] [stdout]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/components/context_manager.rs:319:58
[INFO] [stdout]     |
[INFO] [stdout] 319 |     pub fn execute_action(&mut self, action: MenuAction, state: &mut AppState) -> AppResult<()> {
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ui/components/shortcuts.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let mut key_part = parts[parts.len() - 1];
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]    --> src/ui/components/search_cache.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let now = Instant::now();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/ui/components/search_cache.rs:222:17
[INFO] [stdout]     |
[INFO] [stdout] 222 |             let key = CacheKey::new(query, scope.clone(), &FilterCriteria::default());
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/components/git_operations.rs:707:62
[INFO] [stdout]     |
[INFO] [stdout] 707 |     fn render_help_bar(&self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/ui/components/git_operations.rs:910:37
[INFO] [stdout]     |
[INFO] [stdout] 910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/ui/components/git_operations.rs:932:36
[INFO] [stdout]     |
[INFO] [stdout] 932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/ui/components/git_operations.rs:976:36
[INFO] [stdout]     |
[INFO] [stdout] 976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1016:34
[INFO] [stdout]      |
[INFO] [stdout] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1060:37
[INFO] [stdout]      |
[INFO] [stdout] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1489:33
[INFO] [stdout]      |
[INFO] [stdout] 1489 | ...                   let len = self.history_commits.len();
[INFO] [stdout]      |                           ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1500:33
[INFO] [stdout]      |
[INFO] [stdout] 1500 | ...                   let len = self.history_commits.len();
[INFO] [stdout]      |                           ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_lines`
[INFO] [stdout]    --> src/ui/diff/utils.rs:110:25
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let (old_start, old_lines) = Self::parse_range(old_part.trim_start_matches('-'))?;
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_lines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_lines`
[INFO] [stdout]    --> src/ui/diff/utils.rs:111:25
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let (new_start, new_lines) = Self::parse_range(new_part.trim_start_matches('+'))?;
[INFO] [stdout]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_lines`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `temp_new_pos` is assigned to, but never used
[INFO] [stdout]    --> src/ui/diff/utils.rs:159:17
[INFO] [stdout]     |
[INFO] [stdout] 159 |             let mut temp_new_pos = 0;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_temp_new_pos` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `temp_new_pos` is never read
[INFO] [stdout]    --> src/ui/diff/utils.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |                 temp_new_pos += new_word.len() + 1; // +1 for space
[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: unused variable: `selection`
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:684:21
[INFO] [stdout]     |
[INFO] [stdout] 684 |         if let Some(selection) = self.selection {
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:721:74
[INFO] [stdout]     |
[INFO] [stdout] 721 |     fn render_text_content(&mut self, frame: &mut Frame<'_>, area: Rect, theme: &Theme) -> AppResult<()> {
[INFO] [stdout]     |                                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:725:14
[INFO] [stdout]     |
[INFO] [stdout] 725 |         for (i, line_idx) in (self.scroll_offset..end_line).enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:760:87
[INFO] [stdout]     |
[INFO] [stdout] 760 |     fn render_status_message(&self, frame: &mut Frame<'_>, area: Rect, message: &str, theme: &Theme) {
[INFO] [stdout]     |                                                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/mod.rs:511:71
[INFO] [stdout]     |
[INFO] [stdout] 511 |     fn render_file_tree_section(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |                                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/mod.rs:595:64
[INFO] [stdout]     |
[INFO] [stdout] 595 |     fn render_commit_log(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |                                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/ui/mod.rs:625:67
[INFO] [stdout]     |
[INFO] [stdout] 625 |     fn render_details_panel(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |                                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/mod.rs:728:12
[INFO] [stdout]     |
[INFO] [stdout] 728 |     fn new(theme: &Theme) -> Self {
[INFO] [stdout]     |            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `AgentStats` is more private than the item `CodeAnalysisAgent::stats`
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:719:5
[INFO] [stdout]     |
[INFO] [stdout] 719 |     pub fn stats(&self) -> &AgentStats {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `CodeAnalysisAgent::stats` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `AgentStats` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:278:1
[INFO] [stdout]     |
[INFO] [stdout] 278 | struct AgentStats {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ClientStats` is more private than the item `HttpAIClient::stats`
[INFO] [stdout]    --> src/ai/client.rs:530:5
[INFO] [stdout]     |
[INFO] [stdout] 530 |     pub fn stats(&self) -> &ClientStats {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `HttpAIClient::stats` is reachable at visibility `pub`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ClientStats` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/ai/client.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | struct ClientStats {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `prompt_templates` and `git_service` are never read
[INFO] [stdout]    --> src/ai/agents/commit_agent.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout]  88 | pub struct CommitAgent {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     prompt_templates: HashMap<CommitMessageStyle, String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 |     /// Git service for analysis
[INFO] [stdout] 108 |     git_service: Option<GitService>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cache_hits` is never read
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | struct AgentStats {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 282 |     cache_hits: u64,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AgentStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_cache_key` is never used
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:689:8
[INFO] [stdout]     |
[INFO] [stdout] 289 | impl CodeAnalysisAgent {
[INFO] [stdout]     | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 689 |     fn generate_cache_key(&self, request: &CodeAnalysisRequest) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]    --> src/ai/agents/code_analysis_agent.rs:745:5
[INFO] [stdout]     |
[INFO] [stdout] 742 | struct FileData {
[INFO] [stdout]     |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 745 |     size: usize,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileData` 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 `failed_requests` and `last_request_time` are never read
[INFO] [stdout]    --> src/ai/client.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 204 | struct ClientStats {
[INFO] [stdout]     |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 207 |     failed_requests: u64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 208 |     total_response_time: Duration,
[INFO] [stdout] 209 |     last_request_time: Option<DateTime<Utc>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClientStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_stats` is never used
[INFO] [stdout]    --> src/ai/client.rs:410:8
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl HttpAIClient {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 410 |     fn update_stats(&mut self, success: bool, response_time: Duration) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> src/ai/health.rs:305:5
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub struct HealthMonitor {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 305 |     config: HealthMonitorConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `message_receiver` and `last_health_check` are never read
[INFO] [stdout]   --> src/ai/manager.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 75 | struct ManagedAgent {
[INFO] [stdout]    |        ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 83 |     message_receiver: Option<mpsc::UnboundedReceiver<super::message_bus::AgentMessage>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 84 |     /// Last health check timestamp
[INFO] [stdout] 85 |     last_health_check: DateTime<Utc>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `task_counter` is never read
[INFO] [stdout]   --> src/ai/manager.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct AgentManager {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 99 |     task_counter: Arc<RwLock<u64>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total_tasks_failed` is never read
[INFO] [stdout]    --> src/ai/manager.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 106 | struct SystemMetrics {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub total_tasks_failed: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SystemMetrics` 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 `config` is never read
[INFO] [stdout]    --> src/ai/metrics_collector.rs:476:5
[INFO] [stdout]     |
[INFO] [stdout] 470 | pub struct MetricsCollector {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 476 |     config: MetricsConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]    --> src/ai/recovery.rs:440:5
[INFO] [stdout]     |
[INFO] [stdout] 439 | pub struct FailureDetector {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 440 |     config: FailureDetectionConfig,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FailureDetector` 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 `config` is never read
[INFO] [stdout]   --> src/app/mod.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct App {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 48 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `git_service` is never read
[INFO] [stdout]    --> src/git/workflow.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub struct GitWorkflowManager {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 140 |     git_service: Arc<GitService>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/ui/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct UI {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     config: UIConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `render_main_content`, `render_sync_status`, `render_center_content`, `render_commit_log`, and `render_details_panel` are never used
[INFO] [stdout]    --> src/ui/mod.rs:392:8
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl UI {
[INFO] [stdout]     | ------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 392 |     fn render_main_content(&mut self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 466 |     fn render_sync_status(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 577 |     fn render_center_content(&mut self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 595 |     fn render_commit_log(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 625 |     fn render_details_panel(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `sidebar` is never read
[INFO] [stdout]    --> src/ui/mod.rs:716:9
[INFO] [stdout]     |
[INFO] [stdout] 715 | struct UIComponents {
[INFO] [stdout]     |        ------------ field in this struct
[INFO] [stdout] 716 |     pub sidebar: SidebarComponent,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `render_empty_list` is never used
[INFO] [stdout]    --> src/ui/components/sidebar.rs:696:8
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl SidebarComponent {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 696 |     fn render_empty_list(&self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `loaded_count` and `should_load_more` are never used
[INFO] [stdout]   --> src/ui/components/tabs.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl CommitsPagination {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 67 |     fn loaded_count(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     fn should_load_more(&self, current_index: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_file_diff` is never used
[INFO] [stdout]    --> src/ui/components/tabs.rs:297:14
[INFO] [stdout]     |
[INFO] [stdout] 295 | impl StatusTabComponent {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 296 |     /// 加载文件差异到差异查看器
[INFO] [stdout] 297 |     async fn load_file_diff(&mut self, file_status: &crate::git::FileStatus, state: &AppState) -> AppResult<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Actions` is never constructed
[INFO] [stdout]    --> src/ui/components/tabs.rs:326:5
[INFO] [stdout]     |
[INFO] [stdout] 323 | enum BranchViewMode {
[INFO] [stdout]     |      -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 326 |     Actions, // Focus on action buttons
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BranchViewMode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `search_sender` is never read
[INFO] [stdout]    --> src/ui/components/search.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout]  89 | pub struct SearchComponent {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 101 |     search_sender: Option<mpsc::UnboundedSender<SearchRequest>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `branch_colors` is never read
[INFO] [stdout]   --> src/ui/components/commit_history.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct CommitHistoryComponent {
[INFO] [stdout]    |            ---------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 46 |     branch_colors: HashMap<String, Color>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `render_operation_details`, `render_rebase_details`, `render_merge_details`, `render_stash_details`, `render_tag_details`, and `render_remote_details` are never used
[INFO] [stdout]     --> src/ui/components/git_operations.rs:885:8
[INFO] [stdout]      |
[INFO] [stdout]  334 | impl GitOperationsComponent {
[INFO] [stdout]      | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  885 |     fn render_operation_details(&self, frame: &mut Frame, area: Rect, operation: &GitOperation, theme: &Theme) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `logs_scroll` and `metrics_history` are never read
[INFO] [stdout]    --> src/ui/components/agent_manager.rs:161:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct AgentManagerComponent {
[INFO] [stdout]     |            --------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 161 |     logs_scroll: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 162 |     metrics_history: Vec<(Instant, HashMap<String, f64>)>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `shortcut_manager` and `selected_index` are never read
[INFO] [stdout]   --> src/ui/components/help.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct HelpComponent {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     shortcut_manager: ShortcutManager,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 32 |     /// Selected help item index
[INFO] [stdout] 33 |     selected_index: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `language_cache` is never read
[INFO] [stdout]    --> src/ui/diff.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub struct SyntaxHighlighter {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 168 |     config: SyntaxHighlighterConfig,
[INFO] [stdout] 169 |     language_cache: Arc<RwLock<HashMap<String, String>>>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `highlighter` is never read
[INFO] [stdout]    --> src/ui/diff.rs:631:5
[INFO] [stdout]     |
[INFO] [stdout] 628 | pub struct DiffViewer {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 631 |     highlighter: SyntaxHighlighter,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `viewport_start`, `viewport_end`, `total_lines`, and `line_height` are never read
[INFO] [stdout]    --> src/ui/diff.rs:642:5
[INFO] [stdout]     |
[INFO] [stdout] 640 | struct VirtualScrollState {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 641 |     /// 可见区域开始行
[INFO] [stdout] 642 |     viewport_start: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 643 |     /// 可见区域结束行
[INFO] [stdout] 644 |     viewport_end: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 645 |     /// 总行数
[INFO] [stdout] 646 |     total_lines: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 647 |     /// 每行高度（字符单位）
[INFO] [stdout] 648 |     line_height: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VirtualScrollState` 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 `search_query`, `search_results`, and `current_search_index` are never read
[INFO] [stdout]    --> src/ui/diff/inline_editor.rs:174:5
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct InlineEditor {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 174 |     search_query: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 175 |     /// 搜索结果
[INFO] [stdout] 176 |     search_results: Vec<CursorPosition>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 177 |     /// 当前搜索结果索引
[INFO] [stdout] 178 |     current_search_index: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/components/git_operations.rs:910:30
[INFO] [stdout]     |
[INFO] [stdout] 910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> 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]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]     |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/components/git_operations.rs:932:29
[INFO] [stdout]     |
[INFO] [stdout] 932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> 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] 932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/components/git_operations.rs:976:29
[INFO] [stdout]     |
[INFO] [stdout] 976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> 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] 976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]     |                                                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1016:27
[INFO] [stdout]      |
[INFO] [stdout] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> 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] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]      |                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/ui/components/git_operations.rs:1060:30
[INFO] [stdout]      |
[INFO] [stdout] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> 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] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stdout]      |                                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/diff.rs:210:33
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub async fn highlight_line(&self, line: &str, language: &str) -> Vec<Span> {
[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] 210 |     pub async fn highlight_line(&self, line: &str, language: &str) -> Vec<Span<'_>> {
[INFO] [stdout]     |                                                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui/diff.rs:221:31
[INFO] [stdout]     |
[INFO] [stdout] 221 |     async fn simple_highlight(&self, line: &str, language: &str) -> Vec<Span> {
[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] 221 |     async fn simple_highlight(&self, line: &str, language: &str) -> Vec<Span<'_>> {
[INFO] [stdout]     |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message_bus`
[INFO] [stdout]   --> tests/basic_tests.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let message_bus = MessageBus::new();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_bus`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BranchInfo` and `CommitInfo`
[INFO] [stdout]  --> tests/git_tests.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 |     git::{find_git_root, GitService, BranchInfo, CommitInfo},
[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: `path::Path`
[INFO] [stdout]   --> tests/git_tests.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::{path::Path, time::{Duration, Instant}};
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `commits`
[INFO] [stdout]    --> tests/git_tests.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 323 |     let commits = git_service.get_commit_history(10).await?;
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commits`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ai`, `app`, `git`, and `ui`
[INFO] [stdout]    --> tests/integration_tests.rs:251:16
[INFO] [stdout]     |
[INFO] [stdout] 251 |     use ai_c::{ai, app, config, error, git, ui};
[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: `app`
[INFO] [stdout]    --> tests/integration_tests.rs:208:9
[INFO] [stdout]     |
[INFO] [stdout] 208 |     let app = App::new().await.expect("Failed to create application");
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AppConfig`, `GitConfig`, and `UIConfig`
[INFO] [stdout]   --> tests/core_test.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 |     use ai_c::config::{AppConfig, Config, GitConfig, UIConfig};
[INFO] [stdout]    |                        ^^^^^^^^^          ^^^^^^^^^  ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 13m 48s
[INFO] running `Command { std: "docker" "inspect" "2400a5c59fd74f55b1a5c240b5b5e4edd26696f8323f071978723edeea87d97a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2400a5c59fd74f55b1a5c240b5b5e4edd26696f8323f071978723edeea87d97a", kill_on_drop: false }`
[INFO] [stdout] 2400a5c59fd74f55b1a5c240b5b5e4edd26696f8323f071978723edeea87d97a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-01-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 48cf2268a72738dfd42c7ff80a15951fade3afb242ec70248e76002ce51dfefe
[INFO] running `Command { std: "docker" "start" "-a" "48cf2268a72738dfd42c7ff80a15951fade3afb242ec70248e76002ce51dfefe", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `async_trait::async_trait`
[INFO] [stderr]  --> src/ai/agents/code_analysis_agent.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use async_trait::async_trait;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Path`
[INFO] [stderr]   --> src/ai/agents/code_analysis_agent.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 14 |     path::{Path, PathBuf},
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]   --> src/ai/recovery.rs:14:15
[INFO] [stderr]    |
[INFO] [stderr] 14 | use tracing::{error, info, warn};
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Branch`, `Oid`, `Reference`, `Repository`, and `Tag`
[INFO] [stderr]  --> src/git/workflow.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | use git2::{Branch, BranchType, Oid, Reference, Repository, Tag};
[INFO] [stderr]   |            ^^^^^^              ^^^  ^^^^^^^^^  ^^^^^^^^^^  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]   --> src/git/workflow.rs:12:22
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tracing::{debug, error, info, warn};
[INFO] [stderr]    |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp::Ordering`
[INFO] [stderr]    --> src/ui/components/sidebar.rs:242:29
[INFO] [stderr]     |
[INFO] [stderr] 242 |                         use std::cmp::Ordering;
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `KeyModifiers`
[INFO] [stderr]  --> src/ui/components/tabs.rs:5:43
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stderr]   |                                           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::Utc`
[INFO] [stderr]   --> src/ui/components/tabs.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use chrono::Utc;
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SelectionMode` and `TextPosition`
[INFO] [stderr]   --> src/ui/components/tabs.rs:23:21
[INFO] [stderr]    |
[INFO] [stderr] 23 |         selection::{TextPosition, SelectionMode},
[INFO] [stderr]    |                     ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `debug`
[INFO] [stderr]   --> src/ui/components/diff_viewer.rs:20:15
[INFO] [stderr]    |
[INFO] [stderr] 20 | use tracing::{debug, info};
[INFO] [stderr]    |               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `KeyModifiers`
[INFO] [stderr]  --> src/ui/components/modals/confirmation.rs:3:43
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stderr]   |                                           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Line` and `Span`
[INFO] [stderr]  --> src/ui/components/modals/input.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 |     text::{Line, Span},
[INFO] [stderr]   |            ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `app::state::AppState`
[INFO] [stderr]   --> src/ui/components/modals/mod.rs:16:13
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::{app::state::AppState, error::AppResult, ui::theme::Theme};
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `KeyModifiers`
[INFO] [stderr]  --> src/ui/components/search.rs:3:43
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stderr]   |                                           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Text`
[INFO] [stderr]  --> src/ui/components/search.rs:7:24
[INFO] [stderr]   |
[INFO] [stderr] 7 |     text::{Line, Span, Text},
[INFO] [stderr]   |                        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> src/ui/components/search.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Text` and `Wrap`
[INFO] [stderr]  --> src/ui/components/filter.rs:7:24
[INFO] [stderr]   |
[INFO] [stderr] 7 |     text::{Line, Span, Text},
[INFO] [stderr]   |                        ^^^^
[INFO] [stderr] 8 |     widgets::{Block, Borders, Clear, List, ListItem, ListState, Paragraph, Wrap},
[INFO] [stderr]   |                                                                            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Constraint`, `Direction`, and `Layout`
[INFO] [stderr]  --> src/ui/components/global_search.rs:5:14
[INFO] [stderr]   |
[INFO] [stderr] 5 |     layout::{Constraint, Direction, Layout, Rect},
[INFO] [stderr]   |              ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Alignment`, `Constraint`, `Direction`, `Layout`, and `Paragraph`
[INFO] [stderr]  --> src/ui/components/context_menu.rs:5:14
[INFO] [stderr]   |
[INFO] [stderr] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stderr]   |              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 8 |     widgets::{Block, Borders, Clear, List, ListItem, ListState, Paragraph},
[INFO] [stderr]   |                                                                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::Path`
[INFO] [stderr]  --> src/ui/components/search_index.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::path::Path;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]  --> src/ui/components/search_index.rs:5:17
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::time::{Duration, Instant};
[INFO] [stderr]   |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Alignment` and `Text`
[INFO] [stderr]  --> src/ui/components/git_operations.rs:5:14
[INFO] [stderr]   |
[INFO] [stderr] 5 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stderr]   |              ^^^^^^^^^
[INFO] [stderr] 6 |     style::{Color, Modifier, Style},
[INFO] [stderr] 7 |     text::{Line, Span, Text},
[INFO] [stderr]   |                        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> src/ui/components/git_operations.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::collections::HashMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `KeyModifiers`
[INFO] [stderr]  --> src/ui/components/agent_manager.rs:3:43
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stderr]   |                                           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BarChart` and `Text`
[INFO] [stderr]  --> src/ui/components/agent_manager.rs:7:24
[INFO] [stderr]   |
[INFO] [stderr] 7 |     text::{Line, Span, Text},
[INFO] [stderr]   |                        ^^^^
[INFO] [stderr] 8 |     widgets::{Block, Borders, Clear, Gauge, List, ListItem, ListState, Paragraph, Tabs, Wrap, BarChart},
[INFO] [stderr]   |                                                                                               ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Color`, `ListItem`, `List`, `Modifier`, `Span`, and `Style`
[INFO] [stderr]   --> src/ui/components/help.rs:8:13
[INFO] [stderr]    |
[INFO] [stderr]  8 |     style::{Color, Modifier, Style},
[INFO] [stderr]    |             ^^^^^  ^^^^^^^^  ^^^^^
[INFO] [stderr]  9 |     text::{Line, Span},
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] 10 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Tabs, Wrap},
[INFO] [stderr]    |                                      ^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ActionKey` and `NavigationKey`
[INFO] [stderr]   --> src/ui/components/help.rs:20:20
[INFO] [stderr]    |
[INFO] [stderr] 20 |         keyboard::{ActionKey, NavigationKey, ShortcutManager},
[INFO] [stderr]    |                    ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `KeyModifiers`
[INFO] [stderr]  --> src/ui/keyboard.rs:6:43
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crossterm::event::{KeyCode, KeyEvent, KeyModifiers};
[INFO] [stderr]   |                                           ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `debug` and `warn`
[INFO] [stderr]  --> src/ui/diff/utils.rs:6:15
[INFO] [stderr]   |
[INFO] [stderr] 6 | use tracing::{debug, warn};
[INFO] [stderr]   |               ^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Alignment`, `Clear`, `Constraint`, `Direction`, `Layout`, `Modifier`, `Text`, and `Wrap`
[INFO] [stderr]   --> src/ui/diff/inline_editor.rs:7:14
[INFO] [stderr]    |
[INFO] [stderr]  7 |     layout::{Alignment, Constraint, Direction, Layout, Rect},
[INFO] [stderr]    |              ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^
[INFO] [stderr]  8 |     style::{Color, Modifier, Style},
[INFO] [stderr]    |                    ^^^^^^^^
[INFO] [stderr]  9 |     text::{Line, Span, Text},
[INFO] [stderr]    |                        ^^^^
[INFO] [stderr] 10 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Wrap},
[INFO] [stderr]    |                               ^^^^^                             ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `max`
[INFO] [stderr]   --> src/ui/diff/inline_editor.rs:15:11
[INFO] [stderr]    |
[INFO] [stderr] 15 |     cmp::{max, min},
[INFO] [stderr]    |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `debug` and `warn`
[INFO] [stderr]   --> src/ui/diff/inline_editor.rs:20:15
[INFO] [stderr]    |
[INFO] [stderr] 20 | use tracing::{debug, info, warn};
[INFO] [stderr]    |               ^^^^^        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DateTime` and `Utc`
[INFO] [stderr]   --> src/ui/diff.rs:10:14
[INFO] [stderr]    |
[INFO] [stderr] 10 | use chrono::{DateTime, Utc};
[INFO] [stderr]    |              ^^^^^^^^  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Clear`, `Line`, `ScrollbarOrientation`, `ScrollbarState`, `Scrollbar`, and `Text`
[INFO] [stderr]   --> src/ui/diff.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 14 |     text::{Line, Span, Text},
[INFO] [stderr]    |            ^^^^        ^^^^
[INFO] [stderr] 15 |     widgets::{Block, Borders, Clear, List, ListItem, Paragraph, Scrollbar, ScrollbarOrientation, ScrollbarState, Wrap},
[INFO] [stderr]    |                               ^^^^^                             ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]  --> src/ui/selection.rs:9:22
[INFO] [stderr]   |
[INFO] [stderr] 9 | use tracing::{debug, error, warn};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `style::Style`
[INFO] [stderr]   --> src/ui/mod.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     style::Style,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SelectionMode` and `TextPosition`
[INFO] [stderr]   --> src/ui/mod.rs:27:17
[INFO] [stderr]    |
[INFO] [stderr] 27 | use selection::{TextPosition, SelectionMode};
[INFO] [stderr]    |                 ^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Component`
[INFO] [stderr]   --> src/ui/components/tabs.rs:21:22
[INFO] [stderr]    |
[INFO] [stderr] 21 |         components::{Component, DiffViewerComponent, modals::{InputModal, Modal, ModalResult}},
[INFO] [stderr]    |                      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `request`
[INFO] [stderr]    --> src/ai/agents/commit_agent.rs:386:9
[INFO] [stderr]     |
[INFO] [stderr] 386 |         request: &CommitGenerationRequest,
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_data`
[INFO] [stderr]    --> src/ai/agents/code_analysis_agent.rs:563:9
[INFO] [stderr]     |
[INFO] [stderr] 563 |         file_data: &HashMap<PathBuf, FileData>,
[INFO] [stderr]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `agent_id`
[INFO] [stderr]    --> src/ai/health.rs:198:27
[INFO] [stderr]     |
[INFO] [stderr] 198 |     async fn check(&self, agent_id: &str) -> Result<HealthStatus, MonitorError> {
[INFO] [stderr]     |                           ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_agent_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `branch`
[INFO] [stderr]   --> src/git/operations.rs:50:13
[INFO] [stderr]    |
[INFO] [stderr] 50 |         let branch = self
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tag_id`
[INFO] [stderr]    --> src/git/operations.rs:161:13
[INFO] [stderr]     |
[INFO] [stderr] 161 |         let tag_id = if let Some(msg) = message {
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `repo_guard`
[INFO] [stderr]     --> src/git/service.rs:1180:13
[INFO] [stderr]      |
[INFO] [stderr] 1180 |         let repo_guard = tokio::task::block_in_place(|| {
[INFO] [stderr]      |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_repo_guard`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `upstream`
[INFO] [stderr]    --> src/ui/components/sidebar.rs:173:48
[INFO] [stderr]     |
[INFO] [stderr] 173 | ...                   } else if let Some(ref upstream) = branch.upstream {
[INFO] [stderr]     |                                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_upstream`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> src/ui/diff.rs:765:103
[INFO] [stderr]     |
[INFO] [stderr] 765 | ...: &FileDiff, is_old: bool, theme: &Theme) -> AppResult<()> {
[INFO] [stderr]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> src/ui/diff.rs:818:92
[INFO] [stderr]     |
[INFO] [stderr] 818 |     async fn render_unified(&mut self, frame: &mut Frame<'_>, area: Rect, diff: &FileDiff, theme: &Theme) -> AppResult<()> {
[INFO] [stderr]     |                                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> src/ui/components/diff_viewer.rs:366:98
[INFO] [stderr]     |
[INFO] [stderr] 366 |     async fn render_stats_overlay(&self, frame: &mut Frame<'_>, area: Rect, viewer: &DiffViewer, theme: &Theme) {
[INFO] [stderr]     |                                                                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> src/ui/components/diff_viewer.rs:284:65
[INFO] [stderr]     |
[INFO] [stderr] 284 |     fn render_loading(&self, frame: &mut Frame<'_>, area: Rect, theme: &Theme) {
[INFO] [stderr]     |                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> src/ui/components/diff_viewer.rs:308:76
[INFO] [stderr]     |
[INFO] [stderr] 308 |     fn render_error(&self, frame: &mut Frame<'_>, area: Rect, error: &str, theme: &Theme) {
[INFO] [stderr]     |                                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> src/ui/components/diff_viewer.rs:324:70
[INFO] [stderr]     |
[INFO] [stderr] 324 |     fn render_help_overlay(&self, frame: &mut Frame<'_>, area: Rect, theme: &Theme) {
[INFO] [stderr]     |                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `viewer`
[INFO] [stderr]    --> src/ui/components/diff_viewer.rs:426:13
[INFO] [stderr]     |
[INFO] [stderr] 426 |         let viewer = self.viewer.read().await;
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_viewer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `viewer`
[INFO] [stderr]    --> src/ui/components/diff_viewer.rs:434:13
[INFO] [stderr]     |
[INFO] [stderr] 434 |         let viewer = self.viewer.read().await;
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_viewer`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> src/ui/components/search.rs:491:65
[INFO] [stderr]     |
[INFO] [stderr] 491 |     fn render_results(&mut self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stderr]     |                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `size`
[INFO] [stderr]    --> src/ui/components/filter.rs:427:35
[INFO] [stderr]     |
[INFO] [stderr] 427 |     fn matches_size_filter(&self, size: u64, filter: &str) -> bool {
[INFO] [stderr]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `filter`
[INFO] [stderr]    --> src/ui/components/filter.rs:427:46
[INFO] [stderr]     |
[INFO] [stderr] 427 |     fn matches_size_filter(&self, size: u64, filter: &str) -> bool {
[INFO] [stderr]     |                                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_filter`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> src/ui/components/filter.rs:531:72
[INFO] [stderr]     |
[INFO] [stderr] 531 |     fn render_type_selection(&mut self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stderr]     |                                                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `commit`
[INFO] [stderr]    --> src/ui/components/commit_history.rs:350:66
[INFO] [stderr]     |
[INFO] [stderr] 350 |     fn render_commit_files(&self, frame: &mut Frame, area: Rect, commit: &CommitInfo, theme: &Theme) {
[INFO] [stderr]     |                                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_commit`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> src/ui/components/commit_history.rs:378:84
[INFO] [stderr]     |
[INFO] [stderr] 378 |     fn render_footer(&self, frame: &mut Frame, area: Rect, commits: &[CommitInfo], theme: &Theme) {
[INFO] [stderr]     |                                                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ui/components/commit_history.rs:407:13
[INFO] [stderr]     |
[INFO] [stderr] 407 |         let mut filtered: Vec<CommitInfo> = all_commits.into_iter()
[INFO] [stderr]     |             ----^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]    --> src/ui/components/commit_history.rs:548:59
[INFO] [stderr]     |
[INFO] [stderr] 548 |     fn handle_details_key_event(&mut self, key: KeyEvent, state: &mut AppState) -> AppResult<()> {
[INFO] [stderr]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `commit`
[INFO] [stderr]    --> src/ui/components/commit_history.rs:572:36
[INFO] [stderr]     |
[INFO] [stderr] 572 |     fn load_commit_diff(&mut self, commit: &CommitInfo, _state: &AppState) -> AppResult<()> {
[INFO] [stderr]     |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_commit`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `position`
[INFO] [stderr]    --> src/ui/components/context_menu.rs:236:51
[INFO] [stderr]     |
[INFO] [stderr] 236 |     fn get_context_menu_items_for_position(&self, position: (u16, u16), area: Rect) -> Vec<MenuItem> {
[INFO] [stderr]     |                                                   ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]    --> src/ui/components/context_menu.rs:236:73
[INFO] [stderr]     |
[INFO] [stderr] 236 |     fn get_context_menu_items_for_position(&self, position: (u16, u16), area: Rect) -> Vec<MenuItem> {
[INFO] [stderr]     |                                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_path`
[INFO] [stderr]    --> src/ui/components/context_menu.rs:278:41
[INFO] [stderr]     |
[INFO] [stderr] 278 |     pub fn get_file_context_menu(&self, file_path: &str) -> Vec<MenuItem> {
[INFO] [stderr]     |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `commit_hash`
[INFO] [stderr]    --> src/ui/components/context_menu.rs:328:43
[INFO] [stderr]     |
[INFO] [stderr] 328 |     pub fn get_commit_context_menu(&self, commit_hash: &str) -> Vec<MenuItem> {
[INFO] [stderr]     |                                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commit_hash`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `branch_name`
[INFO] [stderr]    --> src/ui/components/context_menu.rs:361:43
[INFO] [stderr]     |
[INFO] [stderr] 361 |     pub fn get_branch_context_menu(&self, branch_name: &str, is_current: bool) -> Vec<MenuItem> {
[INFO] [stderr]     |                                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tag_name`
[INFO] [stderr]    --> src/ui/components/context_manager.rs:119:13
[INFO] [stderr]     |
[INFO] [stderr] 119 |         let tag_name = context.get_data("tag_name").unwrap_or(&String::new());
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tag_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `remote_name`
[INFO] [stderr]    --> src/ui/components/context_manager.rs:142:13
[INFO] [stderr]     |
[INFO] [stderr] 142 |         let remote_name = context.get_data("remote_name").unwrap_or(&String::new());
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_remote_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stash_index`
[INFO] [stderr]    --> src/ui/components/context_manager.rs:172:13
[INFO] [stderr]     |
[INFO] [stderr] 172 |         let stash_index = context.get_data("stash_index").unwrap_or(&String::new());
[INFO] [stderr]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_stash_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]    --> src/ui/components/context_manager.rs:197:36
[INFO] [stderr]     |
[INFO] [stderr] 197 |     fn generate_search_menu(&self, context: &ContextInfo) -> Vec<MenuItem> {
[INFO] [stderr]     |                                    ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]    --> src/ui/components/context_manager.rs:226:34
[INFO] [stderr]     |
[INFO] [stderr] 226 |     fn generate_diff_menu(&self, context: &ContextInfo) -> Vec<MenuItem> {
[INFO] [stderr]     |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]    --> src/ui/components/context_manager.rs:260:37
[INFO] [stderr]     |
[INFO] [stderr] 260 |     fn generate_general_menu(&self, context: &ContextInfo) -> Vec<MenuItem> {
[INFO] [stderr]     |                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]    --> src/ui/components/context_manager.rs:319:58
[INFO] [stderr]     |
[INFO] [stderr] 319 |     pub fn execute_action(&mut self, action: MenuAction, state: &mut AppState) -> AppResult<()> {
[INFO] [stderr]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/ui/components/shortcuts.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |         let mut key_part = parts[parts.len() - 1];
[INFO] [stderr]    |             ----^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `now`
[INFO] [stderr]    --> src/ui/components/search_cache.rs:146:13
[INFO] [stderr]     |
[INFO] [stderr] 146 |         let now = Instant::now();
[INFO] [stderr]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/ui/components/search_cache.rs:222:17
[INFO] [stderr]     |
[INFO] [stderr] 222 |             let key = CacheKey::new(query, scope.clone(), &FilterCriteria::default());
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> src/ui/components/git_operations.rs:707:62
[INFO] [stderr]     |
[INFO] [stderr] 707 |     fn render_help_bar(&self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stderr]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]    --> src/ui/components/git_operations.rs:910:37
[INFO] [stderr]     |
[INFO] [stderr] 910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]     |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]    --> src/ui/components/git_operations.rs:932:36
[INFO] [stderr]     |
[INFO] [stderr] 932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]    --> src/ui/components/git_operations.rs:976:36
[INFO] [stderr]     |
[INFO] [stderr] 976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]     --> src/ui/components/git_operations.rs:1016:34
[INFO] [stderr]      |
[INFO] [stderr] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]      |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]     --> src/ui/components/git_operations.rs:1060:37
[INFO] [stderr]      |
[INFO] [stderr] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]      |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `len`
[INFO] [stderr]     --> src/ui/components/git_operations.rs:1489:33
[INFO] [stderr]      |
[INFO] [stderr] 1489 | ...                   let len = self.history_commits.len();
[INFO] [stderr]      |                           ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `len`
[INFO] [stderr]     --> src/ui/components/git_operations.rs:1500:33
[INFO] [stderr]      |
[INFO] [stderr] 1500 | ...                   let len = self.history_commits.len();
[INFO] [stderr]      |                           ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `old_lines`
[INFO] [stderr]    --> src/ui/diff/utils.rs:110:25
[INFO] [stderr]     |
[INFO] [stderr] 110 |         let (old_start, old_lines) = Self::parse_range(old_part.trim_start_matches('-'))?;
[INFO] [stderr]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_lines`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `new_lines`
[INFO] [stderr]    --> src/ui/diff/utils.rs:111:25
[INFO] [stderr]     |
[INFO] [stderr] 111 |         let (new_start, new_lines) = Self::parse_range(new_part.trim_start_matches('+'))?;
[INFO] [stderr]     |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_lines`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `temp_new_pos` is assigned to, but never used
[INFO] [stderr]    --> src/ui/diff/utils.rs:159:17
[INFO] [stderr]     |
[INFO] [stderr] 159 |             let mut temp_new_pos = 0;
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_temp_new_pos` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `temp_new_pos` is never read
[INFO] [stderr]    --> src/ui/diff/utils.rs:166:17
[INFO] [stderr]     |
[INFO] [stderr] 166 |                 temp_new_pos += new_word.len() + 1; // +1 for space
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `selection`
[INFO] [stderr]    --> src/ui/diff/inline_editor.rs:684:21
[INFO] [stderr]     |
[INFO] [stderr] 684 |         if let Some(selection) = self.selection {
[INFO] [stderr]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_selection`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> src/ui/diff/inline_editor.rs:721:74
[INFO] [stderr]     |
[INFO] [stderr] 721 |     fn render_text_content(&mut self, frame: &mut Frame<'_>, area: Rect, theme: &Theme) -> AppResult<()> {
[INFO] [stderr]     |                                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/ui/diff/inline_editor.rs:725:14
[INFO] [stderr]     |
[INFO] [stderr] 725 |         for (i, line_idx) in (self.scroll_offset..end_line).enumerate() {
[INFO] [stderr]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> src/ui/diff/inline_editor.rs:760:87
[INFO] [stderr]     |
[INFO] [stderr] 760 |     fn render_status_message(&self, frame: &mut Frame<'_>, area: Rect, message: &str, theme: &Theme) {
[INFO] [stderr]     |                                                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]    --> src/ui/mod.rs:511:71
[INFO] [stderr]     |
[INFO] [stderr] 511 |     fn render_file_tree_section(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stderr]     |                                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]    --> src/ui/mod.rs:595:64
[INFO] [stderr]     |
[INFO] [stderr] 595 |     fn render_commit_log(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stderr]     |                                                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `state`
[INFO] [stderr]    --> src/ui/mod.rs:625:67
[INFO] [stderr]     |
[INFO] [stderr] 625 |     fn render_details_panel(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stderr]     |                                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `theme`
[INFO] [stderr]    --> src/ui/mod.rs:728:12
[INFO] [stderr]     |
[INFO] [stderr] 728 |     fn new(theme: &Theme) -> Self {
[INFO] [stderr]     |            ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stderr] 
[INFO] [stderr] warning: type `AgentStats` is more private than the item `CodeAnalysisAgent::stats`
[INFO] [stderr]    --> src/ai/agents/code_analysis_agent.rs:719:5
[INFO] [stderr]     |
[INFO] [stderr] 719 |     pub fn stats(&self) -> &AgentStats {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `CodeAnalysisAgent::stats` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `AgentStats` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/ai/agents/code_analysis_agent.rs:278:1
[INFO] [stderr]     |
[INFO] [stderr] 278 | struct AgentStats {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `ClientStats` is more private than the item `HttpAIClient::stats`
[INFO] [stderr]    --> src/ai/client.rs:530:5
[INFO] [stderr]     |
[INFO] [stderr] 530 |     pub fn stats(&self) -> &ClientStats {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `HttpAIClient::stats` is reachable at visibility `pub`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `ClientStats` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/ai/client.rs:204:1
[INFO] [stderr]     |
[INFO] [stderr] 204 | struct ClientStats {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `prompt_templates` and `git_service` are never read
[INFO] [stderr]    --> src/ai/agents/commit_agent.rs:106:5
[INFO] [stderr]     |
[INFO] [stderr]  88 | pub struct CommitAgent {
[INFO] [stderr]     |            ----------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 106 |     prompt_templates: HashMap<CommitMessageStyle, String>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 107 |     /// Git service for analysis
[INFO] [stderr] 108 |     git_service: Option<GitService>,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `cache_hits` is never read
[INFO] [stderr]    --> src/ai/agents/code_analysis_agent.rs:282:5
[INFO] [stderr]     |
[INFO] [stderr] 278 | struct AgentStats {
[INFO] [stderr]     |        ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 282 |     cache_hits: u64,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AgentStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `generate_cache_key` is never used
[INFO] [stderr]    --> src/ai/agents/code_analysis_agent.rs:689:8
[INFO] [stderr]     |
[INFO] [stderr] 289 | impl CodeAnalysisAgent {
[INFO] [stderr]     | ---------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 689 |     fn generate_cache_key(&self, request: &CodeAnalysisRequest) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `size` is never read
[INFO] [stderr]    --> src/ai/agents/code_analysis_agent.rs:745:5
[INFO] [stderr]     |
[INFO] [stderr] 742 | struct FileData {
[INFO] [stderr]     |        -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 745 |     size: usize,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `FileData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `failed_requests` and `last_request_time` are never read
[INFO] [stderr]    --> src/ai/client.rs:207:5
[INFO] [stderr]     |
[INFO] [stderr] 204 | struct ClientStats {
[INFO] [stderr]     |        ----------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 207 |     failed_requests: u64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 208 |     total_response_time: Duration,
[INFO] [stderr] 209 |     last_request_time: Option<DateTime<Utc>>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ClientStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `update_stats` is never used
[INFO] [stderr]    --> src/ai/client.rs:410:8
[INFO] [stderr]     |
[INFO] [stderr] 212 | impl HttpAIClient {
[INFO] [stderr]     | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 410 |     fn update_stats(&mut self, success: bool, response_time: Duration) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]    --> src/ai/health.rs:305:5
[INFO] [stderr]     |
[INFO] [stderr] 297 | pub struct HealthMonitor {
[INFO] [stderr]     |            ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 305 |     config: HealthMonitorConfig,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `message_receiver` and `last_health_check` are never read
[INFO] [stderr]   --> src/ai/manager.rs:83:5
[INFO] [stderr]    |
[INFO] [stderr] 75 | struct ManagedAgent {
[INFO] [stderr]    |        ------------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 83 |     message_receiver: Option<mpsc::UnboundedReceiver<super::message_bus::AgentMessage>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 84 |     /// Last health check timestamp
[INFO] [stderr] 85 |     last_health_check: DateTime<Utc>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `task_counter` is never read
[INFO] [stderr]   --> src/ai/manager.rs:99:5
[INFO] [stderr]    |
[INFO] [stderr] 89 | pub struct AgentManager {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 99 |     task_counter: Arc<RwLock<u64>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `total_tasks_failed` is never read
[INFO] [stderr]    --> src/ai/manager.rs:109:9
[INFO] [stderr]     |
[INFO] [stderr] 106 | struct SystemMetrics {
[INFO] [stderr]     |        ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 109 |     pub total_tasks_failed: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `SystemMetrics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]    --> src/ai/metrics_collector.rs:476:5
[INFO] [stderr]     |
[INFO] [stderr] 470 | pub struct MetricsCollector {
[INFO] [stderr]     |            ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 476 |     config: MetricsConfig,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]    --> src/ai/recovery.rs:440:5
[INFO] [stderr]     |
[INFO] [stderr] 439 | pub struct FailureDetector {
[INFO] [stderr]     |            --------------- field in this struct
[INFO] [stderr] 440 |     config: FailureDetectionConfig,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `FailureDetector` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]   --> src/app/mod.rs:48:5
[INFO] [stderr]    |
[INFO] [stderr] 38 | pub struct App {
[INFO] [stderr]    |            --- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 48 |     config: Config,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `git_service` is never read
[INFO] [stderr]    --> src/git/workflow.rs:140:5
[INFO] [stderr]     |
[INFO] [stderr] 139 | pub struct GitWorkflowManager {
[INFO] [stderr]     |            ------------------ field in this struct
[INFO] [stderr] 140 |     git_service: Arc<GitService>,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]   --> src/ui/mod.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct UI {
[INFO] [stderr]    |            -- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 36 |     config: UIConfig,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `render_main_content`, `render_sync_status`, `render_center_content`, `render_commit_log`, and `render_details_panel` are never used
[INFO] [stderr]    --> src/ui/mod.rs:392:8
[INFO] [stderr]     |
[INFO] [stderr]  41 | impl UI {
[INFO] [stderr]     | ------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 392 |     fn render_main_content(&mut self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 466 |     fn render_sync_status(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 577 |     fn render_center_content(&mut self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 595 |     fn render_commit_log(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 625 |     fn render_details_panel(&self, frame: &mut Frame, area: Rect, state: &AppState) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `sidebar` is never read
[INFO] [stderr]    --> src/ui/mod.rs:716:9
[INFO] [stderr]     |
[INFO] [stderr] 715 | struct UIComponents {
[INFO] [stderr]     |        ------------ field in this struct
[INFO] [stderr] 716 |     pub sidebar: SidebarComponent,
[INFO] [stderr]     |         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `render_empty_list` is never used
[INFO] [stderr]    --> src/ui/components/sidebar.rs:696:8
[INFO] [stderr]     |
[INFO] [stderr]  65 | impl SidebarComponent {
[INFO] [stderr]     | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 696 |     fn render_empty_list(&self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `loaded_count` and `should_load_more` are never used
[INFO] [stderr]   --> src/ui/components/tabs.rs:67:8
[INFO] [stderr]    |
[INFO] [stderr] 45 | impl CommitsPagination {
[INFO] [stderr]    | ---------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 67 |     fn loaded_count(&self) -> usize {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 72 |     fn should_load_more(&self, current_index: usize) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `load_file_diff` is never used
[INFO] [stderr]    --> src/ui/components/tabs.rs:297:14
[INFO] [stderr]     |
[INFO] [stderr] 295 | impl StatusTabComponent {
[INFO] [stderr]     | ----------------------- method in this implementation
[INFO] [stderr] 296 |     /// 加载文件差异到差异查看器
[INFO] [stderr] 297 |     async fn load_file_diff(&mut self, file_status: &crate::git::FileStatus, state: &AppState) -> AppResult<()> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Actions` is never constructed
[INFO] [stderr]    --> src/ui/components/tabs.rs:326:5
[INFO] [stderr]     |
[INFO] [stderr] 323 | enum BranchViewMode {
[INFO] [stderr]     |      -------------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 326 |     Actions, // Focus on action buttons
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `BranchViewMode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `search_sender` is never read
[INFO] [stderr]    --> src/ui/components/search.rs:101:5
[INFO] [stderr]     |
[INFO] [stderr]  89 | pub struct SearchComponent {
[INFO] [stderr]     |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 101 |     search_sender: Option<mpsc::UnboundedSender<SearchRequest>>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `branch_colors` is never read
[INFO] [stderr]   --> src/ui/components/commit_history.rs:46:5
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub struct CommitHistoryComponent {
[INFO] [stderr]    |            ---------------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 46 |     branch_colors: HashMap<String, Color>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `render_operation_details`, `render_rebase_details`, `render_merge_details`, `render_stash_details`, `render_tag_details`, and `render_remote_details` are never used
[INFO] [stderr]     --> src/ui/components/git_operations.rs:885:8
[INFO] [stderr]      |
[INFO] [stderr]  334 | impl GitOperationsComponent {
[INFO] [stderr]      | --------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  885 |     fn render_operation_details(&self, frame: &mut Frame, area: Rect, operation: &GitOperation, theme: &Theme) {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]      |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `logs_scroll` and `metrics_history` are never read
[INFO] [stderr]    --> src/ui/components/agent_manager.rs:161:5
[INFO] [stderr]     |
[INFO] [stderr] 148 | pub struct AgentManagerComponent {
[INFO] [stderr]     |            --------------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 161 |     logs_scroll: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 162 |     metrics_history: Vec<(Instant, HashMap<String, f64>)>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `shortcut_manager` and `selected_index` are never read
[INFO] [stderr]   --> src/ui/components/help.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub struct HelpComponent {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 31 |     shortcut_manager: ShortcutManager,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 32 |     /// Selected help item index
[INFO] [stderr] 33 |     selected_index: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `language_cache` is never read
[INFO] [stderr]    --> src/ui/diff.rs:169:5
[INFO] [stderr]     |
[INFO] [stderr] 167 | pub struct SyntaxHighlighter {
[INFO] [stderr]     |            ----------------- field in this struct
[INFO] [stderr] 168 |     config: SyntaxHighlighterConfig,
[INFO] [stderr] 169 |     language_cache: Arc<RwLock<HashMap<String, String>>>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `highlighter` is never read
[INFO] [stderr]    --> src/ui/diff.rs:631:5
[INFO] [stderr]     |
[INFO] [stderr] 628 | pub struct DiffViewer {
[INFO] [stderr]     |            ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 631 |     highlighter: SyntaxHighlighter,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `viewport_start`, `viewport_end`, `total_lines`, and `line_height` are never read
[INFO] [stderr]    --> src/ui/diff.rs:642:5
[INFO] [stderr]     |
[INFO] [stderr] 640 | struct VirtualScrollState {
[INFO] [stderr]     |        ------------------ fields in this struct
[INFO] [stderr] 641 |     /// 可见区域开始行
[INFO] [stderr] 642 |     viewport_start: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 643 |     /// 可见区域结束行
[INFO] [stderr] 644 |     viewport_end: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 645 |     /// 总行数
[INFO] [stderr] 646 |     total_lines: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 647 |     /// 每行高度（字符单位）
[INFO] [stderr] 648 |     line_height: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `VirtualScrollState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `search_query`, `search_results`, and `current_search_index` are never read
[INFO] [stderr]    --> src/ui/diff/inline_editor.rs:174:5
[INFO] [stderr]     |
[INFO] [stderr] 148 | pub struct InlineEditor {
[INFO] [stderr]     |            ------------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 174 |     search_query: Option<String>,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 175 |     /// 搜索结果
[INFO] [stderr] 176 |     search_results: Vec<CursorPosition>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 177 |     /// 当前搜索结果索引
[INFO] [stderr] 178 |     current_search_index: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui/components/git_operations.rs:910:30
[INFO] [stderr]     |
[INFO] [stderr] 910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]     |                              ^^^^^ the lifetime is elided here    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 910 |     fn render_rebase_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stderr]     |                                                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui/components/git_operations.rs:932:29
[INFO] [stderr]     |
[INFO] [stderr] 932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]     |                             ^^^^^ the lifetime is elided here    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 932 |     fn render_merge_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stderr]     |                                                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui/components/git_operations.rs:976:29
[INFO] [stderr]     |
[INFO] [stderr] 976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]     |                             ^^^^^ the lifetime is elided here    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 976 |     fn render_stash_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stderr]     |                                                                           ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/ui/components/git_operations.rs:1016:27
[INFO] [stderr]      |
[INFO] [stderr] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]      |                           ^^^^^ the lifetime is elided here    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1016 |     fn render_tag_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stderr]      |                                                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]     --> src/ui/components/git_operations.rs:1060:30
[INFO] [stderr]      |
[INFO] [stderr] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> Paragraph {
[INFO] [stderr]      |                              ^^^^^ the lifetime is elided here    ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]      |
[INFO] [stderr]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]      |
[INFO] [stderr] 1060 |     fn render_remote_details(&self, area: Rect, theme: &Theme) -> Paragraph<'_> {
[INFO] [stderr]      |                                                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui/diff.rs:210:33
[INFO] [stderr]     |
[INFO] [stderr] 210 |     pub async fn highlight_line(&self, line: &str, language: &str) -> Vec<Span> {
[INFO] [stderr]     |                                 ^^^^^ the lifetime is elided here         ^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 210 |     pub async fn highlight_line(&self, line: &str, language: &str) -> Vec<Span<'_>> {
[INFO] [stderr]     |                                                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui/diff.rs:221:31
[INFO] [stderr]     |
[INFO] [stderr] 221 |     async fn simple_highlight(&self, line: &str, language: &str) -> Vec<Span> {
[INFO] [stderr]     |                               ^^^^^ the lifetime is elided here         ^^^^ the same lifetime is hidden here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 221 |     async fn simple_highlight(&self, line: &str, language: &str) -> Vec<Span<'_>> {
[INFO] [stderr]     |                                                                             ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `ai-c` (lib) generated 136 warnings (run `cargo fix --lib -p ai-c` to apply 101 suggestions)
[INFO] [stderr] warning: unused variable: `request`
[INFO] [stderr]    --> src/ai/agents/code_analysis_agent.rs:766:13
[INFO] [stderr]     |
[INFO] [stderr] 766 |         let request = CodeAnalysisRequest {
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_request`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `config`
[INFO] [stderr]    --> src/ai/agents/code_analysis_agent.rs:783:13
[INFO] [stderr]     |
[INFO] [stderr] 783 |         let config = CodeAnalysisConfig::default();
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `test_cases`
[INFO] [stderr]    --> src/ai/agents/code_analysis_agent.rs:787:13
[INFO] [stderr]     |
[INFO] [stderr] 787 |         let test_cases = vec![
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_cases`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BranchInfo` and `CommitInfo`
[INFO] [stderr]  --> tests/git_tests.rs:7:38
[INFO] [stderr]   |
[INFO] [stderr] 7 |     git::{find_git_root, GitService, BranchInfo, CommitInfo},
[INFO] [stderr]   |                                      ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `path::Path`
[INFO] [stderr]   --> tests/git_tests.rs:10:11
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::{path::Path, time::{Duration, Instant}};
[INFO] [stderr]    |           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `commits`
[INFO] [stderr]    --> tests/git_tests.rs:323:9
[INFO] [stderr]     |
[INFO] [stderr] 323 |     let commits = git_service.get_commit_history(10).await?;
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_commits`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AppConfig`, `GitConfig`, and `UIConfig`
[INFO] [stderr]   --> tests/core_test.rs:21:24
[INFO] [stderr]    |
[INFO] [stderr] 21 |     use ai_c::config::{AppConfig, Config, GitConfig, UIConfig};
[INFO] [stderr]    |                        ^^^^^^^^^          ^^^^^^^^^  ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ai-c` (lib test) generated 139 warnings (136 duplicates) (run `cargo fix --lib -p ai-c --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `ai-c` (test "git_tests") generated 3 warnings (run `cargo fix --test "git_tests" -p ai-c` to apply 3 suggestions)
[INFO] [stderr] warning: `ai-c` (test "core_test") generated 1 warning (run `cargo fix --test "core_test" -p ai-c` to apply 1 suggestion)
[INFO] [stderr] warning: unused variable: `message_bus`
[INFO] [stderr]   --> tests/basic_tests.rs:70:9
[INFO] [stderr]    |
[INFO] [stderr] 70 |     let message_bus = MessageBus::new();
[INFO] [stderr]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message_bus`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ai`, `app`, `git`, and `ui`
[INFO] [stderr]    --> tests/integration_tests.rs:251:16
[INFO] [stderr]     |
[INFO] [stderr] 251 |     use ai_c::{ai, app, config, error, git, ui};
[INFO] [stderr]     |                ^^  ^^^                 ^^^  ^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `app`
[INFO] [stderr]    --> tests/integration_tests.rs:208:9
[INFO] [stderr]     |
[INFO] [stderr] 208 |     let app = App::new().await.expect("Failed to create application");
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ai-c` (test "basic_tests") generated 1 warning (run `cargo fix --test "basic_tests" -p ai-c` to apply 1 suggestion)
[INFO] [stderr] warning: `ai-c` (test "integration_tests") generated 2 warnings (run `cargo fix --test "integration_tests" -p ai-c` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [optimized + debuginfo] target(s) in 0.62s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ai_c-d25a59ce5625d2c9)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test ai::agents::code_analysis_agent::tests::test_cache_key_generation ... ok
[INFO] [stdout] test ai::agents::code_analysis_agent::tests::test_analysis_config_default ... ok
[INFO] [stdout] test ai::agents::code_analysis_agent::tests::test_severity_determination ... ok
[INFO] [stdout] test ai::config_manager::tests::test_config_validation ... ok
[INFO] [stdout] test ai::config_manager::tests::test_default_config ... ok
[INFO] [stdout] test ai::config_manager::tests::test_config_store_operations ... ok
[INFO] [stdout] test ai::config_manager::tests::test_config_manager_caching ... ok
[INFO] [stdout] test ai::metrics_collector::tests::test_metric_creation ... ok
[INFO] [stdout] test ai::metrics_collector::tests::test_metrics_registry ... ok
[INFO] [stdout] test ui::keyboard::tests::test_action_key_matching ... ok
[INFO] [stdout] test ui::keyboard::tests::test_navigation_key_matching ... ok
[INFO] [stdout] test ui::selection::tests::test_extract_selected_text ... ok
[INFO] [stdout] test ai::metrics_collector::tests::test_json_file_exporter ... ok
[INFO] [stdout] test ui::selection::tests::test_text_position ... ok
[INFO] [stdout] test ui::selection::tests::test_text_selection ... ok
[INFO] [stdout] test ui::keyboard::tests::test_shortcut_manager ... ok
[INFO] [stdout] test ai::config_manager::tests::test_config_watchers ... ok
[INFO] [stdout] test ai::metrics_collector::tests::test_metrics_collector ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ai_c-415d681d11b28c74)
[INFO] [stdout] test ai::metrics_collector::tests::test_prometheus_formatting ... ok
[INFO] [stderr]      Running tests/ai_client_tests.rs (/opt/rustwide/target/debug/deps/ai_client_tests-a9dd5b836e8c67f8)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test test_custom_provider ... ok
[INFO] [stdout] test test_ai_client_config_default ... ok
[INFO] [stdout] test test_provider_default_models ... ok
[INFO] [stdout] test test_provider_default_urls ... ok
[INFO] [stdout] test test_ai_request_builder ... ok
[INFO] [stdout] test test_client_config_validation ... ok
[INFO] [stdout] test test_temperature_clamping ... ok
[INFO] [stdout] test test_request_timeout_configuration ... ok
[INFO] [stdout] test test_request_retry_configuration ... ok
[INFO] [stdout] test test_client_statistics ... ok
[INFO] [stdout] test test_client_with_no_api_key ... ok
[INFO] [stdout] test test_ai_client_creation ... ok
[INFO] [stdout] test test_client_endpoints ... ok
[INFO] [stdout] test test_different_providers ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.10s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/basic_tests.rs (/opt/rustwide/target/debug/deps/basic_tests-38dce2ff67343771)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_error_handling ... ok
[INFO] [stdout] test test_config_defaults ... ok
[INFO] [stdout] test test_git_status_flags ... ok
[INFO] [stdout] test test_agent_capabilities ... ok
[INFO] [stdout] test test_message_bus_creation ... ok
[INFO] [stdout] test test_theme_loading ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/commit_agent_tests.rs (/opt/rustwide/target/debug/deps/commit_agent_tests-a72b795525451972)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test test_custom_commit_generation ... ok
[INFO] [stdout] test test_agent_metrics ... ok
[INFO] [stdout] test test_file_categorization ... ok
[INFO] [stdout] test test_confidence_calculation ... ok
[INFO] [stdout] test test_conventional_commit_generation ... ok
[INFO] [stdout] test test_empty_files_handling ... ok
[INFO] [stdout] test test_commit_agent_config ... ok
[INFO] [stdout] test test_subject_truncation ... ok
[INFO] [stdout] test test_detailed_commit_generation ... ok
[INFO] [stdout] test test_commit_agent_creation ... ok
[INFO] [stdout] test test_scope_detection ... ok
[INFO] [stdout] test test_simple_commit_generation ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/core_test.rs (/opt/rustwide/target/debug/deps/core_test-6b3f7282add782fb)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test test_performance_constants ... ok
[INFO] [stdout] test test_configuration_defaults ... ok
[INFO] [stdout] test test_config_validation ... ok
[INFO] [stdout] test test_error_handling_basics ... ok
[INFO] [stdout] test test_logging_initialization ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/git_tests.rs (/opt/rustwide/target/debug/deps/git_tests-fccc53eab7b9d3d6)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test test_git_repository_detection ... ok
[INFO] [stdout] test test_git_root_detection_performance ... ok
[INFO] [stdout] test test_git_service_file_operations ... ok
[INFO] [stdout] test test_git_service_initialization_performance ... ok
[INFO] [stdout] test test_git_error_handling ... ok
[INFO] [stdout] test test_batch_staging_operations ... FAILED
[INFO] [stdout] test test_concurrent_operations ... ok
[INFO] [stdout] test test_invalid_operations_error_handling ... ok
[INFO] [stdout] test test_status_cache_performance ... ok
[INFO] [stdout] test test_memory_usage_limits ... ok
[INFO] [stdout] test test_git_remote_operations ... FAILED
[INFO] [stdout] test test_git_branch_operations ... FAILED
[INFO] [stdout] test test_git_stash_operations ... FAILED
[INFO] [stdout] test test_git_tag_operations ... FAILED
[INFO] [stdout] test test_advanced_operations_performance ... FAILED
[INFO] [stdout] test test_file_status_performance ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_batch_staging_operations stdout ----
[INFO] [stdout] Error: Git(Error { code: -1, klass: 2, message: "failed to create locked file '/opt/rustwide/workdir/.git/index.lock': Read-only file system" })
[INFO] [stdout] 
[INFO] [stdout] ---- test_git_remote_operations stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_git_remote_operations' (89) panicked at tests/git_tests.rs:307:5:
[INFO] [stdout] assertion failed: !remotes.is_empty()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55db4670c642 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55db4670c642 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55db4670c642 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55db4670c642 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55db4671d5da - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55db4671d5da - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x55db466d9de6 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55db466d9de6 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55db466eb529 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55db466eb529 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55db466eb3c1 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55db465cf5be - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x55db465cf5be - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55db466eb852 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55db466eb852 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55db466eb61a - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x55db466e6589 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55db466cdffd - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55db46724bac - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55db46724b72 - core::panicking::panic::h6519d2e94a76dd19
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x55db4659e6d4 - git_tests::test_git_remote_operations::{{closure}}::hd7aed5b6635f5729
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:307:5
[INFO] [stdout]   21:     0x55db465afd85 - <core::pin::Pin<P> as core::future::future::Future>::poll::h7d2f042106e9bd97
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x55db465afd85 - <core::pin::Pin<P> as core::future::future::Future>::poll::h1cfaec7108ac948a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::heb297cc11e54d369
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:665:73
[INFO] [stdout]   24:     0x55db465afd85 - tokio::runtime::coop::with_budget::hf437e035be82272b
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/coop.rs:107:5
[INFO] [stdout]   25:     0x55db465afd85 - tokio::runtime::coop::budget::h7e50ae01b7bc1d18
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/coop.rs:73:5
[INFO] [stdout]   26:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::hac3e5925caccfa81
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:665:25
[INFO] [stdout]   27:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::Context::enter::h28a9870604c799a1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:410:19
[INFO] [stdout]   28:     0x55db465ad969 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::h7b79cdd76752fef6
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:664:44
[INFO] [stdout]   29:     0x55db465ad969 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::h7b904a1535431aac
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:743:68
[INFO] [stdout]   30:     0x55db465ad969 - tokio::runtime::context::scoped::Scoped<T>::set::he19c7142798a8239
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   31:     0x55db465ab948 - tokio::runtime::context::set_scheduler::{{closure}}::h6585aae2970ae5ad
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context.rs:176:38
[INFO] [stdout]   32:     0x55db465ab948 - std::thread::local::LocalKey<T>::try_with::h63f136bb987e976a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   33:     0x55db465ab948 - std::thread::local::LocalKey<T>::with::hf549e1a15e7bff22
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   34:     0x55db465b045a - tokio::runtime::context::set_scheduler::hea7f625ab7e48264
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context.rs:176:17
[INFO] [stdout]   35:     0x55db465b045a - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h51b0999cdc45d097
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:743:27
[INFO] [stdout]   36:     0x55db465b045a - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::hc155d45f7b297fb5
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:652:24
[INFO] [stdout]   37:     0x55db465aec13 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::h91d35d44b814f0f1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:175:33
[INFO] [stdout]   38:     0x55db465aec13 - tokio::runtime::context::runtime::enter_runtime::h68e17d5440485c16
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   39:     0x55db465adc79 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h197408c78a6243b3
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:167:9
[INFO] [stdout]   40:     0x55db465adc79 - tokio::runtime::runtime::Runtime::block_on::h06488ee42d4ffc44
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/runtime.rs:348:52
[INFO] [stdout]   41:     0x55db4658eba2 - git_tests::test_git_remote_operations::h2a453439a3dfb756
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:312:7
[INFO] [stdout]   42:     0x55db4658eba2 - git_tests::test_git_remote_operations::{{closure}}::h2d7faf9f3cd8f6d1
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:300:42
[INFO] [stdout]   43:     0x55db4658eba2 - core::ops::function::FnOnce::call_once::h889eee1092b2168c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x55db465cf3bb - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x55db465cf3bb - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   46:     0x55db465e2d8a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   47:     0x55db465e2d8a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   48:     0x55db465e2d8a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   49:     0x55db465e2d8a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   50:     0x55db465e2d8a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   51:     0x55db465e2d8a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   52:     0x55db465e2d8a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   53:     0x55db465bd1e4 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   54:     0x55db465bd1e4 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   55:     0x55db465c0aa2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   56:     0x55db465c0aa2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   57:     0x55db465c0aa2 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   58:     0x55db465c0aa2 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   59:     0x55db465c0aa2 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   60:     0x55db465c0aa2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   61:     0x55db465c0aa2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   62:     0x55db466e176f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   63:     0x55db466e176f - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   64:     0x796732b89aa4 - <unknown>
[INFO] [stdout]   65:     0x796732c16a64 - clone
[INFO] [stdout]   66:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_git_branch_operations stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_git_branch_operations' (87) panicked at src/git/service.rs:609:9:
[INFO] [stdout] can call blocking only when running on the multi-threaded runtime
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55db4670c642 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55db4670c642 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55db4670c642 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55db4670c642 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55db4671d5da - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55db4671d5da - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x55db466d9de6 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55db466d9de6 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55db466eb529 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55db466eb529 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55db466eb3c1 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55db465cf5be - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x55db465cf5be - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55db466eb852 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55db466eb852 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55db466eb5e8 - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x55db466e6589 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55db466cdffd - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55db46724bac - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55db4660881a - core::panicking::panic_display::h0258ee1ab3b6d424
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x55db4660892f - tokio::runtime::scheduler::multi_thread::worker::block_in_place::h6cbd772b4a486a31
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/multi_thread/worker.rs:427:9
[INFO] [stdout]   21:     0x55db466093f7 - tokio::runtime::scheduler::block_in_place::block_in_place::hc4a145c585d26ee4
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/block_in_place.rs:20:5
[INFO] [stdout]   22:     0x55db466093f7 - tokio::task::blocking::block_in_place::h75650a70d50bb0c1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/task/blocking.rs:78:9
[INFO] [stdout]   23:     0x55db466093f7 - ai_c::git::service::GitService::list_branches::h929648f7cb26aaed
[INFO] [stdout]                                at /opt/rustwide/workdir/src/git/service.rs:609:9
[INFO] [stdout]   24:     0x55db4659c804 - git_tests::test_git_branch_operations::{{closure}}::hd9a1bac3f8a20dfa
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:239:32
[INFO] [stdout]   25:     0x55db465afd85 - <core::pin::Pin<P> as core::future::future::Future>::poll::h7d2f042106e9bd97
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/future/future.rs:133:9
[INFO] [stdout]   26:     0x55db465afd85 - <core::pin::Pin<P> as core::future::future::Future>::poll::h1cfaec7108ac948a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/future/future.rs:133:9
[INFO] [stdout]   27:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::heb297cc11e54d369
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:665:73
[INFO] [stdout]   28:     0x55db465afd85 - tokio::runtime::coop::with_budget::hf437e035be82272b
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/coop.rs:107:5
[INFO] [stdout]   29:     0x55db465afd85 - tokio::runtime::coop::budget::h7e50ae01b7bc1d18
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/coop.rs:73:5
[INFO] [stdout]   30:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::hac3e5925caccfa81
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:665:25
[INFO] [stdout]   31:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::Context::enter::h28a9870604c799a1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:410:19
[INFO] [stdout]   32:     0x55db465ad969 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::h7b79cdd76752fef6
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:664:44
[INFO] [stdout]   33:     0x55db465ad969 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::h7b904a1535431aac
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:743:68
[INFO] [stdout]   34:     0x55db465ad969 - tokio::runtime::context::scoped::Scoped<T>::set::he19c7142798a8239
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   35:     0x55db465ab948 - tokio::runtime::context::set_scheduler::{{closure}}::h6585aae2970ae5ad
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context.rs:176:38
[INFO] [stdout]   36:     0x55db465ab948 - std::thread::local::LocalKey<T>::try_with::h63f136bb987e976a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   37:     0x55db465ab948 - std::thread::local::LocalKey<T>::with::hf549e1a15e7bff22
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   38:     0x55db465b045a - tokio::runtime::context::set_scheduler::hea7f625ab7e48264
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context.rs:176:17
[INFO] [stdout]   39:     0x55db465b045a - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h51b0999cdc45d097
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:743:27
[INFO] [stdout]   40:     0x55db465b045a - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::hc155d45f7b297fb5
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:652:24
[INFO] [stdout]   41:     0x55db465aec13 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::h91d35d44b814f0f1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:175:33
[INFO] [stdout]   42:     0x55db465aec13 - tokio::runtime::context::runtime::enter_runtime::h68e17d5440485c16
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   43:     0x55db465adc79 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h197408c78a6243b3
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:167:9
[INFO] [stdout]   44:     0x55db465adc79 - tokio::runtime::runtime::Runtime::block_on::h06488ee42d4ffc44
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/runtime.rs:348:52
[INFO] [stdout]   45:     0x55db4658e8e2 - git_tests::test_git_branch_operations::h77c375e78c2a637e
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:250:7
[INFO] [stdout]   46:     0x55db4658e8e2 - git_tests::test_git_branch_operations::{{closure}}::h51da2aa0b8a9f6a8
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:228:42
[INFO] [stdout]   47:     0x55db4658e8e2 - core::ops::function::FnOnce::call_once::h5f4b554b0640827b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x55db465cf3bb - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   49:     0x55db465cf3bb - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   50:     0x55db465e2d8a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   51:     0x55db465e2d8a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   52:     0x55db465e2d8a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   53:     0x55db465e2d8a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   54:     0x55db465e2d8a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   55:     0x55db465e2d8a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   56:     0x55db465e2d8a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   57:     0x55db465bd1e4 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   58:     0x55db465bd1e4 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   59:     0x55db465c0aa2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   60:     0x55db465c0aa2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   61:     0x55db465c0aa2 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   62:     0x55db465c0aa2 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   63:     0x55db465c0aa2 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   64:     0x55db465c0aa2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   65:     0x55db465c0aa2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   66:     0x55db466e176f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   67:     0x55db466e176f - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   68:     0x796732b89aa4 - <unknown>
[INFO] [stdout]   69:     0x796732c16a64 - clone
[INFO] [stdout]   70:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_git_stash_operations stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_git_stash_operations' (94) panicked at tests/git_tests.rs:289:5:
[INFO] [stdout] assertion failed: !stash_list.is_empty()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55db4670c642 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55db4670c642 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55db4670c642 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55db4670c642 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55db4671d5da - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55db4671d5da - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x55db466d9de6 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55db466d9de6 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55db466eb529 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55db466eb529 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55db466eb3c1 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55db465cf5be - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x55db465cf5be - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55db466eb852 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55db466eb852 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55db466eb61a - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x55db466e6589 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55db466cdffd - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55db46724bac - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55db46724b72 - core::panicking::panic::h6519d2e94a76dd19
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x55db4659b294 - git_tests::test_git_stash_operations::{{closure}}::h0e562080227b4b9c
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:289:5
[INFO] [stdout]   21:     0x55db465afd85 - <core::pin::Pin<P> as core::future::future::Future>::poll::h7d2f042106e9bd97
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x55db465afd85 - <core::pin::Pin<P> as core::future::future::Future>::poll::h1cfaec7108ac948a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::heb297cc11e54d369
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:665:73
[INFO] [stdout]   24:     0x55db465afd85 - tokio::runtime::coop::with_budget::hf437e035be82272b
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/coop.rs:107:5
[INFO] [stdout]   25:     0x55db465afd85 - tokio::runtime::coop::budget::h7e50ae01b7bc1d18
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/coop.rs:73:5
[INFO] [stdout]   26:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::hac3e5925caccfa81
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:665:25
[INFO] [stdout]   27:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::Context::enter::h28a9870604c799a1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:410:19
[INFO] [stdout]   28:     0x55db465ad969 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::h7b79cdd76752fef6
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:664:44
[INFO] [stdout]   29:     0x55db465ad969 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::h7b904a1535431aac
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:743:68
[INFO] [stdout]   30:     0x55db465ad969 - tokio::runtime::context::scoped::Scoped<T>::set::he19c7142798a8239
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   31:     0x55db465ab948 - tokio::runtime::context::set_scheduler::{{closure}}::h6585aae2970ae5ad
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context.rs:176:38
[INFO] [stdout]   32:     0x55db465ab948 - std::thread::local::LocalKey<T>::try_with::h63f136bb987e976a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   33:     0x55db465ab948 - std::thread::local::LocalKey<T>::with::hf549e1a15e7bff22
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   34:     0x55db465b045a - tokio::runtime::context::set_scheduler::hea7f625ab7e48264
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context.rs:176:17
[INFO] [stdout]   35:     0x55db465b045a - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h51b0999cdc45d097
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:743:27
[INFO] [stdout]   36:     0x55db465b045a - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::hc155d45f7b297fb5
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:652:24
[INFO] [stdout]   37:     0x55db465aec13 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::h91d35d44b814f0f1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:175:33
[INFO] [stdout]   38:     0x55db465aec13 - tokio::runtime::context::runtime::enter_runtime::h68e17d5440485c16
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   39:     0x55db465adc79 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h197408c78a6243b3
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:167:9
[INFO] [stdout]   40:     0x55db465adc79 - tokio::runtime::runtime::Runtime::block_on::h06488ee42d4ffc44
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/runtime.rs:348:52
[INFO] [stdout]   41:     0x55db4658e782 - git_tests::test_git_stash_operations::he8bf3d923fd81187
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:295:7
[INFO] [stdout]   42:     0x55db4658e782 - git_tests::test_git_stash_operations::{{closure}}::h5a6256ad5f7302ac
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:278:41
[INFO] [stdout]   43:     0x55db4658e782 - core::ops::function::FnOnce::call_once::h5a757c1399866cdb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x55db465cf3bb - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x55db465cf3bb - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   46:     0x55db465e2d8a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   47:     0x55db465e2d8a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   48:     0x55db465e2d8a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   49:     0x55db465e2d8a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   50:     0x55db465e2d8a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   51:     0x55db465e2d8a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   52:     0x55db465e2d8a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   53:     0x55db465bd1e4 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   54:     0x55db465bd1e4 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   55:     0x55db465c0aa2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   56:     0x55db465c0aa2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   57:     0x55db465c0aa2 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   58:     0x55db465c0aa2 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   59:     0x55db465c0aa2 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   60:     0x55db465c0aa2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   61:     0x55db465c0aa2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   62:     0x55db466e176f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   63:     0x55db466e176f - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   64:     0x796732b89aa4 - <unknown>
[INFO] [stdout]   65:     0x796732c16a64 - clone
[INFO] [stdout]   66:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_git_tag_operations stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_git_tag_operations' (95) panicked at tests/git_tests.rs:267:5:
[INFO] [stdout] assertion failed: !tags.is_empty()
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55db4670c642 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55db4670c642 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55db4670c642 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55db4670c642 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55db4671d5da - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55db4671d5da - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x55db466d9de6 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55db466d9de6 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55db466eb529 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55db466eb529 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55db466eb3c1 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55db465cf5be - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x55db465cf5be - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55db466eb852 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55db466eb852 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55db466eb61a - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x55db466e6589 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55db466cdffd - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55db46724bac - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55db46724b72 - core::panicking::panic::h6519d2e94a76dd19
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x55db465980fe - git_tests::test_git_tag_operations::{{closure}}::h2ebd1610ceab6e60
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:267:5
[INFO] [stdout]   21:     0x55db465afd85 - <core::pin::Pin<P> as core::future::future::Future>::poll::h7d2f042106e9bd97
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x55db465afd85 - <core::pin::Pin<P> as core::future::future::Future>::poll::h1cfaec7108ac948a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::heb297cc11e54d369
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:665:73
[INFO] [stdout]   24:     0x55db465afd85 - tokio::runtime::coop::with_budget::hf437e035be82272b
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/coop.rs:107:5
[INFO] [stdout]   25:     0x55db465afd85 - tokio::runtime::coop::budget::h7e50ae01b7bc1d18
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/coop.rs:73:5
[INFO] [stdout]   26:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::hac3e5925caccfa81
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:665:25
[INFO] [stdout]   27:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::Context::enter::h28a9870604c799a1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:410:19
[INFO] [stdout]   28:     0x55db465ad969 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::h7b79cdd76752fef6
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:664:44
[INFO] [stdout]   29:     0x55db465ad969 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::h7b904a1535431aac
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:743:68
[INFO] [stdout]   30:     0x55db465ad969 - tokio::runtime::context::scoped::Scoped<T>::set::he19c7142798a8239
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   31:     0x55db465ab948 - tokio::runtime::context::set_scheduler::{{closure}}::h6585aae2970ae5ad
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context.rs:176:38
[INFO] [stdout]   32:     0x55db465ab948 - std::thread::local::LocalKey<T>::try_with::h63f136bb987e976a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   33:     0x55db465ab948 - std::thread::local::LocalKey<T>::with::hf549e1a15e7bff22
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   34:     0x55db465b045a - tokio::runtime::context::set_scheduler::hea7f625ab7e48264
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context.rs:176:17
[INFO] [stdout]   35:     0x55db465b045a - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h51b0999cdc45d097
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:743:27
[INFO] [stdout]   36:     0x55db465b045a - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::hc155d45f7b297fb5
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:652:24
[INFO] [stdout]   37:     0x55db465aec13 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::h91d35d44b814f0f1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:175:33
[INFO] [stdout]   38:     0x55db465aec13 - tokio::runtime::context::runtime::enter_runtime::h68e17d5440485c16
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   39:     0x55db465adc79 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h197408c78a6243b3
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:167:9
[INFO] [stdout]   40:     0x55db465adc79 - tokio::runtime::runtime::Runtime::block_on::h06488ee42d4ffc44
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/runtime.rs:348:52
[INFO] [stdout]   41:     0x55db4658e362 - git_tests::test_git_tag_operations::h495bfa4492853543
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:273:7
[INFO] [stdout]   42:     0x55db4658e362 - git_tests::test_git_tag_operations::{{closure}}::h21d9863b7a65fb0a
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:255:39
[INFO] [stdout]   43:     0x55db4658e362 - core::ops::function::FnOnce::call_once::h31c93f24c2291f1f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x55db465cf3bb - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x55db465cf3bb - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   46:     0x55db465e2d8a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   47:     0x55db465e2d8a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   48:     0x55db465e2d8a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   49:     0x55db465e2d8a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   50:     0x55db465e2d8a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   51:     0x55db465e2d8a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   52:     0x55db465e2d8a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   53:     0x55db465bd1e4 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   54:     0x55db465bd1e4 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   55:     0x55db465c0aa2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   56:     0x55db465c0aa2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   57:     0x55db465c0aa2 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   58:     0x55db465c0aa2 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   59:     0x55db465c0aa2 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   60:     0x55db465c0aa2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   61:     0x55db465c0aa2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   62:     0x55db466e176f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   63:     0x55db466e176f - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   64:     0x796732b89aa4 - <unknown>
[INFO] [stdout]   65:     0x796732c16a64 - clone
[INFO] [stdout]   66:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_advanced_operations_performance stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_advanced_operations_performance' (83) panicked at src/git/service.rs:609:9:
[INFO] [stdout] can call blocking only when running on the multi-threaded runtime
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55db4670c642 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55db4670c642 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55db4670c642 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55db4670c642 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55db4671d5da - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55db4671d5da - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x55db466d9de6 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55db466d9de6 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55db466eb529 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55db466eb529 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55db466eb3c1 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55db465cf5be - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x55db465cf5be - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55db466eb852 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55db466eb852 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55db466eb5e8 - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x55db466e6589 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55db466cdffd - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55db46724bac - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55db4660881a - core::panicking::panic_display::h0258ee1ab3b6d424
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:259:5
[INFO] [stdout]   20:     0x55db4660892f - tokio::runtime::scheduler::multi_thread::worker::block_in_place::h6cbd772b4a486a31
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/multi_thread/worker.rs:427:9
[INFO] [stdout]   21:     0x55db466093f7 - tokio::runtime::scheduler::block_in_place::block_in_place::hc4a145c585d26ee4
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/block_in_place.rs:20:5
[INFO] [stdout]   22:     0x55db466093f7 - tokio::task::blocking::block_in_place::h75650a70d50bb0c1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/task/blocking.rs:78:9
[INFO] [stdout]   23:     0x55db466093f7 - ai_c::git::service::GitService::list_branches::h929648f7cb26aaed
[INFO] [stdout]                                at /opt/rustwide/workdir/src/git/service.rs:609:9
[INFO] [stdout]   24:     0x55db465a56dd - git_tests::test_advanced_operations_performance::{{closure}}::h95631b987b7c355b
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:331:33
[INFO] [stdout]   25:     0x55db465afd85 - <core::pin::Pin<P> as core::future::future::Future>::poll::h7d2f042106e9bd97
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/future/future.rs:133:9
[INFO] [stdout]   26:     0x55db465afd85 - <core::pin::Pin<P> as core::future::future::Future>::poll::h1cfaec7108ac948a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/future/future.rs:133:9
[INFO] [stdout]   27:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::heb297cc11e54d369
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:665:73
[INFO] [stdout]   28:     0x55db465afd85 - tokio::runtime::coop::with_budget::hf437e035be82272b
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/coop.rs:107:5
[INFO] [stdout]   29:     0x55db465afd85 - tokio::runtime::coop::budget::h7e50ae01b7bc1d18
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/coop.rs:73:5
[INFO] [stdout]   30:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::hac3e5925caccfa81
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:665:25
[INFO] [stdout]   31:     0x55db465afd85 - tokio::runtime::scheduler::current_thread::Context::enter::h28a9870604c799a1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:410:19
[INFO] [stdout]   32:     0x55db465ad969 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::h7b79cdd76752fef6
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:664:44
[INFO] [stdout]   33:     0x55db465ad969 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::h7b904a1535431aac
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:743:68
[INFO] [stdout]   34:     0x55db465ad969 - tokio::runtime::context::scoped::Scoped<T>::set::he19c7142798a8239
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   35:     0x55db465ab948 - tokio::runtime::context::set_scheduler::{{closure}}::h6585aae2970ae5ad
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context.rs:176:38
[INFO] [stdout]   36:     0x55db465ab948 - std::thread::local::LocalKey<T>::try_with::h63f136bb987e976a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   37:     0x55db465ab948 - std::thread::local::LocalKey<T>::with::hf549e1a15e7bff22
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   38:     0x55db465b045a - tokio::runtime::context::set_scheduler::hea7f625ab7e48264
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context.rs:176:17
[INFO] [stdout]   39:     0x55db465b045a - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h51b0999cdc45d097
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:743:27
[INFO] [stdout]   40:     0x55db465b045a - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::hc155d45f7b297fb5
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:652:24
[INFO] [stdout]   41:     0x55db465aec13 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::h91d35d44b814f0f1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:175:33
[INFO] [stdout]   42:     0x55db465aec13 - tokio::runtime::context::runtime::enter_runtime::h68e17d5440485c16
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   43:     0x55db465adc79 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h197408c78a6243b3
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:167:9
[INFO] [stdout]   44:     0x55db465adc79 - tokio::runtime::runtime::Runtime::block_on::h06488ee42d4ffc44
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/runtime.rs:348:52
[INFO] [stdout]   45:     0x55db4658e4c2 - git_tests::test_advanced_operations_performance::h5e857a9eee6f2d0d
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:336:7
[INFO] [stdout]   46:     0x55db4658e4c2 - git_tests::test_advanced_operations_performance::{{closure}}::h4107816544ccb2ec
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:317:52
[INFO] [stdout]   47:     0x55db4658e4c2 - core::ops::function::FnOnce::call_once::h4f8ff948b61ffbd3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x55db465cf3bb - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   49:     0x55db465cf3bb - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   50:     0x55db465e2d8a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   51:     0x55db465e2d8a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   52:     0x55db465e2d8a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   53:     0x55db465e2d8a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   54:     0x55db465e2d8a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   55:     0x55db465e2d8a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   56:     0x55db465e2d8a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   57:     0x55db465bd1e4 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   58:     0x55db465bd1e4 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   59:     0x55db465c0aa2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   60:     0x55db465c0aa2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   61:     0x55db465c0aa2 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   62:     0x55db465c0aa2 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   63:     0x55db465c0aa2 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   64:     0x55db465c0aa2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   65:     0x55db465c0aa2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   66:     0x55db466e176f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   67:     0x55db466e176f - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   68:     0x796732b89aa4 - <unknown>
[INFO] [stdout]   69:     0x796732c16a64 - clone
[INFO] [stdout]   70:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test_file_status_performance stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'test_file_status_performance' (86) panicked at tests/git_tests.rs:96:5:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 1
[INFO] [stdout]  right: 0
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x55db4670c642 - std::backtrace_rs::backtrace::libunwind::trace::hf0bd46b30bc61685
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x55db4670c642 - std::backtrace_rs::backtrace::trace_unsynchronized::h1d1fbb72ad89d7b7
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x55db4670c642 - std::sys::backtrace::_print_fmt::he38b6f68ca847f47
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x55db4670c642 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hb7e843cde1bc81a3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x55db4671d5da - core::fmt::rt::Argument::fmt::hc1dd77ac64f2688c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x55db4671d5da - core::fmt::write::h952c506e2dbe9cff
[INFO] [stdout]    6:     0x55db466d9de6 - std::io::default_write_fmt::hd23bd8145c03a23a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x55db466d9de6 - std::io::Write::write_fmt::hdd3314a2bd8a34bd
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x55db466eb529 - std::sys::backtrace::BacktraceLock::print::h1079b82381c2c252
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x55db466eb529 - std::panicking::default_hook::{{closure}}::h85cb76b8462c00f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x55db466eb3c1 - std::panicking::default_hook::h0134d220cc034c02
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x55db465cf5be - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb2e68dca3970e3ca
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x55db465cf5be - test::test_main_with_exit_callback::{{closure}}::ha7ec2063a2565ec3
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x55db466eb852 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::haebee478d0f56cf4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x55db466eb852 - std::panicking::panic_with_hook::h8119b6db1fef734f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x55db466eb5e8 - std::panicking::panic_handler::{{closure}}::h24f5360b91482c0e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x55db466e6589 - std::sys::backtrace::__rust_end_short_backtrace::h4e60c5cbd1bd0108
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x55db466cdffd - __rustc[e4c6931bd8050421]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x55db46724bac - core::panicking::panic_fmt::hb1614a3ff6840071
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x55db46724a33 - core::panicking::assert_failed_inner::h5aabe811ef142622
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x55db467248f3 - core::panicking::assert_failed::hdfb3457b193b1f87
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x55db4659ed70 - git_tests::test_file_status_performance::{{closure}}::hb5937eba742aa558
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:96:5
[INFO] [stdout]   22:     0x55db465aff80 - <core::pin::Pin<P> as core::future::future::Future>::poll::h839cde59e8cf45f2
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x55db465aff80 - <core::pin::Pin<P> as core::future::future::Future>::poll::h9f8abedc2b8318ad
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/future/future.rs:133:9
[INFO] [stdout]   24:     0x55db465aff80 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::hf3502a841403b389
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:665:73
[INFO] [stdout]   25:     0x55db465aff80 - tokio::runtime::coop::with_budget::h139dd7105e02fc9a
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/coop.rs:107:5
[INFO] [stdout]   26:     0x55db465aff80 - tokio::runtime::coop::budget::hca8e8e4bb3a86740
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/coop.rs:73:5
[INFO] [stdout]   27:     0x55db465aff80 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::hd44a2ed7d6e709e9
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:665:25
[INFO] [stdout]   28:     0x55db465aff80 - tokio::runtime::scheduler::current_thread::Context::enter::hbbaff84bea5cabb8
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:410:19
[INFO] [stdout]   29:     0x55db465ad6d8 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::h1bd79a68af7419da
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:664:44
[INFO] [stdout]   30:     0x55db465ad6d8 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::hcb9331393a3329f6
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:743:68
[INFO] [stdout]   31:     0x55db465ad6d8 - tokio::runtime::context::scoped::Scoped<T>::set::hdae6fc96a4b16b39
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   32:     0x55db465ab66f - tokio::runtime::context::set_scheduler::{{closure}}::h9280dda9d250f9e8
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context.rs:176:38
[INFO] [stdout]   33:     0x55db465ab66f - std::thread::local::LocalKey<T>::try_with::h6a8ec3bc1b5f15b4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   34:     0x55db465ab66f - std::thread::local::LocalKey<T>::with::h4798cd21ab8d55e4
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   35:     0x55db465b06e7 - tokio::runtime::context::set_scheduler::h91d4cd85b46f63d9
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context.rs:176:17
[INFO] [stdout]   36:     0x55db465b06e7 - tokio::runtime::scheduler::current_thread::CoreGuard::enter::hd07f51bb32bc49d7
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:743:27
[INFO] [stdout]   37:     0x55db465b06e7 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::hfc5c5d83b44b7bc8
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:652:24
[INFO] [stdout]   38:     0x55db465ae8df - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::hd639945de00d0169
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:175:33
[INFO] [stdout]   39:     0x55db465ae8df - tokio::runtime::context::runtime::enter_runtime::h1ee953aa5b76d43a
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   40:     0x55db465add35 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h3faa1f4f328ccae4
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/scheduler/current_thread/mod.rs:167:9
[INFO] [stdout]   41:     0x55db465add35 - tokio::runtime::runtime::Runtime::block_on::h90757abeb93833f4
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.35.1/src/runtime/runtime.rs:348:52
[INFO] [stdout]   42:     0x55db4658f84d - git_tests::test_file_status_performance::h72ff1c77ed224a88
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:96:32
[INFO] [stdout]   43:     0x55db4658f84d - git_tests::test_file_status_performance::{{closure}}::h093dc9b96482b2dc
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/git_tests.rs:83:40
[INFO] [stdout]   44:     0x55db4658f84d - core::ops::function::FnOnce::call_once::hef1357b0a7009dee
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x55db465cf3bb - core::ops::function::FnOnce::call_once::hefaf63600cd43d2a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x55db465cf3bb - test::__rust_begin_short_backtrace::he30322a73a0e9ea6
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:663:18
[INFO] [stdout]   47:     0x55db465e2d8a - test::run_test_in_process::{{closure}}::hdea3ab8d0243ef36
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:74
[INFO] [stdout]   48:     0x55db465e2d8a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h66d192f42498ffce
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   49:     0x55db465e2d8a - std::panicking::catch_unwind::do_call::h822e18e8d3a6bb65
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   50:     0x55db465e2d8a - std::panicking::catch_unwind::h54b1de7ceab578bf
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   51:     0x55db465e2d8a - std::panic::catch_unwind::h60c29b7a9d0246b1
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   52:     0x55db465e2d8a - test::run_test_in_process::h6099b5f871379b13
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:686:27
[INFO] [stdout]   53:     0x55db465e2d8a - test::run_test::{{closure}}::h926ce0a38281a4c8
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:607:43
[INFO] [stdout]   54:     0x55db465bd1e4 - test::run_test::{{closure}}::h508de21a9afc7140
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/test/src/lib.rs:637:41
[INFO] [stdout]   55:     0x55db465bd1e4 - std::sys::backtrace::__rust_begin_short_backtrace::h6e2f5c39ca00735a
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   56:     0x55db465c0aa2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::{{closure}}::h133e44f0e5802c14
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   57:     0x55db465c0aa2 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4718c1285283955c
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   58:     0x55db465c0aa2 - std::panicking::catch_unwind::do_call::h0bba3937b4892238
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:581:40
[INFO] [stdout]   59:     0x55db465c0aa2 - std::panicking::catch_unwind::h5b31cab5fb8c5d7f
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panicking.rs:544:19
[INFO] [stdout]   60:     0x55db465c0aa2 - std::panic::catch_unwind::hb2fa05d52ed0124e
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/panic.rs:359:14
[INFO] [stdout]   61:     0x55db465c0aa2 - std::thread::lifecycle::spawn_unchecked::{{closure}}::hf401cf5ff501bd29
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   62:     0x55db465c0aa2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h160022e94ce3b0bb
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   63:     0x55db466e176f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf234e0d1d1d272ba
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   64:     0x55db466e176f - std::sys::thread::unix::Thread::new::thread_start::h106a295241840d3b
[INFO] [stdout]                                at /rustc/9b1f8ff42d110b0ca138116745be921df5dc97e7/library/std/src/sys/thread/unix.rs:127:17
[INFO] [stdout]   65:     0x796732b89aa4 - <unknown>
[INFO] [stdout]   66:     0x796732c16a64 - clone
[INFO] [stdout]   67:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_advanced_operations_performance
[INFO] [stdout]     test_batch_staging_operations
[INFO] [stdout]     test_file_status_performance
[INFO] [stdout]     test_git_branch_operations
[INFO] [stdout]     test_git_remote_operations
[INFO] [stdout]     test_git_stash_operations
[INFO] [stdout]     test_git_tag_operations
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 9 passed; 7 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.62s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test git_tests`
[INFO] running `Command { std: "docker" "inspect" "48cf2268a72738dfd42c7ff80a15951fade3afb242ec70248e76002ce51dfefe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48cf2268a72738dfd42c7ff80a15951fade3afb242ec70248e76002ce51dfefe", kill_on_drop: false }`
[INFO] [stdout] 48cf2268a72738dfd42c7ff80a15951fade3afb242ec70248e76002ce51dfefe
