[INFO] cloning repository https://github.com/schani/git-lineage
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/schani/git-lineage" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fschani%2Fgit-lineage", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fschani%2Fgit-lineage'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 819c41ec0211d2504c500b9de03187bf5fbee003
[INFO] checking schani/git-lineage against try#66388cc165a6c4ac98c074dc9f0281ff23528c55 for pr-150727
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fschani%2Fgit-lineage" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/schani/git-lineage
[INFO] finished tweaking git repo https://github.com/schani/git-lineage
[INFO] tweaked toml for git repo https://github.com/schani/git-lineage written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/schani/git-lineage on toolchain 66388cc165a6c4ac98c074dc9f0281ff23528c55
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/schani/git-lineage 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" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6398f98444f7feb6046433c7c216efae1dc42aaeb9c872c5000fa29a67f079e0
[INFO] running `Command { std: "docker" "start" "-a" "6398f98444f7feb6046433c7c216efae1dc42aaeb9c872c5000fa29a67f079e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6398f98444f7feb6046433c7c216efae1dc42aaeb9c872c5000fa29a67f079e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6398f98444f7feb6046433c7c216efae1dc42aaeb9c872c5000fa29a67f079e0", kill_on_drop: false }`
[INFO] [stdout] 6398f98444f7feb6046433c7c216efae1dc42aaeb9c872c5000fa29a67f079e0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 03cdad3538f84ee9af358e25d9ca2e48c848dd5b7b5a9f30881f829b8464ec77
[INFO] running `Command { std: "docker" "start" "-a" "03cdad3538f84ee9af358e25d9ca2e48c848dd5b7b5a9f30881f829b8464ec77", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking gix-trace v0.1.12
[INFO] [stderr]     Checking zlib-rs v0.5.1
[INFO] [stderr]     Checking unicode-normalization v0.1.24
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking bytesize v2.0.1
[INFO] [stderr]     Checking human_format v1.1.0
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling heapless v0.8.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking winnow v0.7.11
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]     Checking unicode-bom v2.0.3
[INFO] [stderr]     Checking kstring v2.0.2
[INFO] [stderr]     Checking shell-words v1.1.0
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]    Compiling cc v1.2.27
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking sha1-checked v0.10.0
[INFO] [stderr]     Checking uluru v3.1.0
[INFO] [stderr]     Checking imara-diff v0.1.8
[INFO] [stderr]     Checking castaway v0.2.3
[INFO] [stderr]     Checking clru v0.6.2
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking indexmap v2.10.0
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking quick-xml v0.37.5
[INFO] [stderr]     Checking arc-swap v1.7.1
[INFO] [stderr]     Checking slab v0.4.10
[INFO] [stderr]     Checking predicates-core v1.0.9
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking termtree v0.5.1
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]     Checking sdd v3.0.8
[INFO] [stderr]     Checking libz-rs-sys v0.5.1
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking scc v2.3.4
[INFO] [stderr]     Checking predicates-tree v1.0.12
[INFO] [stderr]     Checking flate2 v1.1.2
[INFO] [stderr]     Checking predicates v3.1.3
[INFO] [stderr]     Checking deunicode v1.6.2
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking downcast v0.11.0
[INFO] [stderr]     Checking fragile v2.0.1
[INFO] [stderr]     Checking maplit v1.0.2
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]     Checking gix-sec v0.11.0
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking filetime v0.2.25
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking io-close v0.3.7
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking prodash v29.0.2
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking signal-hook-mio v0.2.4
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking proptest v1.7.0
[INFO] [stderr]     Checking fake v2.10.0
[INFO] [stderr]     Checking bstr v1.12.0
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking gix-utils v0.3.0
[INFO] [stderr]     Checking globset v0.4.16
[INFO] [stderr]     Checking ignore v0.4.23
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling maybe-async v0.2.10
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.40
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]    Compiling mockall_derive v0.12.1
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]     Checking tokio v1.45.1
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking thiserror v2.0.12
[INFO] [stderr]     Checking gix-validate v0.10.0
[INFO] [stderr]     Checking gix-date v0.10.2
[INFO] [stderr]     Checking gix-quote v0.6.0
[INFO] [stderr]     Checking gix-chunk v0.4.11
[INFO] [stderr]     Checking gix-bitmap v0.2.14
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking serial_test v3.2.0
[INFO] [stderr]     Checking gix-path v0.10.18
[INFO] [stderr]     Checking onig v6.5.1
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking gix-actor v0.35.1
[INFO] [stderr]     Checking yoke v0.8.0
[INFO] [stderr]     Checking gix-features v0.42.1
[INFO] [stderr]     Checking gix-command v0.6.1
[INFO] [stderr]     Checking gix-config-value v0.15.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]     Checking gix-mailmap v0.27.1
[INFO] [stderr]     Checking zerovec v0.11.2
[INFO] [stderr]     Checking zerotrie v0.2.2
[INFO] [stderr]    Compiling instability v0.3.7
[INFO] [stderr]     Checking clap v4.5.40
[INFO] [stderr]     Checking gix-prompt v0.11.0
[INFO] [stderr]     Checking gix-fs v0.15.0
[INFO] [stderr]     Checking gix-glob v0.20.1
[INFO] [stderr]     Checking ratatui v0.28.1
[INFO] [stderr]     Checking gix-tempfile v17.1.0
[INFO] [stderr]     Checking gix-lock v17.1.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking mockall v0.12.1
[INFO] [stderr]     Checking gix-attributes v0.26.1
[INFO] [stderr]     Checking gix-ignore v0.15.0
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]     Checking potential_utf v0.1.2
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]     Checking gix-pathspec v0.11.0
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking tui-tree-widget v0.22.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking faster-hex v0.10.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking plist v1.7.2
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking gix-hash v0.18.0
[INFO] [stderr]     Checking gix-packetline-blocking v0.19.0
[INFO] [stderr]     Checking gix-packetline v0.19.0
[INFO] [stderr]     Checking gix-url v0.31.0
[INFO] [stderr]     Checking gix-hashtable v0.8.1
[INFO] [stderr]     Checking gix-commitgraph v0.28.0
[INFO] [stderr]     Checking gix-transport v0.47.0
[INFO] [stderr]     Checking gix-shallow v0.4.0
[INFO] [stderr]     Checking gix-credentials v0.29.0
[INFO] [stderr]     Checking gix-object v0.49.1
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]     Checking syntect v5.2.0
[INFO] [stderr]     Checking gix-revwalk v0.20.1
[INFO] [stderr]     Checking gix-ref v0.52.1
[INFO] [stderr]     Checking gix-filter v0.19.2
[INFO] [stderr]     Checking gix-pack v0.59.1
[INFO] [stderr]     Checking gix-traverse v0.46.2
[INFO] [stderr]     Checking gix-revision v0.34.1
[INFO] [stderr]     Checking gix-negotiate v0.20.1
[INFO] [stderr]     Checking gix-index v0.40.1
[INFO] [stderr]     Checking gix-worktree-stream v0.21.2
[INFO] [stderr]     Checking gix-refspec v0.30.1
[INFO] [stderr]     Checking gix-archive v0.21.2
[INFO] [stderr]     Checking gix-discover v0.40.1
[INFO] [stderr]     Checking gix-config v0.45.1
[INFO] [stderr]     Checking gix-protocol v0.50.1
[INFO] [stderr]     Checking gix-odb v0.69.1
[INFO] [stderr]     Checking gix-worktree v0.41.0
[INFO] [stderr]     Checking gix-submodule v0.19.1
[INFO] [stderr]     Checking gix-diff v0.52.1
[INFO] [stderr]     Checking gix-dir v0.14.1
[INFO] [stderr]     Checking gix-worktree-state v0.19.0
[INFO] [stderr]     Checking gix-status v0.19.1
[INFO] [stderr]     Checking gix v0.72.1
[INFO] [stderr]     Checking git-lineage v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]     --> src/app.rs:1011:13
[INFO] [stdout]      |
[INFO] [stdout] 1011 |         use super::*;
[INFO] [stdout]      |             ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]    --> src/async_task.rs:520:9
[INFO] [stdout]     |
[INFO] [stdout] 520 |     use std::path::PathBuf;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cancellation_token_for_callback`
[INFO] [stdout]    --> src/async_task.rs:333:13
[INFO] [stdout]     |
[INFO] [stdout] 333 |         let cancellation_token_for_callback = cancellation_token.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cancellation_token_for_callback`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use .area() as it's the more correct name
[INFO] [stdout]    --> src/headless_backend.rs:227:38
[INFO] [stdout]     |
[INFO] [stdout] 227 |             f.render_widget(block, f.size());
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use .area() as it's the more correct name
[INFO] [stdout]    --> src/headless_backend.rs:247:42
[INFO] [stdout]     |
[INFO] [stdout] 247 |             f.render_widget(paragraph, f.size());
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use .area() as it's the more correct name
[INFO] [stdout]    --> src/headless_backend.rs:263:26
[INFO] [stdout]     |
[INFO] [stdout] 263 |                 .split(f.size());
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use .area() as it's the more correct name
[INFO] [stdout]    --> src/headless_backend.rs:284:42
[INFO] [stdout]     |
[INFO] [stdout] 284 |             f.render_widget(paragraph, f.size());
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cancellation_token_for_callback`
[INFO] [stdout]    --> src/async_task.rs:333:13
[INFO] [stdout]     |
[INFO] [stdout] 333 |         let cancellation_token_for_callback = cancellation_token.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cancellation_token_for_callback`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stderr] thread 'rustc' (1966) panicked at /rustc-dev/66388cc165a6c4ac98c074dc9f0281ff23528c55/compiler/rustc_ast/src/attr/mod.rs:302:36:
[INFO] [stderr] attribute is missing tokens: Attribute { kind: Normal(NormalAttr { item: AttrItem { unsafety: Default, path: Path { span: tests/main_tests.rs:453:5: 453:12 (#141), segments: [PathSegment { ident: <test_trace>#141, id: NodeId(4294967040), args: None }], tokens: None }, args: Unparsed(Empty), tokens: None }, tokens: None }), id: AttrId(115), style: Outer, span: tests/main_tests.rs:453:5: 453:12 (#141) }
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x7dd88242bfa3 - <<std[7d609349af90bec6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[75ca2badb63c4514]::fmt::Display>::fmt
[INFO] [stderr]    1:     0x7dd882a0fb48 - core[75ca2badb63c4514]::fmt::write
[INFO] [stderr]    2:     0x7dd882442226 - <std[7d609349af90bec6]::sys::stdio::unix::Stderr as std[7d609349af90bec6]::io::Write>::write_fmt
[INFO] [stderr]    3:     0x7dd882401b98 - std[7d609349af90bec6]::panicking::default_hook::{closure#0}
[INFO] [stderr]    4:     0x7dd88241f833 - std[7d609349af90bec6]::panicking::default_hook
[INFO] [stderr]    5:     0x7dd88140236a - std[7d609349af90bec6]::panicking::update_hook::<alloc[d7482eb0f1d19161]::boxed::Box<rustc_driver_impl[3f9d6dd912ac34bd]::install_ice_hook::{closure#1}>>::{closure#0}
[INFO] [stderr]    6:     0x7dd88241fb12 - std[7d609349af90bec6]::panicking::panic_with_hook
[INFO] [stderr]    7:     0x7dd882401c58 - std[7d609349af90bec6]::panicking::panic_handler::{closure#0}
[INFO] [stderr]    8:     0x7dd8823f89a9 - std[7d609349af90bec6]::sys::backtrace::__rust_end_short_backtrace::<std[7d609349af90bec6]::panicking::panic_handler::{closure#0}, !>
[INFO] [stderr]    9:     0x7dd88240372d - __rustc[69841a6cbc58d81d]::rust_begin_unwind
[INFO] [stderr]   10:     0x7dd87f038f9c - core[75ca2badb63c4514]::panicking::panic_fmt
[INFO] [stderr]   11:     0x7dd8837e0110 - <rustc_ast[333fca09df5738a4]::ast::Attribute>::token_trees
[INFO] [stderr]   12:     0x7dd88401c314 - <rustc_expand[a01ffc1bf52c2613]::expand::MacroExpander>::fully_expand_fragment
[INFO] [stderr]   13:     0x7dd883fe65d2 - <rustc_expand[a01ffc1bf52c2613]::expand::MacroExpander>::expand_crate
[INFO] [stderr]   14:     0x7dd8830f0af3 - rustc_interface[903e43df8d6bd657]::passes::configure_and_expand
[INFO] [stderr]   15:     0x7dd883c07658 - rustc_interface[903e43df8d6bd657]::passes::resolver_for_lowering_raw
[INFO] [stderr]   16:     0x7dd883c073cd - rustc_query_impl[8c5349e00d64015e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[2342951a64deba5]::query::erase::Erased<[u8; 16usize]>>
[INFO] [stderr]   17:     0x7dd883c073a7 - <rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2} as core[75ca2badb63c4514]::ops::function::FnOnce<(rustc_middle[2342951a64deba5]::ty::context::TyCtxt, ())>>::call_once
[INFO] [stderr]   18:     0x7dd883becb5f - rustc_query_system[d45be4fb383a0235]::query::plumbing::try_execute_query::<rustc_query_impl[8c5349e00d64015e]::DynamicConfig<rustc_query_system[d45be4fb383a0235]::query::caches::SingleCache<rustc_middle[2342951a64deba5]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[8c5349e00d64015e]::plumbing::QueryCtxt, false>
[INFO] [stderr]   19:     0x7dd883bec6bc - rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace
[INFO] [stderr]   20:     0x7dd883d7127b - <rustc_interface[903e43df8d6bd657]::passes::create_and_enter_global_ctxt<core[75ca2badb63c4514]::option::Option<rustc_interface[903e43df8d6bd657]::queries::Linker>, rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[75ca2badb63c4514]::ops::function::FnOnce<(&rustc_session[1e6875ba352dc1ba]::session::Session, rustc_middle[2342951a64deba5]::ty::context::CurrentGcx, alloc[d7482eb0f1d19161]::sync::Arc<rustc_data_structures[c82a87ce5cdbfc92]::jobserver::Proxy>, &std[7d609349af90bec6]::sync::once_lock::OnceLock<rustc_middle[2342951a64deba5]::ty::context::GlobalCtxt>, &rustc_data_structures[c82a87ce5cdbfc92]::sync::worker_local::WorkerLocal<rustc_middle[2342951a64deba5]::arena::Arena>, &rustc_data_structures[c82a87ce5cdbfc92]::sync::worker_local::WorkerLocal<rustc_hir[cc727ec2ba6ebdb5]::Arena>, rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
[INFO] [stderr]   21:     0x7dd883c5ac98 - rustc_interface[903e43df8d6bd657]::interface::run_compiler::<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}
[INFO] [stderr]   22:     0x7dd883aeac4e - std[7d609349af90bec6]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[903e43df8d6bd657]::util::run_in_thread_with_globals<rustc_interface[903e43df8d6bd657]::util::run_in_thread_pool_with_globals<rustc_interface[903e43df8d6bd657]::interface::run_compiler<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
[INFO] [stderr]   23:     0x7dd883aeaa20 - <std[7d609349af90bec6]::thread::lifecycle::spawn_unchecked<rustc_interface[903e43df8d6bd657]::util::run_in_thread_with_globals<rustc_interface[903e43df8d6bd657]::util::run_in_thread_pool_with_globals<rustc_interface[903e43df8d6bd657]::interface::run_compiler<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[75ca2badb63c4514]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stderr]   24:     0x7dd883aed138 - <std[7d609349af90bec6]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stderr]   25:     0x7dd87d68aaa4 - <unknown>
[INFO] [stderr]   26:     0x7dd87d717a64 - clone
[INFO] [stderr]   27:                0x0 - <unknown>
[INFO] [stderr] 
[INFO] [stderr] error: the compiler unexpectedly panicked. this is a bug.
[INFO] [stderr] 
[INFO] [stderr] note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
[INFO] [stderr] 
[INFO] [stderr] note: please make sure that you have updated to the latest nightly
[INFO] [stderr] 
[INFO] [stderr] warning: the ICE couldn't be written to `/opt/rustwide/workdir/rustc-ice-2026-01-09T22_26_57-1959.txt`: Read-only file system (os error 30)
[INFO] [stderr] 
[INFO] [stderr] note: rustc 1.94.0-nightly (66388cc16 2026-01-08) running on x86_64-unknown-linux-gnu
[INFO] [stderr] 
[INFO] [stderr] note: compiler flags: -C embed-bitcode=no -C debuginfo=2
[INFO] [stderr] 
[INFO] [stderr] note: some of the compiler flags provided by cargo are hidden
[INFO] [stderr] 
[INFO] [stderr] query stack during panic:
[INFO] [stderr] #0 [resolver_for_lowering_raw] getting the resolver for lowering
[INFO] [stderr] end of query stack
[INFO] [stderr] error: could not compile `git-lineage` (test "main_tests")
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/headless_backend.rs:222:13
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let mut backend = HeadlessBackend::new(20, 5);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/headless_backend.rs:242:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let mut backend = HeadlessBackend::new(30, 10);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] Caused by:
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/headless_backend.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let mut backend = HeadlessBackend::new(60, 20);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/66388cc165a6c4ac98c074dc9f0281ff23528c55/bin/rustc --crate-name main_tests --edition=2021 tests/main_tests.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=9e583e2df3c96017 -C extra-filename=-7eff8286ef04db99 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern assert_matches=/opt/rustwide/target/debug/deps/libassert_matches-ad0cb9533c05fd3a.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-e69fece7f8a376ae.rmeta --extern clap=/opt/rustwide/target/debug/deps/libclap-141260ca4bb94ab2.rmeta --extern crossterm=/opt/rustwide/target/debug/deps/libcrossterm-6ae4e638653b4a9c.rmeta --extern env_logger=/opt/rustwide/target/debug/deps/libenv_logger-980f8ab6f461fde5.rmeta --extern fake=/opt/rustwide/target/debug/deps/libfake-021fcc1415cf5b6c.rmeta --extern fuzzy_matcher=/opt/rustwide/target/debug/deps/libfuzzy_matcher-9f2663300271d825.rmeta --extern git_lineage=/opt/rustwide/target/debug/deps/libgit_lineage-024739d9c25c79f4.rmeta --extern gix=/opt/rustwide/target/debug/deps/libgix-c954197a987aada8.rmeta --extern ignore=/opt/rustwide/target/debug/deps/libignore-6488bb82946136f8.rmeta --extern lazy_static=/opt/rustwide/target/debug/deps/liblazy_static-cb8ca6aa8c56979f.rmeta --extern log=/opt/rustwide/target/debug/deps/liblog-9dd860993e8ea465.rmeta --extern maplit=/opt/rustwide/target/debug/deps/libmaplit-3e7e98e7c0c45f70.rmeta --extern mockall=/opt/rustwide/target/debug/deps/libmockall-63d92100019a535d.rmeta --extern proptest=/opt/rustwide/target/debug/deps/libproptest-22e4254fa4bf4e6e.rmeta --extern ratatui=/opt/rustwide/target/debug/deps/libratatui-fe895c043447c9cd.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-ca40d6e4a40b44a5.rmeta --extern serde_json=/opt/rustwide/target/debug/deps/libserde_json-5860146c98e0c27c.rmeta --extern serial_test=/opt/rustwide/target/debug/deps/libserial_test-4a2f30eb64e5c37f.rmeta --extern similar=/opt/rustwide/target/debug/deps/libsimilar-3dba6591ac13e937.rmeta --extern syntect=/opt/rustwide/target/debug/deps/libsyntect-c6ec553683a056e3.rmeta --extern tempfile=/opt/rustwide/target/debug/deps/libtempfile-a5763bb307102947.rmeta --extern thiserror=/opt/rustwide/target/debug/deps/libthiserror-cf981fd7591a9a7b.rmeta --extern tokio=/opt/rustwide/target/debug/deps/libtokio-5a85b2cac1465046.rmeta --extern tokio_test=/opt/rustwide/target/debug/deps/libtokio_test-98ad4cb50fe854d0.rmeta --extern tokio_util=/opt/rustwide/target/debug/deps/libtokio_util-2baf5e0a700f55bd.rmeta --extern tui_tree_widget=/opt/rustwide/target/debug/deps/libtui_tree_widget-3944437337ed99ad.rmeta --cap-lints=forbid -L native=/opt/rustwide/target/debug/build/onig_sys-8e225dffa3f17c67/out` (exit status: 101)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/headless_backend.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |         let mut backend = HeadlessBackend::new(10, 3);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]     --> src/app.rs:1011:13
[INFO] [stdout]      |
[INFO] [stdout] 1011 |         use super::*;
[INFO] [stdout]      |             ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]    --> src/async_task.rs:520:9
[INFO] [stdout]     |
[INFO] [stdout] 520 |     use std::path::PathBuf;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_commit_info` is never used
[INFO] [stdout]    --> src/async_task.rs:526:8
[INFO] [stdout]     |
[INFO] [stdout] 526 |     fn create_test_commit_info(hash: &str, subject: &str) -> CommitInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cancellation_token_for_callback`
[INFO] [stdout]    --> src/async_task.rs:333:13
[INFO] [stdout]     |
[INFO] [stdout] 333 |         let cancellation_token_for_callback = cancellation_token.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cancellation_token_for_callback`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use .area() as it's the more correct name
[INFO] [stdout]    --> src/headless_backend.rs:227:38
[INFO] [stdout]     |
[INFO] [stdout] 227 |             f.render_widget(block, f.size());
[INFO] [stdout]     |                                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use .area() as it's the more correct name
[INFO] [stdout]    --> src/headless_backend.rs:247:42
[INFO] [stdout]     |
[INFO] [stdout] 247 |             f.render_widget(paragraph, f.size());
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use .area() as it's the more correct name
[INFO] [stdout]    --> src/headless_backend.rs:263:26
[INFO] [stdout]     |
[INFO] [stdout] 263 |                 .split(f.size());
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use .area() as it's the more correct name
[INFO] [stdout]    --> src/headless_backend.rs:284:42
[INFO] [stdout]     |
[INFO] [stdout] 284 |             f.render_widget(paragraph, f.size());
[INFO] [stdout]     |                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Modified` is never constructed
[INFO] [stdout]   --> src/app.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub enum DiffLineType {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 42 |     Modified,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiffLineType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_blame` is never read
[INFO] [stdout]   --> src/app.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct InspectorState {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 56 |     pub current_content: Vec<String>,
[INFO] [stdout] 57 |     pub current_blame: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InspectorState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/app.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl App {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn navigate_tree_up(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn navigate_tree_down(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn expand_selected_node(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn collapse_selected_node(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn toggle_selected_node(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn get_selected_file_path(&self) -> Option<PathBuf> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn get_navigator_search_query(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn is_navigator_searching(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn load_inspector_content(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn set_selected_commit(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn load_commit_history_for_selected_file(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LoadCommitHistory` is never constructed
[INFO] [stdout]  --> src/async_task.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum Task {
[INFO] [stdout]   |          ---- variant in this enum
[INFO] [stdout] 7 |     LoadFileTree,
[INFO] [stdout] 8 |     LoadCommitHistory {
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Task` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]    --> src/command.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout]  46 | impl Command {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn to_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_blame_at_commit` is never used
[INFO] [stdout]    --> src/git_utils.rs:423:8
[INFO] [stdout]     |
[INFO] [stdout] 423 | pub fn get_blame_at_commit(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_file_content_at_head` is never used
[INFO] [stdout]    --> src/git_utils.rs:467:8
[INFO] [stdout]     |
[INFO] [stdout] 467 | pub fn get_file_content_at_head(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_next_change_for_line` is never used
[INFO] [stdout]    --> src/git_utils.rs:530:8
[INFO] [stdout]     |
[INFO] [stdout] 530 | pub fn find_next_change_for_line(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_buffer`, `contains_text`, `get_cursor`, and `resize` are never used
[INFO] [stdout]   --> src/headless_backend.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl HeadlessBackend {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn get_buffer(&self) -> &Buffer {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn contains_text(&self, text: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn get_cursor(&self) -> (Option<(u16, u16)>, bool) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn resize(&mut self, width: u16, height: u16) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reverse_map_line`, `find_nearest_mapped_line`, and `find_nearest_mapped_line_with_content_fallback` are never used
[INFO] [stdout]    --> src/line_mapping.rs:54:12
[INFO] [stdout]     |
[INFO] [stdout]  24 | impl LineMapping {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn reverse_map_line(&self, new_line: usize) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn find_nearest_mapped_line(&self, old_line: usize, search_radius: usize) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn find_nearest_mapped_line_with_content_fallback(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Git` is never constructed
[INFO] [stdout]    --> src/line_mapping.rs:306:5
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub enum LineMappingError {
[INFO] [stdout]     |          ---------------- variant in this enum
[INFO] [stdout] 305 |     #[error("Git error: {0}")]
[INFO] [stdout] 306 |     Git(String),
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LineMappingError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SelectFile` is never constructed
[INFO] [stdout]   --> src/navigator.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum NavigatorEvent {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] 13 |     SelectFile(PathBuf),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NavigatorEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scroll_offset` is never read
[INFO] [stdout]   --> src/navigator.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct NavigatorViewModel {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 41 |     pub items: Vec<VisibleItem>,
[INFO] [stdout] 42 |     pub scroll_offset: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NavigatorViewModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_view_model_dirty` is never used
[INFO] [stdout]    --> src/navigator.rs:354:12
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl NavigatorState {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 354 |     pub fn is_view_model_dirty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save_to_file` is never used
[INFO] [stdout]    --> src/test_config.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl TestConfig {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn save_to_file(&self, path: &str) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/test_runner.rs:607:12
[INFO] [stdout]     |
[INFO] [stdout] 606 | impl TestRunner {
[INFO] [stdout]     | --------------- associated function in this implementation
[INFO] [stdout] 607 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `search_text` and `text_default` are never read
[INFO] [stdout]   --> src/theme.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Theme {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub search_text: Color,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub text_default: Color,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Theme` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/tree.rs:63:12
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl TreeNode {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn remove_child(&mut self, path: &Path) -> Option<TreeNode> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn find_child(&self, path: &Path) -> Option<&TreeNode> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn find_child_mut(&mut self, path: &Path) -> Option<&mut TreeNode> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn collapse(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn toggle_expansion(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn has_children(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 108 |     pub fn depth(&self) -> usize {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/tree.rs:333:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl FileTree {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 333 |     pub fn set_git_status(&mut self, status_map: HashMap<PathBuf, char>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn apply_git_status_to_tree(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     fn apply_git_status_to_node_static(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 371 |     pub fn find_node_mut(&mut self, path: &Path) -> Option<&mut TreeNode> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 396 |     fn find_node_recursive_mut_static<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn expand_node(&mut self, path: &Path) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 425 |     pub fn collapse_node(&mut self, path: &Path) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 436 |     pub fn toggle_node(&mut self, path: &Path) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 447 |     pub fn get_visible_nodes(&self) -> Vec<&TreeNode> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     pub fn get_visible_nodes_with_depth(&self) -> Vec<(&TreeNode, usize)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 465 |     fn collect_visible_nodes<'a>(&self, node: &'a TreeNode, visible: &mut Vec<&'a TreeNode>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 476 |     fn collect_visible_nodes_with_depth<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 492 |     pub fn get_stats(&self) -> TreeStats {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 501 |     fn collect_stats(&self, node: &TreeNode, stats: &mut TreeStats) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TreeStats` is never constructed
[INFO] [stdout]    --> src/tree.rs:526:12
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub struct TreeStats {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cancellation_token_for_callback`
[INFO] [stdout]    --> src/async_task.rs:333:13
[INFO] [stdout]     |
[INFO] [stdout] 333 |         let cancellation_token_for_callback = cancellation_token.clone();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cancellation_token_for_callback`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/headless_backend.rs:222:13
[INFO] [stdout]     |
[INFO] [stdout] 222 |         let mut backend = HeadlessBackend::new(20, 5);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/headless_backend.rs:242:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |         let mut backend = HeadlessBackend::new(30, 10);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/headless_backend.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |         let mut backend = HeadlessBackend::new(60, 20);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/headless_backend.rs:279:13
[INFO] [stdout]     |
[INFO] [stdout] 279 |         let mut backend = HeadlessBackend::new(10, 3);
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Modified` is never constructed
[INFO] [stdout]   --> src/app.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub enum DiffLineType {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 42 |     Modified,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiffLineType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_navigator_search_query`, `is_navigator_searching`, `load_inspector_content`, `set_selected_commit`, and `load_commit_history_for_selected_file` are never used
[INFO] [stdout]    --> src/app.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout]  94 | impl App {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn get_navigator_search_query(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn is_navigator_searching(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn load_inspector_content(&mut self) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn set_selected_commit(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn load_commit_history_for_selected_file(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_test_commit_info` is never used
[INFO] [stdout]    --> src/async_task.rs:526:8
[INFO] [stdout]     |
[INFO] [stdout] 526 |     fn create_test_commit_info(hash: &str, subject: &str) -> CommitInfo {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_blame_at_commit` is never used
[INFO] [stdout]    --> src/git_utils.rs:423:8
[INFO] [stdout]     |
[INFO] [stdout] 423 | pub fn get_blame_at_commit(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_file_content_at_head` is never used
[INFO] [stdout]    --> src/git_utils.rs:467:8
[INFO] [stdout]     |
[INFO] [stdout] 467 | pub fn get_file_content_at_head(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_next_change_for_line` is never used
[INFO] [stdout]    --> src/git_utils.rs:530:8
[INFO] [stdout]     |
[INFO] [stdout] 530 | pub fn find_next_change_for_line(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Git` is never constructed
[INFO] [stdout]    --> src/line_mapping.rs:306:5
[INFO] [stdout]     |
[INFO] [stdout] 304 | pub enum LineMappingError {
[INFO] [stdout]     |          ---------------- variant in this enum
[INFO] [stdout] 305 |     #[error("Git error: {0}")]
[INFO] [stdout] 306 |     Git(String),
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LineMappingError` 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 `scroll_offset` is never read
[INFO] [stdout]   --> src/navigator.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct NavigatorViewModel {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 41 |     pub items: Vec<VisibleItem>,
[INFO] [stdout] 42 |     pub scroll_offset: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NavigatorViewModel` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_view_model_dirty` is never used
[INFO] [stdout]    --> src/navigator.rs:354:12
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl NavigatorState {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 354 |     pub fn is_view_model_dirty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `save_to_file` is never used
[INFO] [stdout]    --> src/test_config.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl TestConfig {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn save_to_file(&self, path: &str) -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `search_text` and `text_default` are never read
[INFO] [stdout]   --> src/theme.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Theme {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub search_text: Color,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub text_default: Color,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Theme` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_child_mut` and `has_children` are never used
[INFO] [stdout]    --> src/tree.rs:77:12
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl TreeNode {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn find_child_mut(&mut self, path: &Path) -> Option<&mut TreeNode> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn has_children(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `toggle_node`, `get_visible_nodes_with_depth`, and `collect_visible_nodes_with_depth` are never used
[INFO] [stdout]    --> src/tree.rs:436:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl FileTree {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 436 |     pub fn toggle_node(&mut self, path: &Path) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 456 |     pub fn get_visible_nodes_with_depth(&self) -> Vec<(&TreeNode, usize)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 476 |     fn collect_visible_nodes_with_depth<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "03cdad3538f84ee9af358e25d9ca2e48c848dd5b7b5a9f30881f829b8464ec77", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "03cdad3538f84ee9af358e25d9ca2e48c848dd5b7b5a9f30881f829b8464ec77", kill_on_drop: false }`
[INFO] [stdout] 03cdad3538f84ee9af358e25d9ca2e48c848dd5b7b5a9f30881f829b8464ec77
