[INFO] cloning repository https://github.com/Rossettaylm/loggrep
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Rossettaylm/loggrep" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRossettaylm%2Floggrep", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRossettaylm%2Floggrep'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 82211821a7ec1b866c10f06f8339f5d259f6a16e
[INFO] checking Rossettaylm/loggrep against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRossettaylm%2Floggrep" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Rossettaylm/loggrep
[INFO] finished tweaking git repo https://github.com/Rossettaylm/loggrep
[INFO] tweaked toml for git repo https://github.com/Rossettaylm/loggrep written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Rossettaylm/loggrep on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Rossettaylm/loggrep already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: alnav/Cargo.toml: file `/workspace/builds/worker-3-tc1/source/alnav/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bin` target `alg`
[INFO] [stderr]   * `bin` target `alnav`
[INFO] [stderr]   * `bin` target `aloggrep`
[INFO] [stderr]   * `bin` target `aloggrep-tui`
[INFO] [stderr] warning: `alnav` (manifest) generated 1 warning
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded log v0.4.31
[INFO] [stderr]   Downloaded nucleo-matcher v0.3.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 171a90c9eef5430cb7f9c8fd3e4f86c5b9217a58fcde352149f49a7c5ad98a6b
[INFO] running `Command { std: "docker" "start" "171a90c9eef5430cb7f9c8fd3e4f86c5b9217a58fcde352149f49a7c5ad98a6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "171a90c9eef5430cb7f9c8fd3e4f86c5b9217a58fcde352149f49a7c5ad98a6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "171a90c9eef5430cb7f9c8fd3e4f86c5b9217a58fcde352149f49a7c5ad98a6b" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "171a90c9eef5430cb7f9c8fd3e4f86c5b9217a58fcde352149f49a7c5ad98a6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "171a90c9eef5430cb7f9c8fd3e4f86c5b9217a58fcde352149f49a7c5ad98a6b" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: alnav/Cargo.toml: file `/opt/rustwide/workdir/alnav/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bin` target `alg`
[INFO] [stderr]   * `bin` target `alnav`
[INFO] [stderr]   * `bin` target `aloggrep`
[INFO] [stderr]   * `bin` target `aloggrep-tui`
[INFO] [stderr] warning: `alnav` (manifest) generated 1 warning
[INFO] [stderr]     Checking bitflags v2.12.1
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling syn v3.0.2
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking simd-adler32 v0.3.10
[INFO] [stderr]     Checking log v0.4.31
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking nix v0.31.3
[INFO] [stderr]     Checking lru v0.18.1
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking time v0.3.53
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking line-clipping v0.3.7
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking pxfm v0.1.30
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking winnow v1.0.4
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking bytemuck v1.25.1
[INFO] [stderr]     Checking toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking ctrlc v3.5.2
[INFO] [stderr]     Checking nucleo-matcher v0.3.1
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking memmap2 v0.9.11
[INFO] [stderr]     Checking predicates-core v1.0.10
[INFO] [stderr]     Checking compact_str v0.9.1
[INFO] [stderr]     Checking termtree v0.5.1
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling assert_cmd v2.2.2
[INFO] [stderr]     Checking predicates-tree v1.0.13
[INFO] [stderr]     Checking predicates v3.1.4
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking unicode-truncate v2.0.1
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking toml v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking kasuari v0.4.12
[INFO] [stderr]     Checking clap v4.6.0
[INFO] [stderr]     Checking alnav-core v0.2.4 (/opt/rustwide/workdir/alnav-core)
[INFO] [stderr]     Checking strum v0.28.0
[INFO] [stderr]     Checking ratatui-core v0.1.2
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking ratatui-widgets v0.3.2
[INFO] [stderr]     Checking ratatui-crossterm v0.1.2
[INFO] [stderr]     Checking ratatui-macros v0.7.2
[INFO] [stderr]     Checking ratatui v0.30.2
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking alnav v0.2.4 (/opt/rustwide/workdir/alnav)
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> alnav/src/recent.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> alnav/src/recent.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> alnav/src/recent.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> alnav/src/recent.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> alnav/src/recent.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_handle_ctrl_l` is never used
[INFO] [stdout]     --> alnav/src/main.rs:2558:4
[INFO] [stdout]      |
[INFO] [stdout] 2558 | fn try_handle_ctrl_l(app: &mut App) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `palette_spec` is never used
[INFO] [stdout]    --> alnav/src/action.rs:431:8
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub fn palette_spec(id: ActionId) -> Option<(&'static str, &'static str)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]    --> alnav/src/app.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl YankField {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 158 |     pub fn from_char(c: char) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChipFieldKey` is never used
[INFO] [stdout]    --> alnav/src/app.rs:175:10
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub enum ChipFieldKey {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]    --> alnav/src/app.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl ChipFieldKey {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 183 |     /// Same letters as [`YankField::from_char`], minus raw/timestamp.
[INFO] [stdout] 184 |     pub fn from_char(c: char) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> alnav/src/app.rs:642:12
[INFO] [stdout]      |
[INFO] [stdout]  490 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  642 |     pub fn rows(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  651 |     pub fn matched(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  852 |     pub fn is_unbound(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1117 |     pub fn flush_vocab_match(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1401 |     pub fn flush_summary_job(&mut self, timeout: std::time::Duration) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1519 |     pub fn flush_hist_job(&mut self, timeout: std::time::Duration) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1750 |     pub fn view_source(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1758 |     pub fn visible_len(&self) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2287 |     pub fn visible_rows(&self) -> Vec<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2380 |     pub fn move_group_cursor(&mut self, delta: isize) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2441 |     pub fn delete_focused_group(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2481 |     pub fn row_by_id(&self, row_id: u64) -> Option<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3406 |     pub fn jump_first_match(&mut self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3441 |     pub fn clear_filter_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3628 |     pub fn clear_exclude_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3671 |     pub fn clear_highlight_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bookmark_label` is never used
[INFO] [stdout]    --> alnav/src/bookmark.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub fn bookmark_label(timestamp: &str, level: char, tag: &str, msg: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delta_label` is never used
[INFO] [stdout]    --> alnav/src/bookmark.rs:335:8
[INFO] [stdout]     |
[INFO] [stdout] 335 | pub fn delta_label(prev_ts: Option<&str>, curr_ts: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dummy_row` is never used
[INFO] [stdout]    --> alnav/src/bookmark.rs:352:4
[INFO] [stdout]     |
[INFO] [stdout] 352 | fn dummy_row(row_id: u64, ts: &str) -> EntryRow {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cache` and `flush` are never used
[INFO] [stdout]    --> alnav/src/candidate_match.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl CandidateMatchService {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn cache(&self) -> &CandidateMatchCache {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub fn flush(&mut self, timeout: Duration) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuzzy_score` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn fuzzy_score(haystack: &str, pattern: &str) -> Option<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuzzy_match` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn fuzzy_match(haystack: &str, pattern: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuzzy_char_indices` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn fuzzy_char_indices(haystack: &str, pattern: &str) -> Vec<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first_match_byte_range` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:424:8
[INFO] [stdout]     |
[INFO] [stdout] 424 | pub fn first_match_byte_range(text: &str, pattern: &str) -> Option<(usize, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `short` is never used
[INFO] [stdout]   --> alnav/src/help.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl HintEntry {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn short(key: String, label: &'static str) -> Self {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `matches_msg` is never used
[INFO] [stdout]   --> alnav/src/highlight_model.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl HighlightGroup {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn matches_msg(&self, msg: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `active_patterns` is never used
[INFO] [stdout]   --> alnav/src/highlight_model.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl HighlightGroupList {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] 59 |     /// Flatten enabled groups' patterns with progressive color indices.
[INFO] [stdout] 60 |     pub fn active_patterns(&self) -> Vec<(&str, usize)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty`, `push_char`, `backspace`, and `begin_editing` are never used
[INFO] [stdout]    --> alnav/src/highlight_model.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl HighlightBox {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 114 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn push_char(&mut self, c: char) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn backspace(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn begin_editing(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Channel` is never constructed
[INFO] [stdout]   --> alnav/src/ingest.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum IngestHandle {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] 56 |     Channel(Receiver<EntryRow>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, and `capacity` are never used
[INFO] [stdout]    --> alnav/src/ingest.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl DropOldestRing {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_file_ingest` is never used
[INFO] [stdout]    --> alnav/src/ingest.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn spawn_file_ingest(path: String) -> io::Result<Receiver<EntryRow>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_field` is never used
[INFO] [stdout]   --> alnav/src/input.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl InputBox {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn set_field(&mut self, field: ChipField) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `display_aggregate` and `action_for_stroke` are never used
[INFO] [stdout]     --> alnav/src/keymap.rs:3089:12
[INFO] [stdout]      |
[INFO] [stdout] 3055 | impl KeymapStore {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3089 |     pub fn display_aggregate(&self, ids: &[ActionId]) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3125 |     pub fn action_for_stroke(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `phase`, `found_count`, and `is_scanning` are never used
[INFO] [stdout]   --> alnav/src/log_corpus.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl LogCorpus {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn phase(&self) -> CorpusPhase {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn found_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn is_scanning(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `prompt_prefix` is never used
[INFO] [stdout]    --> alnav/src/picker.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl PickerSession {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn prompt_prefix(&self) -> char {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `replace_subset` is never used
[INFO] [stdout]   --> alnav/src/scan.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl HighlightDomain {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn replace_subset(&self, hits: Vec<usize>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]   --> alnav/src/source_panel.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl OpenFileChoice {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 16 |     pub fn label(&self) -> String {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `from_dashboard` is never read
[INFO] [stdout]    --> alnav/src/source_panel.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct OpenFilePanel {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub from_dashboard: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OpenFilePanel` 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 `from_dashboard` is never read
[INFO] [stdout]    --> alnav/src/source_panel.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub struct StreamSourcePanel {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub from_dashboard: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StreamSourcePanel` 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 `bytes_done` is never read
[INFO] [stdout]    --> alnav/src/store.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     IndexProgress {
[INFO] [stdout]     |     ------------- field in this variant
[INFO] [stdout] 149 |         line_count: usize,
[INFO] [stdout] 150 |         bytes_done: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` 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 `scanned` is never read
[INFO] [stdout]    --> alnav/src/store.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |     FilterBatch {
[INFO] [stdout]     |     ----------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 159 |         scanned: usize,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` 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 `scanned` is never read
[INFO] [stdout]    --> alnav/src/store.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     FilterDone {
[INFO] [stdout]     |     ---------- field in this variant
[INFO] [stdout] 162 |         gen: u64,
[INFO] [stdout] 163 |         scanned: usize,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` 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 `path` is never read
[INFO] [stdout]    --> alnav/src/store.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct FileStore {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 182 |     path: PathBuf,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open_sync`, `path`, `event_sender`, `highlight_domain`, and `scan_filter_sync` are never used
[INFO] [stdout]    --> alnav/src/store.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl FileStore {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn open_sync(path: impl Into<PathBuf>) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn path(&self) -> &Path {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn event_sender(&self) -> Sender<FileEvent> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 468 |     pub fn highlight_domain(&self) -> Option<&Arc<HighlightDomain>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     pub fn scan_filter_sync(&self, mut pred: impl FnMut(&EntryRow) -> bool) -> Vec<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_stream` and `source_len` are never used
[INFO] [stdout]    --> alnav/src/store.rs:598:12
[INFO] [stdout]     |
[INFO] [stdout] 589 | impl RowStore {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub fn as_stream(&self) -> Option<&StreamStore> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 626 |     pub fn source_len(&self, filter_active: bool) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scan_line_spans` is never used
[INFO] [stdout]    --> alnav/src/store.rs:681:4
[INFO] [stdout]     |
[INFO] [stdout] 681 | fn scan_line_spans(mmap: &[u8]) -> Vec<LineSpan> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `split_at_cursor` is never used
[INFO] [stdout]    --> alnav/src/text_field.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl TextField {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn split_at_cursor(&self) -> (&str, &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_SEP` is never used
[INFO] [stdout]   --> alnav/src/theme.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const GLYPH_SEP: &str = "\u{e0bf}"; //
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_HR` is never used
[INFO] [stdout]   --> alnav/src/theme.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const GLYPH_HR: &str = "\u{2500}"; // ─
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `highlight_match_status_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:379:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn highlight_match_status_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `candidate_selection_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:433:8
[INFO] [stdout]     |
[INFO] [stdout] 433 | pub fn candidate_selection_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chip_pill_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:564:8
[INFO] [stdout]     |
[INFO] [stdout] 564 | pub fn chip_pill_style(field: ChipField, value: &str, disabled: bool) -> (String, Style) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exclude_pill_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:621:8
[INFO] [stdout]     |
[INFO] [stdout] 621 | pub fn exclude_pill_style(field: ChipField, value: &str, disabled: bool) -> (String, Style) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `highlight_pill_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:647:8
[INFO] [stdout]     |
[INFO] [stdout] 647 | pub fn highlight_pill_style(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_icon` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:763:8
[INFO] [stdout]     |
[INFO] [stdout] 763 | pub fn status_icon(glyph: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_icon_value` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:771:8
[INFO] [stdout]     |
[INFO] [stdout] 771 | pub fn status_icon_value(glyph: &str, value: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_soft` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:779:8
[INFO] [stdout]     |
[INFO] [stdout] 779 | pub fn status_soft(text: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `help_section_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:851:8
[INFO] [stdout]     |
[INFO] [stdout] 851 | pub fn help_section_style(active: bool) -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preview_highlight_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:871:8
[INFO] [stdout]     |
[INFO] [stdout] 871 | pub fn preview_highlight_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_overlay` is never used
[INFO] [stdout]     --> alnav/src/theme.rs:1046:8
[INFO] [stdout]      |
[INFO] [stdout] 1046 | pub fn apply_overlay(base: Palette, text: &str) -> Result<UiTokens, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_theme_toml` is never used
[INFO] [stdout]     --> alnav/src/theme.rs:1128:8
[INFO] [stdout]      |
[INFO] [stdout] 1128 | pub fn parse_theme_toml(text: &str) -> Result<UiTokens, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open` and `since_selected_date` are never used
[INFO] [stdout]    --> alnav/src/time_panel.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl TimePanel {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn open(rows: &VecDeque<EntryRow>, bound: Option<&TimeBound>) -> Option<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn since_selected_date(&self) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_date_catalog` is never used
[INFO] [stdout]    --> alnav/src/time_panel.rs:620:8
[INFO] [stdout]     |
[INFO] [stdout] 620 | pub fn extract_date_catalog(rows: &[EntryRow]) -> DateCatalog {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_input_box` is never used
[INFO] [stdout]     --> alnav/src/ui.rs:1831:8
[INFO] [stdout]      |
[INFO] [stdout] 1831 | pub fn render_input_box(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_picker_detail` is never used
[INFO] [stdout]     --> alnav/src/ui.rs:3086:8
[INFO] [stdout]      |
[INFO] [stdout] 3086 | pub fn render_picker_detail(row: Option<&crate::model::EntryRow>, frame: &mut Frame, area: Rect) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tag_candidates`, `pkg_candidates`, `msg_candidates`, and `all_candidates` are never used
[INFO] [stdout]   --> alnav/src/vocab.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Vocab {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn tag_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn pkg_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn msg_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn all_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_handle_ctrl_l` is never used
[INFO] [stdout]     --> alnav/src/main.rs:2558:4
[INFO] [stdout]      |
[INFO] [stdout] 2558 | fn try_handle_ctrl_l(app: &mut App) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `palette_spec` is never used
[INFO] [stdout]    --> alnav/src/action.rs:431:8
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub fn palette_spec(id: ActionId) -> Option<(&'static str, &'static str)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]    --> alnav/src/app.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl YankField {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 158 |     pub fn from_char(c: char) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChipFieldKey` is never used
[INFO] [stdout]    --> alnav/src/app.rs:175:10
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub enum ChipFieldKey {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]    --> alnav/src/app.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl ChipFieldKey {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 183 |     /// Same letters as [`YankField::from_char`], minus raw/timestamp.
[INFO] [stdout] 184 |     pub fn from_char(c: char) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_handle_ctrl_l` is never used
[INFO] [stdout]     --> alnav/src/main.rs:2558:4
[INFO] [stdout]      |
[INFO] [stdout] 2558 | fn try_handle_ctrl_l(app: &mut App) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `palette_spec` is never used
[INFO] [stdout]    --> alnav/src/action.rs:431:8
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub fn palette_spec(id: ActionId) -> Option<(&'static str, &'static str)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]    --> alnav/src/app.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl YankField {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 158 |     pub fn from_char(c: char) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChipFieldKey` is never used
[INFO] [stdout]    --> alnav/src/app.rs:175:10
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub enum ChipFieldKey {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]    --> alnav/src/app.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl ChipFieldKey {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 183 |     /// Same letters as [`YankField::from_char`], minus raw/timestamp.
[INFO] [stdout] 184 |     pub fn from_char(c: char) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> alnav/src/app.rs:642:12
[INFO] [stdout]      |
[INFO] [stdout]  490 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  642 |     pub fn rows(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  651 |     pub fn matched(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  852 |     pub fn is_unbound(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1117 |     pub fn flush_vocab_match(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1401 |     pub fn flush_summary_job(&mut self, timeout: std::time::Duration) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1519 |     pub fn flush_hist_job(&mut self, timeout: std::time::Duration) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1750 |     pub fn view_source(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1758 |     pub fn visible_len(&self) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2287 |     pub fn visible_rows(&self) -> Vec<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2380 |     pub fn move_group_cursor(&mut self, delta: isize) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2441 |     pub fn delete_focused_group(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2481 |     pub fn row_by_id(&self, row_id: u64) -> Option<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3406 |     pub fn jump_first_match(&mut self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3441 |     pub fn clear_filter_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3628 |     pub fn clear_exclude_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3671 |     pub fn clear_highlight_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bookmark_label` is never used
[INFO] [stdout]    --> alnav/src/bookmark.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub fn bookmark_label(timestamp: &str, level: char, tag: &str, msg: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delta_label` is never used
[INFO] [stdout]    --> alnav/src/bookmark.rs:335:8
[INFO] [stdout]     |
[INFO] [stdout] 335 | pub fn delta_label(prev_ts: Option<&str>, curr_ts: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dummy_row` is never used
[INFO] [stdout]    --> alnav/src/bookmark.rs:352:4
[INFO] [stdout]     |
[INFO] [stdout] 352 | fn dummy_row(row_id: u64, ts: &str) -> EntryRow {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cache` and `flush` are never used
[INFO] [stdout]    --> alnav/src/candidate_match.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl CandidateMatchService {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn cache(&self) -> &CandidateMatchCache {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub fn flush(&mut self, timeout: Duration) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuzzy_score` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn fuzzy_score(haystack: &str, pattern: &str) -> Option<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuzzy_match` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn fuzzy_match(haystack: &str, pattern: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuzzy_char_indices` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn fuzzy_char_indices(haystack: &str, pattern: &str) -> Vec<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first_match_byte_range` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:424:8
[INFO] [stdout]     |
[INFO] [stdout] 424 | pub fn first_match_byte_range(text: &str, pattern: &str) -> Option<(usize, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `short` is never used
[INFO] [stdout]   --> alnav/src/help.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl HintEntry {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn short(key: String, label: &'static str) -> Self {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `matches_msg` is never used
[INFO] [stdout]   --> alnav/src/highlight_model.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl HighlightGroup {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn matches_msg(&self, msg: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `active_patterns` is never used
[INFO] [stdout]   --> alnav/src/highlight_model.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl HighlightGroupList {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] 59 |     /// Flatten enabled groups' patterns with progressive color indices.
[INFO] [stdout] 60 |     pub fn active_patterns(&self) -> Vec<(&str, usize)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty`, `push_char`, `backspace`, and `begin_editing` are never used
[INFO] [stdout]    --> alnav/src/highlight_model.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl HighlightBox {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 114 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn push_char(&mut self, c: char) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn backspace(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn begin_editing(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Channel` is never constructed
[INFO] [stdout]   --> alnav/src/ingest.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum IngestHandle {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] 56 |     Channel(Receiver<EntryRow>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, and `capacity` are never used
[INFO] [stdout]    --> alnav/src/ingest.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl DropOldestRing {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_file_ingest` is never used
[INFO] [stdout]    --> alnav/src/ingest.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn spawn_file_ingest(path: String) -> io::Result<Receiver<EntryRow>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_field` is never used
[INFO] [stdout]   --> alnav/src/input.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl InputBox {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn set_field(&mut self, field: ChipField) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> alnav/src/app.rs:642:12
[INFO] [stdout]      |
[INFO] [stdout]  490 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  642 |     pub fn rows(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  651 |     pub fn matched(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  852 |     pub fn is_unbound(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1117 |     pub fn flush_vocab_match(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1401 |     pub fn flush_summary_job(&mut self, timeout: std::time::Duration) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1519 |     pub fn flush_hist_job(&mut self, timeout: std::time::Duration) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1750 |     pub fn view_source(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1758 |     pub fn visible_len(&self) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2287 |     pub fn visible_rows(&self) -> Vec<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2380 |     pub fn move_group_cursor(&mut self, delta: isize) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2441 |     pub fn delete_focused_group(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2481 |     pub fn row_by_id(&self, row_id: u64) -> Option<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3406 |     pub fn jump_first_match(&mut self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3441 |     pub fn clear_filter_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3628 |     pub fn clear_exclude_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3671 |     pub fn clear_highlight_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `display_aggregate` and `action_for_stroke` are never used
[INFO] [stdout]     --> alnav/src/keymap.rs:3089:12
[INFO] [stdout]      |
[INFO] [stdout] 3055 | impl KeymapStore {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3089 |     pub fn display_aggregate(&self, ids: &[ActionId]) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3125 |     pub fn action_for_stroke(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bookmark_label` is never used
[INFO] [stdout]    --> alnav/src/bookmark.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub fn bookmark_label(timestamp: &str, level: char, tag: &str, msg: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `phase`, `found_count`, and `is_scanning` are never used
[INFO] [stdout]   --> alnav/src/log_corpus.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl LogCorpus {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn phase(&self) -> CorpusPhase {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn found_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn is_scanning(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delta_label` is never used
[INFO] [stdout]    --> alnav/src/bookmark.rs:335:8
[INFO] [stdout]     |
[INFO] [stdout] 335 | pub fn delta_label(prev_ts: Option<&str>, curr_ts: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dummy_row` is never used
[INFO] [stdout]    --> alnav/src/bookmark.rs:352:4
[INFO] [stdout]     |
[INFO] [stdout] 352 | fn dummy_row(row_id: u64, ts: &str) -> EntryRow {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `prompt_prefix` is never used
[INFO] [stdout]    --> alnav/src/picker.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl PickerSession {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn prompt_prefix(&self) -> char {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cache` and `flush` are never used
[INFO] [stdout]    --> alnav/src/candidate_match.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl CandidateMatchService {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn cache(&self) -> &CandidateMatchCache {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub fn flush(&mut self, timeout: Duration) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuzzy_score` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn fuzzy_score(haystack: &str, pattern: &str) -> Option<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `replace_subset` is never used
[INFO] [stdout]   --> alnav/src/scan.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl HighlightDomain {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn replace_subset(&self, hits: Vec<usize>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuzzy_match` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn fuzzy_match(haystack: &str, pattern: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuzzy_char_indices` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn fuzzy_char_indices(haystack: &str, pattern: &str) -> Vec<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first_match_byte_range` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:424:8
[INFO] [stdout]     |
[INFO] [stdout] 424 | pub fn first_match_byte_range(text: &str, pattern: &str) -> Option<(usize, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]   --> alnav/src/source_panel.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl OpenFileChoice {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 16 |     pub fn label(&self) -> String {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `short` is never used
[INFO] [stdout]   --> alnav/src/help.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl HintEntry {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn short(key: String, label: &'static str) -> Self {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `matches_msg` is never used
[INFO] [stdout]   --> alnav/src/highlight_model.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl HighlightGroup {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn matches_msg(&self, msg: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `from_dashboard` is never read
[INFO] [stdout]    --> alnav/src/source_panel.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct OpenFilePanel {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub from_dashboard: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OpenFilePanel` 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 `active_patterns` is never used
[INFO] [stdout]   --> alnav/src/highlight_model.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl HighlightGroupList {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] 59 |     /// Flatten enabled groups' patterns with progressive color indices.
[INFO] [stdout] 60 |     pub fn active_patterns(&self) -> Vec<(&str, usize)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `from_dashboard` is never read
[INFO] [stdout]    --> alnav/src/source_panel.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub struct StreamSourcePanel {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub from_dashboard: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StreamSourcePanel` 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 `is_empty`, `push_char`, `backspace`, and `begin_editing` are never used
[INFO] [stdout]    --> alnav/src/highlight_model.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl HighlightBox {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 114 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn push_char(&mut self, c: char) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn backspace(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn begin_editing(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bytes_done` is never read
[INFO] [stdout]    --> alnav/src/store.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     IndexProgress {
[INFO] [stdout]     |     ------------- field in this variant
[INFO] [stdout] 149 |         line_count: usize,
[INFO] [stdout] 150 |         bytes_done: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` 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 `Channel` is never constructed
[INFO] [stdout]   --> alnav/src/ingest.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum IngestHandle {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] 56 |     Channel(Receiver<EntryRow>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scanned` is never read
[INFO] [stdout]    --> alnav/src/store.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |     FilterBatch {
[INFO] [stdout]     |     ----------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 159 |         scanned: usize,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, and `capacity` are never used
[INFO] [stdout]    --> alnav/src/ingest.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl DropOldestRing {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_file_ingest` is never used
[INFO] [stdout]    --> alnav/src/ingest.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn spawn_file_ingest(path: String) -> io::Result<Receiver<EntryRow>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scanned` is never read
[INFO] [stdout]    --> alnav/src/store.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     FilterDone {
[INFO] [stdout]     |     ---------- field in this variant
[INFO] [stdout] 162 |         gen: u64,
[INFO] [stdout] 163 |         scanned: usize,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` 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 `set_field` is never used
[INFO] [stdout]   --> alnav/src/input.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl InputBox {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn set_field(&mut self, field: ChipField) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]    --> alnav/src/store.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct FileStore {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 182 |     path: PathBuf,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `display_aggregate` and `action_for_stroke` are never used
[INFO] [stdout]     --> alnav/src/keymap.rs:3089:12
[INFO] [stdout]      |
[INFO] [stdout] 3055 | impl KeymapStore {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3089 |     pub fn display_aggregate(&self, ids: &[ActionId]) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3125 |     pub fn action_for_stroke(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `phase`, `found_count`, and `is_scanning` are never used
[INFO] [stdout]   --> alnav/src/log_corpus.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl LogCorpus {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn phase(&self) -> CorpusPhase {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn found_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn is_scanning(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `prompt_prefix` is never used
[INFO] [stdout]    --> alnav/src/picker.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl PickerSession {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn prompt_prefix(&self) -> char {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open_sync`, `path`, `event_sender`, `highlight_domain`, and `scan_filter_sync` are never used
[INFO] [stdout]    --> alnav/src/store.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl FileStore {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn open_sync(path: impl Into<PathBuf>) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn path(&self) -> &Path {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn event_sender(&self) -> Sender<FileEvent> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 468 |     pub fn highlight_domain(&self) -> Option<&Arc<HighlightDomain>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     pub fn scan_filter_sync(&self, mut pred: impl FnMut(&EntryRow) -> bool) -> Vec<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `replace_subset` is never used
[INFO] [stdout]   --> alnav/src/scan.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl HighlightDomain {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn replace_subset(&self, hits: Vec<usize>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_stream` and `source_len` are never used
[INFO] [stdout]    --> alnav/src/store.rs:598:12
[INFO] [stdout]     |
[INFO] [stdout] 589 | impl RowStore {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub fn as_stream(&self) -> Option<&StreamStore> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 626 |     pub fn source_len(&self, filter_active: bool) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scan_line_spans` is never used
[INFO] [stdout]    --> alnav/src/store.rs:681:4
[INFO] [stdout]     |
[INFO] [stdout] 681 | fn scan_line_spans(mmap: &[u8]) -> Vec<LineSpan> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]   --> alnav/src/source_panel.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl OpenFileChoice {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 16 |     pub fn label(&self) -> String {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `split_at_cursor` is never used
[INFO] [stdout]    --> alnav/src/text_field.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl TextField {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn split_at_cursor(&self) -> (&str, &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_SEP` is never used
[INFO] [stdout]   --> alnav/src/theme.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const GLYPH_SEP: &str = "\u{e0bf}"; //
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_HR` is never used
[INFO] [stdout]   --> alnav/src/theme.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const GLYPH_HR: &str = "\u{2500}"; // ─
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `from_dashboard` is never read
[INFO] [stdout]    --> alnav/src/source_panel.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct OpenFilePanel {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub from_dashboard: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OpenFilePanel` 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 `from_dashboard` is never read
[INFO] [stdout]    --> alnav/src/source_panel.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub struct StreamSourcePanel {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub from_dashboard: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StreamSourcePanel` 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: function `highlight_match_status_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:379:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn highlight_match_status_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `candidate_selection_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:433:8
[INFO] [stdout]     |
[INFO] [stdout] 433 | pub fn candidate_selection_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bytes_done` is never read
[INFO] [stdout]    --> alnav/src/store.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     IndexProgress {
[INFO] [stdout]     |     ------------- field in this variant
[INFO] [stdout] 149 |         line_count: usize,
[INFO] [stdout] 150 |         bytes_done: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chip_pill_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:564:8
[INFO] [stdout]     |
[INFO] [stdout] 564 | pub fn chip_pill_style(field: ChipField, value: &str, disabled: bool) -> (String, Style) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scanned` is never read
[INFO] [stdout]    --> alnav/src/store.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |     FilterBatch {
[INFO] [stdout]     |     ----------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 159 |         scanned: usize,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exclude_pill_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:621:8
[INFO] [stdout]     |
[INFO] [stdout] 621 | pub fn exclude_pill_style(field: ChipField, value: &str, disabled: bool) -> (String, Style) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `highlight_pill_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:647:8
[INFO] [stdout]     |
[INFO] [stdout] 647 | pub fn highlight_pill_style(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scanned` is never read
[INFO] [stdout]    --> alnav/src/store.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     FilterDone {
[INFO] [stdout]     |     ---------- field in this variant
[INFO] [stdout] 162 |         gen: u64,
[INFO] [stdout] 163 |         scanned: usize,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_icon` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:763:8
[INFO] [stdout]     |
[INFO] [stdout] 763 | pub fn status_icon(glyph: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]    --> alnav/src/store.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct FileStore {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 182 |     path: PathBuf,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_icon_value` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:771:8
[INFO] [stdout]     |
[INFO] [stdout] 771 | pub fn status_icon_value(glyph: &str, value: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_soft` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:779:8
[INFO] [stdout]     |
[INFO] [stdout] 779 | pub fn status_soft(text: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `help_section_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:851:8
[INFO] [stdout]     |
[INFO] [stdout] 851 | pub fn help_section_style(active: bool) -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preview_highlight_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:871:8
[INFO] [stdout]     |
[INFO] [stdout] 871 | pub fn preview_highlight_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open_sync`, `path`, `event_sender`, `highlight_domain`, and `scan_filter_sync` are never used
[INFO] [stdout]    --> alnav/src/store.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl FileStore {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn open_sync(path: impl Into<PathBuf>) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn path(&self) -> &Path {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn event_sender(&self) -> Sender<FileEvent> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 468 |     pub fn highlight_domain(&self) -> Option<&Arc<HighlightDomain>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     pub fn scan_filter_sync(&self, mut pred: impl FnMut(&EntryRow) -> bool) -> Vec<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_overlay` is never used
[INFO] [stdout]     --> alnav/src/theme.rs:1046:8
[INFO] [stdout]      |
[INFO] [stdout] 1046 | pub fn apply_overlay(base: Palette, text: &str) -> Result<UiTokens, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_theme_toml` is never used
[INFO] [stdout]     --> alnav/src/theme.rs:1128:8
[INFO] [stdout]      |
[INFO] [stdout] 1128 | pub fn parse_theme_toml(text: &str) -> Result<UiTokens, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_stream` and `source_len` are never used
[INFO] [stdout]    --> alnav/src/store.rs:598:12
[INFO] [stdout]     |
[INFO] [stdout] 589 | impl RowStore {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub fn as_stream(&self) -> Option<&StreamStore> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 626 |     pub fn source_len(&self, filter_active: bool) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scan_line_spans` is never used
[INFO] [stdout]    --> alnav/src/store.rs:681:4
[INFO] [stdout]     |
[INFO] [stdout] 681 | fn scan_line_spans(mmap: &[u8]) -> Vec<LineSpan> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `split_at_cursor` is never used
[INFO] [stdout]    --> alnav/src/text_field.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl TextField {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn split_at_cursor(&self) -> (&str, &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_SEP` is never used
[INFO] [stdout]   --> alnav/src/theme.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const GLYPH_SEP: &str = "\u{e0bf}"; //
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open` and `since_selected_date` are never used
[INFO] [stdout]    --> alnav/src/time_panel.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl TimePanel {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn open(rows: &VecDeque<EntryRow>, bound: Option<&TimeBound>) -> Option<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn since_selected_date(&self) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_HR` is never used
[INFO] [stdout]   --> alnav/src/theme.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const GLYPH_HR: &str = "\u{2500}"; // ─
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_date_catalog` is never used
[INFO] [stdout]    --> alnav/src/time_panel.rs:620:8
[INFO] [stdout]     |
[INFO] [stdout] 620 | pub fn extract_date_catalog(rows: &[EntryRow]) -> DateCatalog {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `highlight_match_status_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:379:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn highlight_match_status_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_input_box` is never used
[INFO] [stdout]     --> alnav/src/ui.rs:1831:8
[INFO] [stdout]      |
[INFO] [stdout] 1831 | pub fn render_input_box(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_picker_detail` is never used
[INFO] [stdout]     --> alnav/src/ui.rs:3086:8
[INFO] [stdout]      |
[INFO] [stdout] 3086 | pub fn render_picker_detail(row: Option<&crate::model::EntryRow>, frame: &mut Frame, area: Rect) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `candidate_selection_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:433:8
[INFO] [stdout]     |
[INFO] [stdout] 433 | pub fn candidate_selection_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chip_pill_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:564:8
[INFO] [stdout]     |
[INFO] [stdout] 564 | pub fn chip_pill_style(field: ChipField, value: &str, disabled: bool) -> (String, Style) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exclude_pill_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:621:8
[INFO] [stdout]     |
[INFO] [stdout] 621 | pub fn exclude_pill_style(field: ChipField, value: &str, disabled: bool) -> (String, Style) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tag_candidates`, `pkg_candidates`, `msg_candidates`, and `all_candidates` are never used
[INFO] [stdout]   --> alnav/src/vocab.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Vocab {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn tag_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn pkg_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn msg_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn all_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `highlight_pill_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:647:8
[INFO] [stdout]     |
[INFO] [stdout] 647 | pub fn highlight_pill_style(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_icon` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:763:8
[INFO] [stdout]     |
[INFO] [stdout] 763 | pub fn status_icon(glyph: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_icon_value` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:771:8
[INFO] [stdout]     |
[INFO] [stdout] 771 | pub fn status_icon_value(glyph: &str, value: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_soft` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:779:8
[INFO] [stdout]     |
[INFO] [stdout] 779 | pub fn status_soft(text: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `help_section_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:851:8
[INFO] [stdout]     |
[INFO] [stdout] 851 | pub fn help_section_style(active: bool) -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preview_highlight_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:871:8
[INFO] [stdout]     |
[INFO] [stdout] 871 | pub fn preview_highlight_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_overlay` is never used
[INFO] [stdout]     --> alnav/src/theme.rs:1046:8
[INFO] [stdout]      |
[INFO] [stdout] 1046 | pub fn apply_overlay(base: Palette, text: &str) -> Result<UiTokens, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_theme_toml` is never used
[INFO] [stdout]     --> alnav/src/theme.rs:1128:8
[INFO] [stdout]      |
[INFO] [stdout] 1128 | pub fn parse_theme_toml(text: &str) -> Result<UiTokens, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open` and `since_selected_date` are never used
[INFO] [stdout]    --> alnav/src/time_panel.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl TimePanel {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn open(rows: &VecDeque<EntryRow>, bound: Option<&TimeBound>) -> Option<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn since_selected_date(&self) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_date_catalog` is never used
[INFO] [stdout]    --> alnav/src/time_panel.rs:620:8
[INFO] [stdout]     |
[INFO] [stdout] 620 | pub fn extract_date_catalog(rows: &[EntryRow]) -> DateCatalog {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_input_box` is never used
[INFO] [stdout]     --> alnav/src/ui.rs:1831:8
[INFO] [stdout]      |
[INFO] [stdout] 1831 | pub fn render_input_box(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_picker_detail` is never used
[INFO] [stdout]     --> alnav/src/ui.rs:3086:8
[INFO] [stdout]      |
[INFO] [stdout] 3086 | pub fn render_picker_detail(row: Option<&crate::model::EntryRow>, frame: &mut Frame, area: Rect) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tag_candidates`, `pkg_candidates`, `msg_candidates`, and `all_candidates` are never used
[INFO] [stdout]   --> alnav/src/vocab.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Vocab {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn tag_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn pkg_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn msg_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn all_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `try_handle_ctrl_l` is never used
[INFO] [stdout]     --> alnav/src/main.rs:2558:4
[INFO] [stdout]      |
[INFO] [stdout] 2558 | fn try_handle_ctrl_l(app: &mut App) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `palette_spec` is never used
[INFO] [stdout]    --> alnav/src/action.rs:431:8
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub fn palette_spec(id: ActionId) -> Option<(&'static str, &'static str)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]    --> alnav/src/app.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl YankField {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 158 |     pub fn from_char(c: char) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChipFieldKey` is never used
[INFO] [stdout]    --> alnav/src/app.rs:175:10
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub enum ChipFieldKey {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]    --> alnav/src/app.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl ChipFieldKey {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 183 |     /// Same letters as [`YankField::from_char`], minus raw/timestamp.
[INFO] [stdout] 184 |     pub fn from_char(c: char) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> alnav/src/app.rs:642:12
[INFO] [stdout]      |
[INFO] [stdout]  490 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  642 |     pub fn rows(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  651 |     pub fn matched(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  852 |     pub fn is_unbound(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1117 |     pub fn flush_vocab_match(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1401 |     pub fn flush_summary_job(&mut self, timeout: std::time::Duration) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1519 |     pub fn flush_hist_job(&mut self, timeout: std::time::Duration) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1750 |     pub fn view_source(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1758 |     pub fn visible_len(&self) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2287 |     pub fn visible_rows(&self) -> Vec<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2380 |     pub fn move_group_cursor(&mut self, delta: isize) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2441 |     pub fn delete_focused_group(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2481 |     pub fn row_by_id(&self, row_id: u64) -> Option<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3406 |     pub fn jump_first_match(&mut self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3441 |     pub fn clear_filter_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3628 |     pub fn clear_exclude_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3671 |     pub fn clear_highlight_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bookmark_label` is never used
[INFO] [stdout]    --> alnav/src/bookmark.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub fn bookmark_label(timestamp: &str, level: char, tag: &str, msg: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delta_label` is never used
[INFO] [stdout]    --> alnav/src/bookmark.rs:335:8
[INFO] [stdout]     |
[INFO] [stdout] 335 | pub fn delta_label(prev_ts: Option<&str>, curr_ts: &str) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dummy_row` is never used
[INFO] [stdout]    --> alnav/src/bookmark.rs:352:4
[INFO] [stdout]     |
[INFO] [stdout] 352 | fn dummy_row(row_id: u64, ts: &str) -> EntryRow {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cache` and `flush` are never used
[INFO] [stdout]    --> alnav/src/candidate_match.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl CandidateMatchService {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn cache(&self) -> &CandidateMatchCache {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     pub fn flush(&mut self, timeout: Duration) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuzzy_score` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub fn fuzzy_score(haystack: &str, pattern: &str) -> Option<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuzzy_match` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub fn fuzzy_match(haystack: &str, pattern: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fuzzy_char_indices` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn fuzzy_char_indices(haystack: &str, pattern: &str) -> Vec<u32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first_match_byte_range` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:424:8
[INFO] [stdout]     |
[INFO] [stdout] 424 | pub fn first_match_byte_range(text: &str, pattern: &str) -> Option<(usize, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `short` is never used
[INFO] [stdout]   --> alnav/src/help.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl HintEntry {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn short(key: String, label: &'static str) -> Self {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `matches_msg` is never used
[INFO] [stdout]   --> alnav/src/highlight_model.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl HighlightGroup {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn matches_msg(&self, msg: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `active_patterns` is never used
[INFO] [stdout]   --> alnav/src/highlight_model.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl HighlightGroupList {
[INFO] [stdout]    | ----------------------- method in this implementation
[INFO] [stdout] 59 |     /// Flatten enabled groups' patterns with progressive color indices.
[INFO] [stdout] 60 |     pub fn active_patterns(&self) -> Vec<(&str, usize)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty`, `push_char`, `backspace`, and `begin_editing` are never used
[INFO] [stdout]    --> alnav/src/highlight_model.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl HighlightBox {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 114 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn push_char(&mut self, c: char) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn backspace(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn begin_editing(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Channel` is never constructed
[INFO] [stdout]   --> alnav/src/ingest.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum IngestHandle {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] 56 |     Channel(Receiver<EntryRow>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, and `capacity` are never used
[INFO] [stdout]    --> alnav/src/ingest.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl DropOldestRing {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn capacity(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_file_ingest` is never used
[INFO] [stdout]    --> alnav/src/ingest.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub fn spawn_file_ingest(path: String) -> io::Result<Receiver<EntryRow>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_field` is never used
[INFO] [stdout]   --> alnav/src/input.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl InputBox {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn set_field(&mut self, field: ChipField) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `display_aggregate` and `action_for_stroke` are never used
[INFO] [stdout]     --> alnav/src/keymap.rs:3089:12
[INFO] [stdout]      |
[INFO] [stdout] 3055 | impl KeymapStore {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3089 |     pub fn display_aggregate(&self, ids: &[ActionId]) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3125 |     pub fn action_for_stroke(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `phase`, `found_count`, and `is_scanning` are never used
[INFO] [stdout]   --> alnav/src/log_corpus.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl LogCorpus {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn phase(&self) -> CorpusPhase {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn found_count(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn is_scanning(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `prompt_prefix` is never used
[INFO] [stdout]    --> alnav/src/picker.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | impl PickerSession {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn prompt_prefix(&self) -> char {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `replace_subset` is never used
[INFO] [stdout]   --> alnav/src/scan.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl HighlightDomain {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn replace_subset(&self, hits: Vec<usize>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `label` is never used
[INFO] [stdout]   --> alnav/src/source_panel.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl OpenFileChoice {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 16 |     pub fn label(&self) -> String {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `from_dashboard` is never read
[INFO] [stdout]    --> alnav/src/source_panel.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 125 | pub struct OpenFilePanel {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub from_dashboard: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `OpenFilePanel` 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 `from_dashboard` is never read
[INFO] [stdout]    --> alnav/src/source_panel.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 238 | pub struct StreamSourcePanel {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub from_dashboard: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StreamSourcePanel` 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 `bytes_done` is never read
[INFO] [stdout]    --> alnav/src/store.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     IndexProgress {
[INFO] [stdout]     |     ------------- field in this variant
[INFO] [stdout] 149 |         line_count: usize,
[INFO] [stdout] 150 |         bytes_done: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` 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 `scanned` is never read
[INFO] [stdout]    --> alnav/src/store.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |     FilterBatch {
[INFO] [stdout]     |     ----------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 159 |         scanned: usize,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` 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 `scanned` is never read
[INFO] [stdout]    --> alnav/src/store.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     FilterDone {
[INFO] [stdout]     |     ---------- field in this variant
[INFO] [stdout] 162 |         gen: u64,
[INFO] [stdout] 163 |         scanned: usize,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` 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 `path` is never read
[INFO] [stdout]    --> alnav/src/store.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct FileStore {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 182 |     path: PathBuf,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open_sync`, `path`, `event_sender`, `highlight_domain`, and `scan_filter_sync` are never used
[INFO] [stdout]    --> alnav/src/store.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl FileStore {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 282 |     pub fn open_sync(path: impl Into<PathBuf>) -> io::Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn path(&self) -> &Path {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn event_sender(&self) -> Sender<FileEvent> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 468 |     pub fn highlight_domain(&self) -> Option<&Arc<HighlightDomain>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     pub fn scan_filter_sync(&self, mut pred: impl FnMut(&EntryRow) -> bool) -> Vec<usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_stream` and `source_len` are never used
[INFO] [stdout]    --> alnav/src/store.rs:598:12
[INFO] [stdout]     |
[INFO] [stdout] 589 | impl RowStore {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub fn as_stream(&self) -> Option<&StreamStore> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 626 |     pub fn source_len(&self, filter_active: bool) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `scan_line_spans` is never used
[INFO] [stdout]    --> alnav/src/store.rs:681:4
[INFO] [stdout]     |
[INFO] [stdout] 681 | fn scan_line_spans(mmap: &[u8]) -> Vec<LineSpan> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `split_at_cursor` is never used
[INFO] [stdout]    --> alnav/src/text_field.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl TextField {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn split_at_cursor(&self) -> (&str, &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_SEP` is never used
[INFO] [stdout]   --> alnav/src/theme.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const GLYPH_SEP: &str = "\u{e0bf}"; //
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_HR` is never used
[INFO] [stdout]   --> alnav/src/theme.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const GLYPH_HR: &str = "\u{2500}"; // ─
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `highlight_match_status_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:379:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn highlight_match_status_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `candidate_selection_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:433:8
[INFO] [stdout]     |
[INFO] [stdout] 433 | pub fn candidate_selection_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chip_pill_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:564:8
[INFO] [stdout]     |
[INFO] [stdout] 564 | pub fn chip_pill_style(field: ChipField, value: &str, disabled: bool) -> (String, Style) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exclude_pill_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:621:8
[INFO] [stdout]     |
[INFO] [stdout] 621 | pub fn exclude_pill_style(field: ChipField, value: &str, disabled: bool) -> (String, Style) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `highlight_pill_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:647:8
[INFO] [stdout]     |
[INFO] [stdout] 647 | pub fn highlight_pill_style(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_icon` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:763:8
[INFO] [stdout]     |
[INFO] [stdout] 763 | pub fn status_icon(glyph: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_icon_value` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:771:8
[INFO] [stdout]     |
[INFO] [stdout] 771 | pub fn status_icon_value(glyph: &str, value: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_soft` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:779:8
[INFO] [stdout]     |
[INFO] [stdout] 779 | pub fn status_soft(text: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `help_section_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:851:8
[INFO] [stdout]     |
[INFO] [stdout] 851 | pub fn help_section_style(active: bool) -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preview_highlight_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:871:8
[INFO] [stdout]     |
[INFO] [stdout] 871 | pub fn preview_highlight_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_overlay` is never used
[INFO] [stdout]     --> alnav/src/theme.rs:1046:8
[INFO] [stdout]      |
[INFO] [stdout] 1046 | pub fn apply_overlay(base: Palette, text: &str) -> Result<UiTokens, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_theme_toml` is never used
[INFO] [stdout]     --> alnav/src/theme.rs:1128:8
[INFO] [stdout]      |
[INFO] [stdout] 1128 | pub fn parse_theme_toml(text: &str) -> Result<UiTokens, String> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `open` and `since_selected_date` are never used
[INFO] [stdout]    --> alnav/src/time_panel.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | impl TimePanel {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn open(rows: &VecDeque<EntryRow>, bound: Option<&TimeBound>) -> Option<Self> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn since_selected_date(&self) -> Option<&str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_date_catalog` is never used
[INFO] [stdout]    --> alnav/src/time_panel.rs:620:8
[INFO] [stdout]     |
[INFO] [stdout] 620 | pub fn extract_date_catalog(rows: &[EntryRow]) -> DateCatalog {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_input_box` is never used
[INFO] [stdout]     --> alnav/src/ui.rs:1831:8
[INFO] [stdout]      |
[INFO] [stdout] 1831 | pub fn render_input_box(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_picker_detail` is never used
[INFO] [stdout]     --> alnav/src/ui.rs:3086:8
[INFO] [stdout]      |
[INFO] [stdout] 3086 | pub fn render_picker_detail(row: Option<&crate::model::EntryRow>, frame: &mut Frame, area: Rect) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tag_candidates`, `pkg_candidates`, `msg_candidates`, and `all_candidates` are never used
[INFO] [stdout]   --> alnav/src/vocab.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Vocab {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn tag_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn pkg_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn msg_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn all_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> alnav/src/recent.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut recent = RecentFiles {
[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: enum `ChipFieldKey` is never used
[INFO] [stdout]    --> alnav/src/app.rs:175:10
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub enum ChipFieldKey {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]    --> alnav/src/app.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl ChipFieldKey {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 183 |     /// Same letters as [`YankField::from_char`], minus raw/timestamp.
[INFO] [stdout] 184 |     pub fn from_char(c: char) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_unbound`, `row_by_id`, and `clear_exclude_groups` are never used
[INFO] [stdout]     --> alnav/src/app.rs:852:12
[INFO] [stdout]      |
[INFO] [stdout]  490 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  852 |     pub fn is_unbound(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2481 |     pub fn row_by_id(&self, row_id: u64) -> Option<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3628 |     pub fn clear_exclude_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first_match_byte_range` is never used
[INFO] [stdout]    --> alnav/src/fuzzy.rs:424:8
[INFO] [stdout]     |
[INFO] [stdout] 424 | pub fn first_match_byte_range(text: &str, pattern: &str) -> Option<(usize, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `short` is never used
[INFO] [stdout]   --> alnav/src/help.rs:39:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl HintEntry {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn short(key: String, label: &'static str) -> Self {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `backspace` is never used
[INFO] [stdout]    --> alnav/src/highlight_model.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl HighlightBox {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn backspace(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Channel` is never constructed
[INFO] [stdout]   --> alnav/src/ingest.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum IngestHandle {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] 56 |     Channel(Receiver<EntryRow>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `display_aggregate` and `action_for_stroke` are never used
[INFO] [stdout]     --> alnav/src/keymap.rs:3089:12
[INFO] [stdout]      |
[INFO] [stdout] 3055 | impl KeymapStore {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3089 |     pub fn display_aggregate(&self, ids: &[ActionId]) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3125 |     pub fn action_for_stroke(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bytes_done` is never read
[INFO] [stdout]    --> alnav/src/store.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 148 |     IndexProgress {
[INFO] [stdout]     |     ------------- field in this variant
[INFO] [stdout] 149 |         line_count: usize,
[INFO] [stdout] 150 |         bytes_done: usize,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` 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 `scanned` is never read
[INFO] [stdout]    --> alnav/src/store.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 156 |     FilterBatch {
[INFO] [stdout]     |     ----------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 159 |         scanned: usize,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` 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 `scanned` is never read
[INFO] [stdout]    --> alnav/src/store.rs:163:9
[INFO] [stdout]     |
[INFO] [stdout] 161 |     FilterDone {
[INFO] [stdout]     |     ---------- field in this variant
[INFO] [stdout] 162 |         gen: u64,
[INFO] [stdout] 163 |         scanned: usize,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileEvent` 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 `path` is never read
[INFO] [stdout]    --> alnav/src/store.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 181 | pub struct FileStore {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 182 |     path: PathBuf,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `path`, `event_sender`, and `highlight_domain` are never used
[INFO] [stdout]    --> alnav/src/store.rs:343:12
[INFO] [stdout]     |
[INFO] [stdout] 212 | impl FileStore {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 343 |     pub fn path(&self) -> &Path {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn event_sender(&self) -> Sender<FileEvent> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 468 |     pub fn highlight_domain(&self) -> Option<&Arc<HighlightDomain>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_stream` and `source_len` are never used
[INFO] [stdout]    --> alnav/src/store.rs:598:12
[INFO] [stdout]     |
[INFO] [stdout] 589 | impl RowStore {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 598 |     pub fn as_stream(&self) -> Option<&StreamStore> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 626 |     pub fn source_len(&self, filter_active: bool) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_SEP` is never used
[INFO] [stdout]   --> alnav/src/theme.rs:55:11
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub const GLYPH_SEP: &str = "\u{e0bf}"; //
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_HR` is never used
[INFO] [stdout]   --> alnav/src/theme.rs:62:11
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub const GLYPH_HR: &str = "\u{2500}"; // ─
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `highlight_match_status_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:379:8
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub fn highlight_match_status_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exclude_pill_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:621:8
[INFO] [stdout]     |
[INFO] [stdout] 621 | pub fn exclude_pill_style(field: ChipField, value: &str, disabled: bool) -> (String, Style) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_icon` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:763:8
[INFO] [stdout]     |
[INFO] [stdout] 763 | pub fn status_icon(glyph: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_icon_value` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:771:8
[INFO] [stdout]     |
[INFO] [stdout] 771 | pub fn status_icon_value(glyph: &str, value: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_soft` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:779:8
[INFO] [stdout]     |
[INFO] [stdout] 779 | pub fn status_soft(text: &str, fg: Color) -> Span<'static> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `help_section_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:851:8
[INFO] [stdout]     |
[INFO] [stdout] 851 | pub fn help_section_style(active: bool) -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `preview_highlight_style` is never used
[INFO] [stdout]    --> alnav/src/theme.rs:871:8
[INFO] [stdout]     |
[INFO] [stdout] 871 | pub fn preview_highlight_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `msg_candidates` is never used
[INFO] [stdout]   --> alnav/src/vocab.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl Vocab {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn msg_candidates(&self, query: &str) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_P_opens_pretty_and_switches_with_fields` should have a snake case name
[INFO] [stdout]     --> alnav/src/main.rs:7268:8
[INFO] [stdout]      |
[INFO] [stdout] 7268 |     fn test_P_opens_pretty_and_switches_with_fields() {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_p_opens_pretty_and_switches_with_fields`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.37s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.31.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 8`
[INFO] running `Command { std: "docker" "inspect" "171a90c9eef5430cb7f9c8fd3e4f86c5b9217a58fcde352149f49a7c5ad98a6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "171a90c9eef5430cb7f9c8fd3e4f86c5b9217a58fcde352149f49a7c5ad98a6b", kill_on_drop: false }`
[INFO] [stdout] 171a90c9eef5430cb7f9c8fd3e4f86c5b9217a58fcde352149f49a7c5ad98a6b
