[INFO] fetching crate alnav 0.2.4...
[INFO] checking alnav-0.2.4 against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] extracting crate alnav 0.2.4 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate alnav 0.2.4
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate alnav 0.2.4
[INFO] tweaked toml for crates.io crate alnav 0.2.4 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate alnav 0.2.4 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 crates.io crate alnav 0.2.4 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: Cargo.toml: file `/workspace/builds/worker-4-tc1/source/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: explicit `package.readme` can be inferred
[INFO] [stderr]   --> Cargo.toml:90:1
[INFO] [stderr]    |
[INFO] [stderr] 90 | readme = "README.md"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::manual_readme` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.readme`
[INFO] [stderr] warning: `alnav` (manifest) generated 2 warnings
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toml v1.1.3+spec-1.1.0
[INFO] [stderr]   Downloaded palette v0.7.6
[INFO] [stderr]   Downloaded fast-srgb8 v1.0.0
[INFO] [stderr]   Downloaded line-clipping v0.3.7
[INFO] [stderr]   Downloaded instability v0.3.12
[INFO] [stderr]   Downloaded palette_derive v0.7.6
[INFO] [stderr]   Downloaded lru v0.18.1
[INFO] [stderr]   Downloaded nucleo-matcher v0.3.1
[INFO] [stderr]   Downloaded arboard v3.6.1
[INFO] [stderr]   Downloaded alnav-core v0.2.4
[INFO] [stderr]   Downloaded error-code v3.3.2
[INFO] [stderr]   Downloaded clipboard-win v5.4.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] e7d20e2d30fb58c02f7bd2e07645119a2a06edd81f3725ab7b0c5d258129d373
[INFO] running `Command { std: "docker" "start" "e7d20e2d30fb58c02f7bd2e07645119a2a06edd81f3725ab7b0c5d258129d373", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e7d20e2d30fb58c02f7bd2e07645119a2a06edd81f3725ab7b0c5d258129d373", 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" "e7d20e2d30fb58c02f7bd2e07645119a2a06edd81f3725ab7b0c5d258129d373" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e7d20e2d30fb58c02f7bd2e07645119a2a06edd81f3725ab7b0c5d258129d373", 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" "e7d20e2d30fb58c02f7bd2e07645119a2a06edd81f3725ab7b0c5d258129d373" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: file `/opt/rustwide/workdir/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: explicit `package.readme` can be inferred
[INFO] [stderr]   --> Cargo.toml:90:1
[INFO] [stderr]    |
[INFO] [stderr] 90 | readme = "README.md"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::manual_readme` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.readme`
[INFO] [stderr] warning: `alnav` (manifest) generated 2 warnings
[INFO] [stderr]     Checking bitflags v2.12.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]     Checking either v1.16.0
[INFO] [stderr]     Checking unicode-segmentation v1.13.3
[INFO] [stderr]     Checking itertools v0.14.0
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking simd-adler32 v0.3.10
[INFO] [stderr]     Checking log v0.4.31
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking compact_str v0.9.1
[INFO] [stderr]     Checking lru v0.18.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]     Checking critical-section v1.2.0
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]     Checking time-core v0.1.9
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking num-conv v0.2.2
[INFO] [stderr]     Checking num_threads v0.1.7
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking unicode-truncate v2.0.1
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking line-clipping v0.3.7
[INFO] [stderr]    Compiling syn v3.0.2
[INFO] [stderr]     Checking pxfm v0.1.30
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking nix v0.31.3
[INFO] [stderr]     Checking time v0.3.53
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking winnow v1.0.4
[INFO] [stderr]     Checking bytemuck v1.25.1
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking ctrlc v3.5.2
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]     Checking serde_spanned v1.1.1
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]     Checking glob v0.3.3
[INFO] [stderr]     Checking toml v1.1.3+spec-1.1.0
[INFO] [stderr]     Checking lru v0.12.5
[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]    Compiling clap_derive v4.6.0
[INFO] [stderr]     Checking derive_more v2.1.1
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking kasuari v0.4.12
[INFO] [stderr]     Checking nucleo-matcher v0.3.1
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking memmap2 v0.9.11
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking predicates v3.1.4
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking strum v0.28.0
[INFO] [stderr]     Checking ratatui-core v0.1.2
[INFO] [stderr]     Checking assert_cmd v2.2.2
[INFO] [stderr]     Checking clap v4.6.0
[INFO] [stderr]     Checking serde v1.0.229
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking alnav-core v0.2.4
[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)
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> 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]  --> 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]  --> 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]  --> 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]  --> 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]     --> src/main.rs:2437:4
[INFO] [stdout]      |
[INFO] [stdout] 2437 | 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]    --> src/action.rs:408:8
[INFO] [stdout]     |
[INFO] [stdout] 408 | 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]    --> src/app.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl YankField {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 157 |     pub fn from_char(c: char) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChipFieldKey` is never used
[INFO] [stdout]    --> src/app.rs:174:10
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub enum ChipFieldKey {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]    --> src/app.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | impl ChipFieldKey {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 182 |     /// Same letters as [`YankField::from_char`], minus raw/timestamp.
[INFO] [stdout] 183 |     pub fn from_char(c: char) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/app.rs:571:12
[INFO] [stdout]      |
[INFO] [stdout]  428 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  571 |     pub fn rows(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  580 |     pub fn matched(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  752 |     pub fn is_unbound(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  954 |     pub fn flush_vocab_match(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1238 |     pub fn flush_summary_job(&mut self, timeout: std::time::Duration) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1387 |     pub fn view_source(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1395 |     pub fn visible_len(&self) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1924 |     pub fn visible_rows(&self) -> Vec<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2017 |     pub fn move_group_cursor(&mut self, delta: isize) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2078 |     pub fn delete_focused_group(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2948 |     pub fn jump_first_match(&mut self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2983 |     pub fn clear_filter_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3170 |     pub fn clear_exclude_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3213 |     pub fn clear_highlight_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3238 |     pub fn update_bookmark_label(&mut self, row_id: u64, label: String) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, and `update_label` are never used
[INFO] [stdout]   --> src/bookmark.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl BookmarkList {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 23 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn update_label(&mut self, row_id: u64, label: String) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cache` and `flush` are never used
[INFO] [stdout]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]   --> 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]   --> 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]   --> 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]    --> 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]   --> 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]    --> 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]    --> 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]   --> 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]     --> src/keymap.rs:2844:12
[INFO] [stdout]      |
[INFO] [stdout] 2818 | impl KeymapStore {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2844 |     pub fn display_aggregate(&self, ids: &[ActionId]) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2880 |     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]   --> 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]    --> src/picker.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl PickerSession {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn prompt_prefix(&self) -> char {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `replace_subset` is never used
[INFO] [stdout]   --> 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]   --> 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]    --> 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]    --> 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: method `into_owned` is never used
[INFO] [stdout]   --> src/store.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl RowRef<'_> {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 85 |     pub fn into_owned(self) -> EntryRow {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bytes_done` is never read
[INFO] [stdout]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]   --> src/theme.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const GLYPH_SEP: &str = "\u{e0bf}"; //
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_HR` is never used
[INFO] [stdout]   --> src/theme.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | 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]    --> src/theme.rs:375:8
[INFO] [stdout]     |
[INFO] [stdout] 375 | 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]    --> src/theme.rs:429:8
[INFO] [stdout]     |
[INFO] [stdout] 429 | pub fn candidate_selection_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chip_pill_style` is never used
[INFO] [stdout]    --> src/theme.rs:560:8
[INFO] [stdout]     |
[INFO] [stdout] 560 | 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]    --> src/theme.rs:617:8
[INFO] [stdout]     |
[INFO] [stdout] 617 | 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]    --> src/theme.rs:643:8
[INFO] [stdout]     |
[INFO] [stdout] 643 | pub fn highlight_pill_style(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_icon` is never used
[INFO] [stdout]    --> src/theme.rs:759:8
[INFO] [stdout]     |
[INFO] [stdout] 759 | 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]    --> src/theme.rs:767:8
[INFO] [stdout]     |
[INFO] [stdout] 767 | 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]    --> src/theme.rs:775:8
[INFO] [stdout]     |
[INFO] [stdout] 775 | 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]    --> src/theme.rs:847:8
[INFO] [stdout]     |
[INFO] [stdout] 847 | 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]    --> src/theme.rs:867:8
[INFO] [stdout]     |
[INFO] [stdout] 867 | pub fn preview_highlight_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_overlay` is never used
[INFO] [stdout]     --> src/theme.rs:1037:8
[INFO] [stdout]      |
[INFO] [stdout] 1037 | 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]     --> src/theme.rs:1119:8
[INFO] [stdout]      |
[INFO] [stdout] 1119 | 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]    --> 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]    --> 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]     --> src/ui.rs:1831:8
[INFO] [stdout]      |
[INFO] [stdout] 1831 | pub fn render_input_box(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tag_candidates`, `pkg_candidates`, `msg_candidates`, and `all_candidates` are never used
[INFO] [stdout]   --> 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]     --> src/main.rs:2437:4
[INFO] [stdout]      |
[INFO] [stdout] 2437 | 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]    --> src/action.rs:408:8
[INFO] [stdout]     |
[INFO] [stdout] 408 | 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]    --> src/app.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl YankField {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 157 |     pub fn from_char(c: char) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChipFieldKey` is never used
[INFO] [stdout]    --> src/app.rs:174:10
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub enum ChipFieldKey {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]    --> src/app.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | impl ChipFieldKey {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 182 |     /// Same letters as [`YankField::from_char`], minus raw/timestamp.
[INFO] [stdout] 183 |     pub fn from_char(c: char) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/app.rs:571:12
[INFO] [stdout]      |
[INFO] [stdout]  428 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  571 |     pub fn rows(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  580 |     pub fn matched(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  752 |     pub fn is_unbound(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  954 |     pub fn flush_vocab_match(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1238 |     pub fn flush_summary_job(&mut self, timeout: std::time::Duration) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1387 |     pub fn view_source(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1395 |     pub fn visible_len(&self) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1924 |     pub fn visible_rows(&self) -> Vec<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2017 |     pub fn move_group_cursor(&mut self, delta: isize) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2078 |     pub fn delete_focused_group(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2948 |     pub fn jump_first_match(&mut self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2983 |     pub fn clear_filter_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3170 |     pub fn clear_exclude_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3213 |     pub fn clear_highlight_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3238 |     pub fn update_bookmark_label(&mut self, row_id: u64, label: String) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, and `update_label` are never used
[INFO] [stdout]   --> src/bookmark.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl BookmarkList {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 23 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn update_label(&mut self, row_id: u64, label: String) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cache` and `flush` are never used
[INFO] [stdout]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]   --> 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]   --> 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]   --> 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]    --> 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]   --> 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]    --> 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]    --> 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]   --> 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]     --> src/keymap.rs:2844:12
[INFO] [stdout]      |
[INFO] [stdout] 2818 | impl KeymapStore {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2844 |     pub fn display_aggregate(&self, ids: &[ActionId]) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2880 |     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]   --> 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]    --> src/picker.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl PickerSession {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn prompt_prefix(&self) -> char {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `replace_subset` is never used
[INFO] [stdout]   --> 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]   --> 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]    --> 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]    --> 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: method `into_owned` is never used
[INFO] [stdout]   --> src/store.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl RowRef<'_> {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 85 |     pub fn into_owned(self) -> EntryRow {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bytes_done` is never read
[INFO] [stdout]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]   --> src/theme.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const GLYPH_SEP: &str = "\u{e0bf}"; //
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_HR` is never used
[INFO] [stdout]   --> src/theme.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | 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]    --> src/theme.rs:375:8
[INFO] [stdout]     |
[INFO] [stdout] 375 | 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]    --> src/theme.rs:429:8
[INFO] [stdout]     |
[INFO] [stdout] 429 | pub fn candidate_selection_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chip_pill_style` is never used
[INFO] [stdout]    --> src/theme.rs:560:8
[INFO] [stdout]     |
[INFO] [stdout] 560 | 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]    --> src/theme.rs:617:8
[INFO] [stdout]     |
[INFO] [stdout] 617 | 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]    --> src/theme.rs:643:8
[INFO] [stdout]     |
[INFO] [stdout] 643 | pub fn highlight_pill_style(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_icon` is never used
[INFO] [stdout]    --> src/theme.rs:759:8
[INFO] [stdout]     |
[INFO] [stdout] 759 | 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]    --> src/theme.rs:767:8
[INFO] [stdout]     |
[INFO] [stdout] 767 | 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]    --> src/theme.rs:775:8
[INFO] [stdout]     |
[INFO] [stdout] 775 | 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]    --> src/theme.rs:847:8
[INFO] [stdout]     |
[INFO] [stdout] 847 | 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]    --> src/theme.rs:867:8
[INFO] [stdout]     |
[INFO] [stdout] 867 | pub fn preview_highlight_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_overlay` is never used
[INFO] [stdout]     --> src/theme.rs:1037:8
[INFO] [stdout]      |
[INFO] [stdout] 1037 | 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]     --> src/theme.rs:1119:8
[INFO] [stdout]      |
[INFO] [stdout] 1119 | 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]    --> 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]    --> 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]     --> src/ui.rs:1831:8
[INFO] [stdout]      |
[INFO] [stdout] 1831 | pub fn render_input_box(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tag_candidates`, `pkg_candidates`, `msg_candidates`, and `all_candidates` are never used
[INFO] [stdout]   --> 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]     --> src/main.rs:2437:4
[INFO] [stdout]      |
[INFO] [stdout] 2437 | 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]    --> src/action.rs:408:8
[INFO] [stdout]     |
[INFO] [stdout] 408 | 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]    --> src/app.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl YankField {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 157 |     pub fn from_char(c: char) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChipFieldKey` is never used
[INFO] [stdout]    --> src/app.rs:174:10
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub enum ChipFieldKey {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]    --> src/app.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | impl ChipFieldKey {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 182 |     /// Same letters as [`YankField::from_char`], minus raw/timestamp.
[INFO] [stdout] 183 |     pub fn from_char(c: char) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/app.rs:571:12
[INFO] [stdout]      |
[INFO] [stdout]  428 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  571 |     pub fn rows(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  580 |     pub fn matched(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  752 |     pub fn is_unbound(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  954 |     pub fn flush_vocab_match(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1238 |     pub fn flush_summary_job(&mut self, timeout: std::time::Duration) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1387 |     pub fn view_source(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1395 |     pub fn visible_len(&self) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1924 |     pub fn visible_rows(&self) -> Vec<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2017 |     pub fn move_group_cursor(&mut self, delta: isize) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2078 |     pub fn delete_focused_group(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2948 |     pub fn jump_first_match(&mut self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2983 |     pub fn clear_filter_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3170 |     pub fn clear_exclude_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3213 |     pub fn clear_highlight_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3238 |     pub fn update_bookmark_label(&mut self, row_id: u64, label: String) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, and `update_label` are never used
[INFO] [stdout]   --> src/bookmark.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl BookmarkList {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 23 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn update_label(&mut self, row_id: u64, label: String) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cache` and `flush` are never used
[INFO] [stdout]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]   --> 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]   --> 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]   --> 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]    --> 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]   --> 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]    --> 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]    --> 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]   --> 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]     --> src/keymap.rs:2844:12
[INFO] [stdout]      |
[INFO] [stdout] 2818 | impl KeymapStore {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2844 |     pub fn display_aggregate(&self, ids: &[ActionId]) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2880 |     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]   --> 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]    --> src/picker.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl PickerSession {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn prompt_prefix(&self) -> char {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `replace_subset` is never used
[INFO] [stdout]   --> 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]   --> 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]    --> 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]    --> 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: method `into_owned` is never used
[INFO] [stdout]   --> src/store.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl RowRef<'_> {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 85 |     pub fn into_owned(self) -> EntryRow {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bytes_done` is never read
[INFO] [stdout]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]   --> src/theme.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const GLYPH_SEP: &str = "\u{e0bf}"; //
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_HR` is never used
[INFO] [stdout]   --> src/theme.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | 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]    --> src/theme.rs:375:8
[INFO] [stdout]     |
[INFO] [stdout] 375 | 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]    --> src/theme.rs:429:8
[INFO] [stdout]     |
[INFO] [stdout] 429 | pub fn candidate_selection_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chip_pill_style` is never used
[INFO] [stdout]    --> src/theme.rs:560:8
[INFO] [stdout]     |
[INFO] [stdout] 560 | 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]    --> src/theme.rs:617:8
[INFO] [stdout]     |
[INFO] [stdout] 617 | 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]    --> src/theme.rs:643:8
[INFO] [stdout]     |
[INFO] [stdout] 643 | pub fn highlight_pill_style(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_icon` is never used
[INFO] [stdout]    --> src/theme.rs:759:8
[INFO] [stdout]     |
[INFO] [stdout] 759 | 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]    --> src/theme.rs:767:8
[INFO] [stdout]     |
[INFO] [stdout] 767 | 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]    --> src/theme.rs:775:8
[INFO] [stdout]     |
[INFO] [stdout] 775 | 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]    --> src/theme.rs:847:8
[INFO] [stdout]     |
[INFO] [stdout] 847 | 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]    --> src/theme.rs:867:8
[INFO] [stdout]     |
[INFO] [stdout] 867 | pub fn preview_highlight_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_overlay` is never used
[INFO] [stdout]     --> src/theme.rs:1037:8
[INFO] [stdout]      |
[INFO] [stdout] 1037 | 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]     --> src/theme.rs:1119:8
[INFO] [stdout]      |
[INFO] [stdout] 1119 | 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]    --> 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]    --> 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]     --> src/ui.rs:1831:8
[INFO] [stdout]      |
[INFO] [stdout] 1831 | pub fn render_input_box(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tag_candidates`, `pkg_candidates`, `msg_candidates`, and `all_candidates` are never used
[INFO] [stdout]   --> 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]     --> src/main.rs:2437:4
[INFO] [stdout]      |
[INFO] [stdout] 2437 | 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]    --> src/action.rs:408:8
[INFO] [stdout]     |
[INFO] [stdout] 408 | 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]    --> src/app.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | impl YankField {
[INFO] [stdout]     | -------------- associated function in this implementation
[INFO] [stdout] 157 |     pub fn from_char(c: char) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ChipFieldKey` is never used
[INFO] [stdout]    --> src/app.rs:174:10
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub enum ChipFieldKey {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_char` is never used
[INFO] [stdout]    --> src/app.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | impl ChipFieldKey {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 182 |     /// Same letters as [`YankField::from_char`], minus raw/timestamp.
[INFO] [stdout] 183 |     pub fn from_char(c: char) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]     --> src/app.rs:571:12
[INFO] [stdout]      |
[INFO] [stdout]  428 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  571 |     pub fn rows(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  580 |     pub fn matched(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  752 |     pub fn is_unbound(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  954 |     pub fn flush_vocab_match(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1238 |     pub fn flush_summary_job(&mut self, timeout: std::time::Duration) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1387 |     pub fn view_source(&self) -> &VecDeque<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1395 |     pub fn visible_len(&self) -> usize {
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1924 |     pub fn visible_rows(&self) -> Vec<EntryRow> {
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2017 |     pub fn move_group_cursor(&mut self, delta: isize) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2078 |     pub fn delete_focused_group(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2948 |     pub fn jump_first_match(&mut self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2983 |     pub fn clear_filter_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3170 |     pub fn clear_exclude_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3213 |     pub fn clear_highlight_groups(&mut self) {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3238 |     pub fn update_bookmark_label(&mut self, row_id: u64, label: String) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `len`, `is_empty`, and `update_label` are never used
[INFO] [stdout]   --> src/bookmark.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl BookmarkList {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 23 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn update_label(&mut self, row_id: u64, label: String) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `cache` and `flush` are never used
[INFO] [stdout]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]   --> 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]   --> 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]   --> 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]    --> 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]   --> 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]    --> 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]    --> 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]   --> 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]     --> src/keymap.rs:2844:12
[INFO] [stdout]      |
[INFO] [stdout] 2818 | impl KeymapStore {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2844 |     pub fn display_aggregate(&self, ids: &[ActionId]) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2880 |     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]   --> 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]    --> src/picker.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | impl PickerSession {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn prompt_prefix(&self) -> char {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `replace_subset` is never used
[INFO] [stdout]   --> 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]   --> 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]    --> 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]    --> 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: method `into_owned` is never used
[INFO] [stdout]   --> src/store.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl RowRef<'_> {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 85 |     pub fn into_owned(self) -> EntryRow {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bytes_done` is never read
[INFO] [stdout]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]   --> src/theme.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const GLYPH_SEP: &str = "\u{e0bf}"; //
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_HR` is never used
[INFO] [stdout]   --> src/theme.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | 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]    --> src/theme.rs:375:8
[INFO] [stdout]     |
[INFO] [stdout] 375 | 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]    --> src/theme.rs:429:8
[INFO] [stdout]     |
[INFO] [stdout] 429 | pub fn candidate_selection_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chip_pill_style` is never used
[INFO] [stdout]    --> src/theme.rs:560:8
[INFO] [stdout]     |
[INFO] [stdout] 560 | 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]    --> src/theme.rs:617:8
[INFO] [stdout]     |
[INFO] [stdout] 617 | 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]    --> src/theme.rs:643:8
[INFO] [stdout]     |
[INFO] [stdout] 643 | pub fn highlight_pill_style(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `status_icon` is never used
[INFO] [stdout]    --> src/theme.rs:759:8
[INFO] [stdout]     |
[INFO] [stdout] 759 | 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]    --> src/theme.rs:767:8
[INFO] [stdout]     |
[INFO] [stdout] 767 | 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]    --> src/theme.rs:775:8
[INFO] [stdout]     |
[INFO] [stdout] 775 | 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]    --> src/theme.rs:847:8
[INFO] [stdout]     |
[INFO] [stdout] 847 | 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]    --> src/theme.rs:867:8
[INFO] [stdout]     |
[INFO] [stdout] 867 | pub fn preview_highlight_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_overlay` is never used
[INFO] [stdout]     --> src/theme.rs:1037:8
[INFO] [stdout]      |
[INFO] [stdout] 1037 | 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]     --> src/theme.rs:1119:8
[INFO] [stdout]      |
[INFO] [stdout] 1119 | 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]    --> 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]    --> 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]     --> src/ui.rs:1831:8
[INFO] [stdout]      |
[INFO] [stdout] 1831 | pub fn render_input_box(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tag_candidates`, `pkg_candidates`, `msg_candidates`, and `all_candidates` are never used
[INFO] [stdout]   --> 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]    --> 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]    --> src/app.rs:174:10
[INFO] [stdout]     |
[INFO] [stdout] 174 | 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]    --> src/app.rs:183:12
[INFO] [stdout]     |
[INFO] [stdout] 181 | impl ChipFieldKey {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 182 |     /// Same letters as [`YankField::from_char`], minus raw/timestamp.
[INFO] [stdout] 183 |     pub fn from_char(c: char) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_unbound` and `clear_exclude_groups` are never used
[INFO] [stdout]     --> src/app.rs:752:12
[INFO] [stdout]      |
[INFO] [stdout]  428 | impl App {
[INFO] [stdout]      | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  752 |     pub fn is_unbound(&self) -> bool {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 3170 |     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]    --> 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]   --> 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]    --> 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]   --> 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]     --> src/keymap.rs:2844:12
[INFO] [stdout]      |
[INFO] [stdout] 2818 | impl KeymapStore {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 2844 |     pub fn display_aggregate(&self, ids: &[ActionId]) -> Option<String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2880 |     pub fn action_for_stroke(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bytes_done` is never read
[INFO] [stdout]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]    --> 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]   --> src/theme.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const GLYPH_SEP: &str = "\u{e0bf}"; //
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLYPH_HR` is never used
[INFO] [stdout]   --> src/theme.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | 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]    --> src/theme.rs:375:8
[INFO] [stdout]     |
[INFO] [stdout] 375 | 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]    --> src/theme.rs:617:8
[INFO] [stdout]     |
[INFO] [stdout] 617 | 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]    --> src/theme.rs:759:8
[INFO] [stdout]     |
[INFO] [stdout] 759 | 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]    --> src/theme.rs:767:8
[INFO] [stdout]     |
[INFO] [stdout] 767 | 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]    --> src/theme.rs:775:8
[INFO] [stdout]     |
[INFO] [stdout] 775 | 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]    --> src/theme.rs:847:8
[INFO] [stdout]     |
[INFO] [stdout] 847 | 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]    --> src/theme.rs:867:8
[INFO] [stdout]     |
[INFO] [stdout] 867 | pub fn preview_highlight_style() -> Style {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `msg_candidates` is never used
[INFO] [stdout]   --> 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]     --> src/main.rs:6489:8
[INFO] [stdout]      |
[INFO] [stdout] 6489 |     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 1m 25s
[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 1`
[INFO] running `Command { std: "docker" "inspect" "e7d20e2d30fb58c02f7bd2e07645119a2a06edd81f3725ab7b0c5d258129d373", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7d20e2d30fb58c02f7bd2e07645119a2a06edd81f3725ab7b0c5d258129d373", kill_on_drop: false }`
[INFO] [stdout] e7d20e2d30fb58c02f7bd2e07645119a2a06edd81f3725ab7b0c5d258129d373
