[INFO] cloning repository https://github.com/iwzbi/lazyhf [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/iwzbi/lazyhf" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiwzbi%2Flazyhf", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiwzbi%2Flazyhf'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0e20504fb2c48852c2cb9b61ed91ac7d801c0b28 [INFO] testing iwzbi/lazyhf against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiwzbi%2Flazyhf" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/iwzbi/lazyhf [INFO] finished tweaking git repo https://github.com/iwzbi/lazyhf [INFO] tweaked toml for git repo https://github.com/iwzbi/lazyhf written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/iwzbi/lazyhf on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/iwzbi/lazyhf 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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded darling_macro v0.20.11 [INFO] [stderr] Downloaded unicode-truncate v2.0.0 [INFO] [stderr] Downloaded struct-patch v0.9.2 [INFO] [stderr] Downloaded unicode-truncate v1.1.0 [INFO] [stderr] Downloaded instability v0.3.7 [INFO] [stderr] Downloaded easy-cast v0.5.3 [INFO] [stderr] Downloaded castaway v0.2.3 [INFO] [stderr] Downloaded darling v0.20.11 [INFO] [stderr] Downloaded compact_str v0.8.1 [INFO] [stderr] Downloaded clap v4.5.36 [INFO] [stderr] Downloaded diff v0.1.13 [INFO] [stderr] Downloaded clap_builder v4.5.36 [INFO] [stderr] Downloaded ron v0.10.1 [INFO] [stderr] Downloaded crossterm v0.28.1 [INFO] [stderr] Downloaded pretty_assertions v1.4.1 [INFO] [stderr] Downloaded darling_core v0.20.11 [INFO] [stderr] Downloaded struct-patch-derive v0.9.2 [INFO] [stderr] Downloaded ratatui v0.29.0 [INFO] [stderr] Downloaded filetreelist v0.5.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0e3e3fb56ff6d8ecbc011d415e606c2883167c26d1b0d167aa94164cfa8e83ec [INFO] running `Command { std: "docker" "start" "-a" "0e3e3fb56ff6d8ecbc011d415e606c2883167c26d1b0d167aa94164cfa8e83ec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0e3e3fb56ff6d8ecbc011d415e606c2883167c26d1b0d167aa94164cfa8e83ec", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0e3e3fb56ff6d8ecbc011d415e606c2883167c26d1b0d167aa94164cfa8e83ec", kill_on_drop: false }` [INFO] [stdout] 0e3e3fb56ff6d8ecbc011d415e606c2883167c26d1b0d167aa94164cfa8e83ec [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 46179789e32c748858ddf9ced9485df57f5877c52cae8c87f66dd631b1e512e5 [INFO] running `Command { std: "docker" "start" "-a" "46179789e32c748858ddf9ced9485df57f5877c52cae8c87f66dd631b1e512e5", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling libc v0.2.171 [INFO] [stderr] Compiling rustversion v1.0.20 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling smallvec v1.15.0 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling anstyle-parse v0.2.6 [INFO] [stderr] Compiling colorchoice v1.0.3 [INFO] [stderr] Compiling anstyle-query v1.1.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling anstyle v1.0.10 [INFO] [stderr] Compiling hashbrown v0.15.2 [INFO] [stderr] Compiling anyhow v1.0.97 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling anstream v0.6.18 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling chrono v0.4.40 [INFO] [stderr] Compiling easy-cast v0.5.3 [INFO] [stderr] Compiling pretty_assertions v1.4.1 [INFO] [stderr] Compiling clap_builder v4.5.36 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling castaway v0.2.3 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling unicode-truncate v2.0.0 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling signal-hook-registry v1.4.2 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling signal-hook-mio v0.2.4 [INFO] [stderr] Compiling clap v4.5.36 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling struct-patch-derive v0.9.2 [INFO] [stderr] Compiling struct-patch v0.9.2 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling filetreelist v0.5.2 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling instability v0.3.7 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling bitflags v2.9.0 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling ron v0.10.1 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling ratatui v0.29.0 [INFO] [stderr] Compiling lazyllm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `InputState`, `ellipsis_trim_start`, and `order` [INFO] [stdout] --> src/app.rs:9:32 [INFO] [stdout] | [INFO] [stdout] 9 | input::{Input, InputEvent, InputState}, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | strings::{self, ellipsis_trim_start, order}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossbeam_channel::Sender` [INFO] [stdout] --> src/app.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | use crossbeam_channel::Sender; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Alignment` and `Paragraph` [INFO] [stdout] --> src/app.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | layout::{Alignment, Constraint, Direction, Layout, Margin, Rect}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 44 | text::{Line, Span}, [INFO] [stdout] 45 | widgets::{Block, Borders, Paragraph, Tabs}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf` and `Path` [INFO] [stdout] --> src/app.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | path::{Path, PathBuf}, [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/args.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | fs::{self, File}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ghemoji` [INFO] [stdout] --> src/components/utils/mod.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | #[cfg(feature = "ghemoji")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `ghemoji` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CommandBlocking` [INFO] [stdout] --> src/components/revision_files.rs:7:42 [INFO] [stdout] | [INFO] [stdout] 7 | utils::scroll_vertical::VerticalScroll, CommandBlocking, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `order` [INFO] [stdout] --> src/components/revision_files.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | strings::{self, order, symbol}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossterm::event::Event` [INFO] [stdout] --> src/components/revision_files.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use crossterm::event::Event; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, and `Layout` [INFO] [stdout] --> src/components/revision_files.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::Write` [INFO] [stdout] --> src/components/revision_files.rs:36:24 [INFO] [stdout] | [INFO] [stdout] 36 | use std::{borrow::Cow, fmt::Write}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `collections::BTreeSet` and `path::Path` [INFO] [stdout] --> src/components/revision_files.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | use std::{collections::BTreeSet, path::Path}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unicode_truncate::UnicodeTruncateStr` [INFO] [stdout] --> src/components/revision_files.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | use unicode_truncate::UnicodeTruncateStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Terminal` and `backend::CrosstermBackend` [INFO] [stdout] --> src/components/revision_files.rs:395:5 [INFO] [stdout] | [INFO] [stdout] 395 | backend::CrosstermBackend, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | Terminal, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ui::style::Theme` [INFO] [stdout] --> src/components/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::ui::style::Theme; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossterm::event::Event` [INFO] [stdout] --> src/components/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crossterm::event::Event; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Alignment`, `Block`, `Borders`, `Paragraph`, `Span`, and `Text` [INFO] [stdout] --> src/components/mod.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | layout::{Alignment, Rect}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 11 | text::{Span, Text}, [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] 12 | widgets::{Block, Borders, Paragraph}, [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CommandText` [INFO] [stdout] --> src/components/mod.rs:18:32 [INFO] [stdout] | [INFO] [stdout] 18 | pub use command::{CommandInfo, CommandText}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tabs/files.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tabs/status.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `draw_list` [INFO] [stdout] --> src/ui/mod.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | pub use scrolllist::{draw_list, draw_list_block}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ParagraphState`, `ScrollPos`, and `StatefulParagraph` [INFO] [stdout] --> src/ui/mod.rs:13:2 [INFO] [stdout] | [INFO] [stdout] 13 | ParagraphState, ScrollPos, StatefulParagraph, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell`, `collections::VecDeque`, `path::PathBuf`, and `rc::Rc` [INFO] [stdout] --> src/queue.rs:17:2 [INFO] [stdout] | [INFO] [stdout] 17 | cell::RefCell, collections::VecDeque, path::PathBuf, rc::Rc, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow` [INFO] [stdout] --> src/main.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 15 | use anyhow::{anyhow, bail, Result}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell`, `panic`, `path::Path`, and `process` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | cell::RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 18 | io::{self, Stdout}, [INFO] [stdout] 19 | panic, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 20 | path::Path, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 21 | process, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unbounded` [INFO] [stdout] --> src/main.rs:35:38 [INFO] [stdout] | [INFO] [stdout] 35 | use crossbeam_channel::{never, tick, unbounded, Receiver, Select}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unicode_width::UnicodeWidthStr` [INFO] [stdout] --> src/components/revision_files.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | use unicode_width::UnicodeWidthStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text_area` [INFO] [stdout] --> src/app.rs:1031:13 [INFO] [stdout] | [INFO] [stdout] 1031 | let text_area = left_right[1]; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_area` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `quit_state` [INFO] [stdout] --> src/main.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | let quit_state = run_app( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quit_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `updater` [INFO] [stdout] --> src/main.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | updater: Updater, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_updater` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `SPINNER_INTERVAL` is never used [INFO] [stdout] --> src/main.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | static SPINNER_INTERVAL: Duration = Duration::from_millis(80); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `NotifyWatcher` is never constructed [INFO] [stdout] --> src/main.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 72 | enum Updater { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] 73 | Ticker, [INFO] [stdout] 74 | NotifyWatcher, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Updater` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `requires_redraw` and `file_to_open` are never read [INFO] [stdout] --> src/app.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct App { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 112 | requires_redraw: Cell, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 113 | file_to_open: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `workdir` and `notify_watcher` are never read [INFO] [stdout] --> src/args.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct CliArgs { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 13 | pub theme: PathBuf, [INFO] [stdout] 14 | pub workdir: PathBuf, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | pub notify_watcher: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `desired_state` and `current_state` are never read [INFO] [stdout] --> src/input.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct Input { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 34 | desired_state: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 35 | current_state: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Input` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_polling`, `shall_poll`, and `is_state_changing` are never used [INFO] [stdout] --> src/input.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Input { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn set_polling(&self, enabled: bool) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | fn shall_poll(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn is_state_changing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ScrollType` is never used [INFO] [stdout] --> src/components/mod.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum ScrollType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScrollType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `HorizontalScrollType` is never used [INFO] [stdout] --> src/components/mod.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 31 | pub enum HorizontalScrollType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HorizontalScrollType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/components/mod.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Direction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CommandBlocking` is never used [INFO] [stdout] --> src/components/mod.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum CommandBlocking { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `focused`, `focus`, and `toggle_visible` are never used [INFO] [stdout] --> src/components/mod.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 55 | pub trait Component { [INFO] [stdout] | --------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 67 | fn focused(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn focus(&mut self, _focus: bool) {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | fn toggle_visible(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `hide_help` are never used [INFO] [stdout] --> src/components/command.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 16 | impl CommandText { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | /// [INFO] [stdout] 18 | pub const fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub const fn hide_help(self) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `quick_bar`, `available`, and `order` are never read [INFO] [stdout] --> src/components/command.rs:45:6 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct CommandInfo { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 45 | pub quick_bar: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub available: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 49 | /// used to order commands in quickbar [INFO] [stdout] 50 | pub order: i8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `order`, `hidden`, and `show_in_quickbar` are never used [INFO] [stdout] --> src/components/command.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl CommandInfo { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 54 | /// [INFO] [stdout] 55 | pub const fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub const fn order(self, order: i8) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub const fn hidden(self) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub const fn show_in_quickbar(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `time_to_string` is never used [INFO] [stdout] --> src/components/utils/mod.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn time_to_string(secs: i64, short: bool) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string_width_align` is never used [INFO] [stdout] --> src/components/utils/mod.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn string_width_align(s: &str, width: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_truncate_point` is never used [INFO] [stdout] --> src/components/utils/mod.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn find_truncate_point(s: &str, chars: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HorizontalScroll` is never constructed [INFO] [stdout] --> src/components/utils/scroll_horizontal.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct HorizontalScroll { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/components/utils/scroll_horizontal.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 13 | impl HorizontalScroll { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 14 | pub const fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn get_right(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn move_right( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn update( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn update_no_selection( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn draw(&self, f: &mut Frame, r: Rect, theme: &SharedTheme) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_scroll_right` is never used [INFO] [stdout] --> src/components/utils/scroll_horizontal.rs:97:10 [INFO] [stdout] | [INFO] [stdout] 97 | const fn calc_scroll_right( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `top` and `max_top` are never read [INFO] [stdout] --> src/components/utils/scroll_vertical.rs:9:2 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct VerticalScroll { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 9 | top: Cell, [INFO] [stdout] | ^^^ [INFO] [stdout] 10 | max_top: Cell, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/components/utils/scroll_vertical.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 13 | impl VerticalScroll { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn get_top(&self) -> usize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn move_top(&self, move_type: ScrollType) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn move_area_to_visible( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn update( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn update_no_selection( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn draw(&self, f: &mut Frame, r: Rect, theme: &SharedTheme) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_scroll_top` is never used [INFO] [stdout] --> src/components/utils/scroll_vertical.rs:122:10 [INFO] [stdout] | [INFO] [stdout] 122 | const fn calc_scroll_top( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `File` is never constructed [INFO] [stdout] --> src/components/revision_files.rs:43:2 [INFO] [stdout] | [INFO] [stdout] 41 | enum Focus { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] 42 | Tree, [INFO] [stdout] 43 | File, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `theme`, `files`, `tree`, `scroll`, `focus`, and `key_config` are never read [INFO] [stdout] --> src/components/revision_files.rs:57:2 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct RevisionFilesComponent { [INFO] [stdout] | ---------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 57 | theme: SharedTheme, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 58 | //TODO: store TreeFiles in `tree` [INFO] [stdout] 59 | files: Option>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | tree: FileTree, [INFO] [stdout] | ^^^^ [INFO] [stdout] 63 | scroll: VerticalScroll, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | focus: Focus, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 67 | key_config: SharedKeyConfig, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `tree_item_to_span`, `selected_file_path_with_prefix`, `selected_file_path`, and `draw_tree` are never used [INFO] [stdout] --> src/components/revision_files.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 70 | impl RevisionFilesComponent { [INFO] [stdout] | --------------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 165 | fn tree_item_to_span<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | fn selected_file_path_with_prefix(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 257 | fn selected_file_path(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | fn draw_tree(&self, f: &mut Frame, area: Rect) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tree_nav` is never used [INFO] [stdout] --> src/components/revision_files.rs:591:4 [INFO] [stdout] | [INFO] [stdout] 591 | fn tree_nav( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_scroll_top` is never used [INFO] [stdout] --> src/ui/mod.rs:20:14 [INFO] [stdout] | [INFO] [stdout] 20 | pub const fn calc_scroll_top( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `width` and `height` are never read [INFO] [stdout] --> src/ui/mod.rs:37:6 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Size { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 37 | pub width: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 38 | pub height: u16, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Size` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ui/mod.rs:42:15 [INFO] [stdout] | [INFO] [stdout] 41 | impl Size { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 42 | pub const fn new(width: u16, height: u16) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centered_rect` is never used [INFO] [stdout] --> src/ui/mod.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn centered_rect( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rect_inside` is never used [INFO] [stdout] --> src/ui/mod.rs:89:8 [INFO] [stdout] | [INFO] [stdout] 89 | pub fn rect_inside(min: Size, max: Size, r: Rect) -> Rect { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centered_rect_absolute` is never used [INFO] [stdout] --> src/ui/mod.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn centered_rect_absolute( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `common_nav` is never used [INFO] [stdout] --> src/ui/mod.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn common_nav( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NBSP` is never used [INFO] [stdout] --> src/ui/reflow.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const NBSP: &str = "\u{00a0}"; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `LineComposer` is never used [INFO] [stdout] --> src/ui/reflow.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait LineComposer<'a> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WordWrapper` is never constructed [INFO] [stdout] --> src/ui/reflow.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct WordWrapper<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ui/reflow.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 25 | impl<'a, 'b> WordWrapper<'a, 'b> { [INFO] [stdout] | -------------------------------- associated function in this implementation [INFO] [stdout] 26 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LineTruncator` is never constructed [INFO] [stdout] --> src/ui/reflow.rs:143:12 [INFO] [stdout] | [INFO] [stdout] 143 | pub struct LineTruncator<'a, 'b> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `set_horizontal_offset` are never used [INFO] [stdout] --> src/ui/reflow.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 151 | impl<'a, 'b> LineTruncator<'a, 'b> { [INFO] [stdout] | ---------------------------------- associated items in this implementation [INFO] [stdout] 152 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn set_horizontal_offset(&mut self, horizontal_offset: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Orientation` is never used [INFO] [stdout] --> src/ui/scrollbar.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum Orientation { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scrollbar` is never constructed [INFO] [stdout] --> src/ui/scrollbar.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | struct Scrollbar { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `render_vertical`, and `render_horizontal` are never used [INFO] [stdout] --> src/ui/scrollbar.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 29 | impl Scrollbar { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 30 | fn new(max: usize, pos: usize, orientation: Orientation) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | fn render_vertical(self, area: Rect, buf: &mut Buffer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn render_horizontal(self, area: Rect, buf: &mut Buffer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_scrollbar` is never used [INFO] [stdout] --> src/ui/scrollbar.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn draw_scrollbar( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScrollableList` is never constructed [INFO] [stdout] --> src/ui/scrolllist.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct ScrollableList<'b, L, S> [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `block` are never used [INFO] [stdout] --> src/ui/scrolllist.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 24 | / impl<'b, L, S> ScrollableList<'b, L, S> [INFO] [stdout] 25 | | where [INFO] [stdout] 26 | | S: Into>, [INFO] [stdout] 27 | | L: Iterator, [INFO] [stdout] | |__________________________- associated items in this implementation [INFO] [stdout] 28 | { [INFO] [stdout] 29 | fn new(items: L) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn block(mut self, block: Block<'b>) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_list` is never used [INFO] [stdout] --> src/ui/scrolllist.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn draw_list<'b, L, S>( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_list_block` is never used [INFO] [stdout] --> src/ui/scrolllist.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn draw_list_block<'b, L, S>( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_line_offset` is never used [INFO] [stdout] --> src/ui/stateful_paragraph.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | const fn get_line_offset( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatefulParagraph` is never constructed [INFO] [stdout] --> src/ui/stateful_paragraph.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct StatefulParagraph<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StatefulParagraph` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/ui/stateful_paragraph.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct ScrollPos { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 46 | pub x: u16, [INFO] [stdout] | ^ [INFO] [stdout] 47 | pub y: u16, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `ScrollPos` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `scroll`, `lines`, and `height` are never read [INFO] [stdout] --> src/ui/stateful_paragraph.rs:53:2 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct ParagraphState { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 52 | /// Scroll [INFO] [stdout] 53 | scroll: ScrollPos, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 54 | /// after all wrapping this is the amount of lines [INFO] [stdout] 55 | lines: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 56 | /// last visible height [INFO] [stdout] 57 | height: u16, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParagraphState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `lines`, `height`, `scroll`, and `set_scroll` are never used [INFO] [stdout] --> src/ui/stateful_paragraph.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 60 | impl ParagraphState { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 61 | pub const fn lines(self) -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub const fn height(self) -> u16 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub const fn scroll(self) -> ScrollPos { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn set_scroll(&mut self, scroll: ScrollPos) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `block`, and `wrap` are never used [INFO] [stdout] --> src/ui/stateful_paragraph.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 78 | impl<'a> StatefulParagraph<'a> { [INFO] [stdout] | ------------------------------ associated items in this implementation [INFO] [stdout] 79 | pub fn new(text: T) -> Self [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn block(mut self, block: Block<'a>) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub const fn wrap(mut self, wrap: Wrap) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/ui/style.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Theme { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 41 | pub fn scroll_bar_pos(&self) -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn title(&self, focused: bool) -> Style { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn branch(&self, selected: bool, head: bool) -> Style { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn tags(&self, selected: bool) -> Style { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn file_tree_item(&self, is_folder: bool, selected: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | const fn apply_select(&self, style: Style, selected: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn option(&self, on: bool) -> Style { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn diff_hunk_marker(&self, selected: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn text_danger(&self) -> Style { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn line_break(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn commit_hash(&self, selected: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn commit_unhighlighted(&self) -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn log_marker(&self, selected: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn commit_time(&self, selected: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn commit_author(&self, selected: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn commit_hash_in_blame(&self, is_blamed_commit: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn push_gauge(&self) -> Style { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn attention_block() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn get_syntax(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResetItem` is never constructed [INFO] [stdout] --> src/queue.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct ResetItem { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `trim_length_left` is never used [INFO] [stdout] --> src/string_utils.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn trim_length_left(s: &str, width: usize) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tabs_to_spaces` is never used [INFO] [stdout] --> src/string_utils.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn tabs_to_spaces(input: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `trim_offset` is never used [INFO] [stdout] --> src/string_utils.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn trim_offset(src: &str, mut offset: usize) -> &str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_POPUP_MSG` is never used [INFO] [stdout] --> src/strings.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub static PUSH_POPUP_MSG: &str = "Push"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `FORCE_PUSH_POPUP_MSG` is never used [INFO] [stdout] --> src/strings.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub static FORCE_PUSH_POPUP_MSG: &str = "Force Push"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PULL_POPUP_MSG` is never used [INFO] [stdout] --> src/strings.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub static PULL_POPUP_MSG: &str = "Pull"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `FETCH_POPUP_MSG` is never used [INFO] [stdout] --> src/strings.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub static FETCH_POPUP_MSG: &str = "Fetch"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_POPUP_PROGRESS_NONE` is never used [INFO] [stdout] --> src/strings.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub static PUSH_POPUP_PROGRESS_NONE: &str = "preparing..."; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_POPUP_STATES_ADDING` is never used [INFO] [stdout] --> src/strings.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub static PUSH_POPUP_STATES_ADDING: &str = "adding objects (1/3)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_POPUP_STATES_DELTAS` is never used [INFO] [stdout] --> src/strings.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub static PUSH_POPUP_STATES_DELTAS: &str = "deltas (2/3)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_POPUP_STATES_PUSHING` is never used [INFO] [stdout] --> src/strings.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub static PUSH_POPUP_STATES_PUSHING: &str = "pushing (3/3)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_POPUP_STATES_TRANSFER` is never used [INFO] [stdout] --> src/strings.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub static PUSH_POPUP_STATES_TRANSFER: &str = "transfer"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_POPUP_STATES_DONE` is never used [INFO] [stdout] --> src/strings.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub static PUSH_POPUP_STATES_DONE: &str = "done"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_TAGS_POPUP_MSG` is never used [INFO] [stdout] --> src/strings.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub static PUSH_TAGS_POPUP_MSG: &str = "Push Tags"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_TAGS_STATES_FETCHING` is never used [INFO] [stdout] --> src/strings.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub static PUSH_TAGS_STATES_FETCHING: &str = "fetching"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_TAGS_STATES_PUSHING` is never used [INFO] [stdout] --> src/strings.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub static PUSH_TAGS_STATES_PUSHING: &str = "pushing"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_TAGS_STATES_DONE` is never used [INFO] [stdout] --> src/strings.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub static PUSH_TAGS_STATES_DONE: &str = "done"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_TITLE_SUBMODULES` is never used [INFO] [stdout] --> src/strings.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub static POPUP_TITLE_SUBMODULES: &str = "Submodules"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_TITLE_REMOTES` is never used [INFO] [stdout] --> src/strings.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub static POPUP_TITLE_REMOTES: &str = "Remotes"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_SUBTITLE_REMOTES` is never used [INFO] [stdout] --> src/strings.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub static POPUP_SUBTITLE_REMOTES: &str = "Details"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_TITLE_FUZZY_FIND` is never used [INFO] [stdout] --> src/strings.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub static POPUP_TITLE_FUZZY_FIND: &str = "Fuzzy Finder"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_TITLE_LOG_SEARCH` is never used [INFO] [stdout] --> src/strings.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub static POPUP_TITLE_LOG_SEARCH: &str = "Search"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_FAIL_COPY` is never used [INFO] [stdout] --> src/strings.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub static POPUP_FAIL_COPY: &str = "Failed to copy text"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_SUCCESS_COPY` is never used [INFO] [stdout] --> src/strings.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub static POPUP_SUCCESS_COPY: &str = "Copied Text"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_COMMIT_SHA_INVALID` is never used [INFO] [stdout] --> src/strings.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub static POPUP_COMMIT_SHA_INVALID: &str = "Invalid commit sha"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `title_branches` is never used [INFO] [stdout] --> src/strings.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn title_branches() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `title_tags` is never used [INFO] [stdout] --> src/strings.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn title_tags() -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `title_status` is never used [INFO] [stdout] --> src/strings.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn title_status(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `title_diff` is never used [INFO] [stdout] --> src/strings.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn title_diff(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `title_index` is never used [INFO] [stdout] --> src/strings.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn title_index(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `msg_opening_editor` is never used [INFO] [stdout] --> src/strings.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn msg_opening_editor(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `msg_title_error` is never used [INFO] [stdout] --> src/strings.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn msg_title_error(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `msg_title_info` is never used [INFO] [stdout] --> src/strings.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn msg_title_info(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_title` is never used [INFO] [stdout] --> src/strings.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn commit_title() -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_reword_title` is never used [INFO] [stdout] --> src/strings.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn commit_reword_title() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_title_merge` is never used [INFO] [stdout] --> src/strings.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn commit_title_merge() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_title_revert` is never used [INFO] [stdout] --> src/strings.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn commit_title_revert() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_title_amend` is never used [INFO] [stdout] --> src/strings.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn commit_title_amend() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_msg` is never used [INFO] [stdout] --> src/strings.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn commit_msg(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_first_line_warning` is never used [INFO] [stdout] --> src/strings.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn commit_first_line_warning(count: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `branch_name_invalid` is never used [INFO] [stdout] --> src/strings.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 131 | pub const fn branch_name_invalid() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_editor_msg` is never used [INFO] [stdout] --> src/strings.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn commit_editor_msg(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stash_popup_title` is never used [INFO] [stdout] --> src/strings.rs:140:8 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn stash_popup_title(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stash_popup_msg` is never used [INFO] [stdout] --> src/strings.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn stash_popup_msg(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_reset` is never used [INFO] [stdout] --> src/strings.rs:146:8 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn confirm_title_reset() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_undo_commit` is never used [INFO] [stdout] --> src/strings.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn confirm_title_undo_commit() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_stashdrop` is never used [INFO] [stdout] --> src/strings.rs:152:8 [INFO] [stdout] | [INFO] [stdout] 152 | pub fn confirm_title_stashdrop( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_stashpop` is never used [INFO] [stdout] --> src/strings.rs:158:8 [INFO] [stdout] | [INFO] [stdout] 158 | pub fn confirm_title_stashpop( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_merge` is never used [INFO] [stdout] --> src/strings.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn confirm_title_merge( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_msg_merge` is never used [INFO] [stdout] --> src/strings.rs:173:8 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn confirm_msg_merge( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_abortmerge` is never used [INFO] [stdout] --> src/strings.rs:185:8 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn confirm_title_abortmerge() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_abortrevert` is never used [INFO] [stdout] --> src/strings.rs:188:8 [INFO] [stdout] | [INFO] [stdout] 188 | pub fn confirm_title_abortrevert() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_msg_revertchanges` is never used [INFO] [stdout] --> src/strings.rs:191:8 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn confirm_msg_revertchanges() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_abortrebase` is never used [INFO] [stdout] --> src/strings.rs:195:8 [INFO] [stdout] | [INFO] [stdout] 195 | pub fn confirm_title_abortrebase() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_msg_abortrebase` is never used [INFO] [stdout] --> src/strings.rs:198:8 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn confirm_msg_abortrebase() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_msg_reset` is never used [INFO] [stdout] --> src/strings.rs:202:8 [INFO] [stdout] | [INFO] [stdout] 202 | pub fn confirm_msg_reset() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_msg_reset_lines` is never used [INFO] [stdout] --> src/strings.rs:205:8 [INFO] [stdout] | [INFO] [stdout] 205 | pub fn confirm_msg_reset_lines(lines: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_msg_undo_commit` is never used [INFO] [stdout] --> src/strings.rs:210:8 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn confirm_msg_undo_commit() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `loading_text` is never used [INFO] [stdout] --> src/strings.rs:342:8 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn loading_text(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ellipsis_trim_start` is never used [INFO] [stdout] --> src/strings.rs:426:8 [INFO] [stdout] | [INFO] [stdout] 426 | pub fn ellipsis_trim_start(s: &str, width: usize) -> Cow { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RARE_ACTION` is never used [INFO] [stdout] --> src/strings.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub const RARE_ACTION: i8 = 30; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NAV` is never used [INFO] [stdout] --> src/strings.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub const NAV: i8 = 20; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AVERAGE` is never used [INFO] [stdout] --> src/strings.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub const AVERAGE: i8 = 10; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PRIORITY` is never used [INFO] [stdout] --> src/strings.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub const PRIORITY: i8 = 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHECKMARK` is never used [INFO] [stdout] --> src/strings.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub const CHECKMARK: &str = "\u{2713}"; //✓ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPACE` is never used [INFO] [stdout] --> src/strings.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub const SPACE: &str = "\u{02FD}"; //˽ [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EMPTY_SPACE` is never used [INFO] [stdout] --> src/strings.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub const EMPTY_SPACE: &str = " "; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FOLDER_ICON_COLLAPSED` is never used [INFO] [stdout] --> src/strings.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub const FOLDER_ICON_COLLAPSED: &str = "\u{25b8}"; //▸ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FOLDER_ICON_EXPANDED` is never used [INFO] [stdout] --> src/strings.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub const FOLDER_ICON_EXPANDED: &str = "\u{25be}"; //▾ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EMPTY_STR` is never used [INFO] [stdout] --> src/strings.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub const EMPTY_STR: &str = ""; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ELLIPSIS` is never used [INFO] [stdout] --> src/strings.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub const ELLIPSIS: char = '\u{2026}'; // … [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_and_notify` is never used [INFO] [stdout] --> src/notify_mutex.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 12 | / impl NotifyableMutex [INFO] [stdout] 13 | | where [INFO] [stdout] 14 | | T: Send + Sync, [INFO] [stdout] | |___________________- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn set_and_notify(&self, value: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_cmds` and `toggle_more` are never used [INFO] [stdout] --> src/cmdbar.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 40 | impl CommandBar { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn set_cmds(&mut self, cmds: Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn toggle_more(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/strings.rs:426:31 [INFO] [stdout] | [INFO] [stdout] 426 | pub fn ellipsis_trim_start(s: &str, width: usize) -> Cow { [INFO] [stdout] | ^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 426 | pub fn ellipsis_trim_start(s: &str, width: usize) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 32.60s [INFO] running `Command { std: "docker" "inspect" "46179789e32c748858ddf9ced9485df57f5877c52cae8c87f66dd631b1e512e5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "46179789e32c748858ddf9ced9485df57f5877c52cae8c87f66dd631b1e512e5", kill_on_drop: false }` [INFO] [stdout] 46179789e32c748858ddf9ced9485df57f5877c52cae8c87f66dd631b1e512e5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 7739c41553bf50ec45d2882e093b18f64be6d90212f0e21fab1fc71a040c06b3 [INFO] running `Command { std: "docker" "start" "-a" "7739c41553bf50ec45d2882e093b18f64be6d90212f0e21fab1fc71a040c06b3", kill_on_drop: false }` [INFO] [stderr] Compiling lazyllm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `InputState`, `ellipsis_trim_start`, and `order` [INFO] [stdout] --> src/app.rs:9:32 [INFO] [stdout] | [INFO] [stdout] 9 | input::{Input, InputEvent, InputState}, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | strings::{self, ellipsis_trim_start, order}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossbeam_channel::Sender` [INFO] [stdout] --> src/app.rs:40:5 [INFO] [stdout] | [INFO] [stdout] 40 | use crossbeam_channel::Sender; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Alignment` and `Paragraph` [INFO] [stdout] --> src/app.rs:43:14 [INFO] [stdout] | [INFO] [stdout] 43 | layout::{Alignment, Constraint, Direction, Layout, Margin, Rect}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 44 | text::{Line, Span}, [INFO] [stdout] 45 | widgets::{Block, Borders, Paragraph, Tabs}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PathBuf` and `Path` [INFO] [stdout] --> src/app.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 50 | path::{Path, PathBuf}, [INFO] [stdout] | ^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `File` [INFO] [stdout] --> src/args.rs:8:16 [INFO] [stdout] | [INFO] [stdout] 8 | fs::{self, File}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `ghemoji` [INFO] [stdout] --> src/components/utils/mod.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | #[cfg(feature = "ghemoji")] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = help: consider adding `ghemoji` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CommandBlocking` [INFO] [stdout] --> src/components/revision_files.rs:7:42 [INFO] [stdout] | [INFO] [stdout] 7 | utils::scroll_vertical::VerticalScroll, CommandBlocking, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `order` [INFO] [stdout] --> src/components/revision_files.rs:15:18 [INFO] [stdout] | [INFO] [stdout] 15 | strings::{self, order, symbol}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossterm::event::Event` [INFO] [stdout] --> src/components/revision_files.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use crossterm::event::Event; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Constraint`, `Direction`, and `Layout` [INFO] [stdout] --> src/components/revision_files.rs:31:11 [INFO] [stdout] | [INFO] [stdout] 31 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fmt::Write` [INFO] [stdout] --> src/components/revision_files.rs:36:24 [INFO] [stdout] | [INFO] [stdout] 36 | use std::{borrow::Cow, fmt::Write}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `collections::BTreeSet` and `path::Path` [INFO] [stdout] --> src/components/revision_files.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | use std::{collections::BTreeSet, path::Path}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unicode_truncate::UnicodeTruncateStr` [INFO] [stdout] --> src/components/revision_files.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | use unicode_truncate::UnicodeTruncateStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Terminal` and `backend::CrosstermBackend` [INFO] [stdout] --> src/components/revision_files.rs:395:5 [INFO] [stdout] | [INFO] [stdout] 395 | backend::CrosstermBackend, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | Terminal, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ui::style::Theme` [INFO] [stdout] --> src/components/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::ui::style::Theme; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crossterm::event::Event` [INFO] [stdout] --> src/components/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crossterm::event::Event; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Alignment`, `Block`, `Borders`, `Paragraph`, `Span`, and `Text` [INFO] [stdout] --> src/components/mod.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | layout::{Alignment, Rect}, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 11 | text::{Span, Text}, [INFO] [stdout] | ^^^^ ^^^^ [INFO] [stdout] 12 | widgets::{Block, Borders, Paragraph}, [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CommandText` [INFO] [stdout] --> src/components/mod.rs:18:32 [INFO] [stdout] | [INFO] [stdout] 18 | pub use command::{CommandInfo, CommandText}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tabs/files.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/tabs/status.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `draw_list` [INFO] [stdout] --> src/ui/mod.rs:11:22 [INFO] [stdout] | [INFO] [stdout] 11 | pub use scrolllist::{draw_list, draw_list_block}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ParagraphState`, `ScrollPos`, and `StatefulParagraph` [INFO] [stdout] --> src/ui/mod.rs:13:2 [INFO] [stdout] | [INFO] [stdout] 13 | ParagraphState, ScrollPos, StatefulParagraph, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell`, `collections::VecDeque`, `path::PathBuf`, and `rc::Rc` [INFO] [stdout] --> src/queue.rs:17:2 [INFO] [stdout] | [INFO] [stdout] 17 | cell::RefCell, collections::VecDeque, path::PathBuf, rc::Rc, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `anyhow` [INFO] [stdout] --> src/main.rs:15:14 [INFO] [stdout] | [INFO] [stdout] 15 | use anyhow::{anyhow, bail, Result}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `cell::RefCell`, `panic`, `path::Path`, and `process` [INFO] [stdout] --> src/main.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | cell::RefCell, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 18 | io::{self, Stdout}, [INFO] [stdout] 19 | panic, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 20 | path::Path, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 21 | process, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unbounded` [INFO] [stdout] --> src/main.rs:35:38 [INFO] [stdout] | [INFO] [stdout] 35 | use crossbeam_channel::{never, tick, unbounded, Receiver, Select}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unicode_width::UnicodeWidthStr` [INFO] [stdout] --> src/components/revision_files.rs:39:5 [INFO] [stdout] | [INFO] [stdout] 39 | use unicode_width::UnicodeWidthStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `text_area` [INFO] [stdout] --> src/app.rs:1031:13 [INFO] [stdout] | [INFO] [stdout] 1031 | let text_area = left_right[1]; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_area` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `quit_state` [INFO] [stdout] --> src/main.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | let quit_state = run_app( [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quit_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `updater` [INFO] [stdout] --> src/main.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | updater: Updater, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_updater` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `SPINNER_INTERVAL` is never used [INFO] [stdout] --> src/main.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | static SPINNER_INTERVAL: Duration = Duration::from_millis(80); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `NotifyWatcher` is never constructed [INFO] [stdout] --> src/main.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 72 | enum Updater { [INFO] [stdout] | ------- variant in this enum [INFO] [stdout] 73 | Ticker, [INFO] [stdout] 74 | NotifyWatcher, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Updater` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `requires_redraw` and `file_to_open` are never read [INFO] [stdout] --> src/app.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 64 | pub struct App { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 112 | requires_redraw: Cell, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 113 | file_to_open: Option, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `workdir` and `notify_watcher` are never read [INFO] [stdout] --> src/args.rs:14:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct CliArgs { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 13 | pub theme: PathBuf, [INFO] [stdout] 14 | pub workdir: PathBuf, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | pub notify_watcher: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `desired_state` and `current_state` are never read [INFO] [stdout] --> src/input.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub struct Input { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 34 | desired_state: Arc>, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 35 | current_state: Arc, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Input` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_polling`, `shall_poll`, and `is_state_changing` are never used [INFO] [stdout] --> src/input.rs:74:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Input { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn set_polling(&self, enabled: bool) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | fn shall_poll(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn is_state_changing(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ScrollType` is never used [INFO] [stdout] --> src/components/mod.rs:21:10 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum ScrollType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScrollType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `HorizontalScrollType` is never used [INFO] [stdout] --> src/components/mod.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 31 | pub enum HorizontalScrollType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `HorizontalScrollType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/components/mod.rs:37:10 [INFO] [stdout] | [INFO] [stdout] 37 | pub enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Direction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CommandBlocking` is never used [INFO] [stdout] --> src/components/mod.rs:44:10 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum CommandBlocking { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `focused`, `focus`, and `toggle_visible` are never used [INFO] [stdout] --> src/components/mod.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 55 | pub trait Component { [INFO] [stdout] | --------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 67 | fn focused(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn focus(&mut self, _focus: bool) {} [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | fn toggle_visible(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `hide_help` are never used [INFO] [stdout] --> src/components/command.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 16 | impl CommandText { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 17 | /// [INFO] [stdout] 18 | pub const fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub const fn hide_help(self) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `quick_bar`, `available`, and `order` are never read [INFO] [stdout] --> src/components/command.rs:45:6 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct CommandInfo { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 45 | pub quick_bar: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub available: bool, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 49 | /// used to order commands in quickbar [INFO] [stdout] 50 | pub order: i8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `order`, `hidden`, and `show_in_quickbar` are never used [INFO] [stdout] --> src/components/command.rs:55:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl CommandInfo { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 54 | /// [INFO] [stdout] 55 | pub const fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub const fn order(self, order: i8) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub const fn hidden(self) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub const fn show_in_quickbar(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `time_to_string` is never used [INFO] [stdout] --> src/components/utils/mod.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn time_to_string(secs: i64, short: bool) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `string_width_align` is never used [INFO] [stdout] --> src/components/utils/mod.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn string_width_align(s: &str, width: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_truncate_point` is never used [INFO] [stdout] --> src/components/utils/mod.rs:68:4 [INFO] [stdout] | [INFO] [stdout] 68 | fn find_truncate_point(s: &str, chars: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `HorizontalScroll` is never constructed [INFO] [stdout] --> src/components/utils/scroll_horizontal.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct HorizontalScroll { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/components/utils/scroll_horizontal.rs:14:15 [INFO] [stdout] | [INFO] [stdout] 13 | impl HorizontalScroll { [INFO] [stdout] | --------------------- associated items in this implementation [INFO] [stdout] 14 | pub const fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn get_right(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn move_right( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn update( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn update_no_selection( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn draw(&self, f: &mut Frame, r: Rect, theme: &SharedTheme) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `reset`, `move_top`, `update`, `update_no_selection`, and `draw` are never used [INFO] [stdout] --> src/components/utils/scroll_vertical.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 13 | impl VerticalScroll { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn reset(&self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn move_top(&self, move_type: ScrollType) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn update( [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn update_no_selection( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn draw(&self, f: &mut Frame, r: Rect, theme: &SharedTheme) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `File` is never constructed [INFO] [stdout] --> src/components/revision_files.rs:43:2 [INFO] [stdout] | [INFO] [stdout] 41 | enum Focus { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] 42 | Tree, [INFO] [stdout] 43 | File, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `theme`, `files`, `tree`, `scroll`, `focus`, and `key_config` are never read [INFO] [stdout] --> src/components/revision_files.rs:57:2 [INFO] [stdout] | [INFO] [stdout] 54 | pub struct RevisionFilesComponent { [INFO] [stdout] | ---------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 57 | theme: SharedTheme, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 58 | //TODO: store TreeFiles in `tree` [INFO] [stdout] 59 | files: Option>, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | tree: FileTree, [INFO] [stdout] | ^^^^ [INFO] [stdout] 63 | scroll: VerticalScroll, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | focus: Focus, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 67 | key_config: SharedKeyConfig, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `tree_item_to_span`, `selected_file_path_with_prefix`, `selected_file_path`, and `draw_tree` are never used [INFO] [stdout] --> src/components/revision_files.rs:165:5 [INFO] [stdout] | [INFO] [stdout] 70 | impl RevisionFilesComponent { [INFO] [stdout] | --------------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 165 | fn tree_item_to_span<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 251 | fn selected_file_path_with_prefix(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 257 | fn selected_file_path(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 286 | fn draw_tree(&self, f: &mut Frame, area: Rect) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tree_nav` is never used [INFO] [stdout] --> src/components/revision_files.rs:591:4 [INFO] [stdout] | [INFO] [stdout] 591 | fn tree_nav( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calc_scroll_top` is never used [INFO] [stdout] --> src/ui/mod.rs:20:14 [INFO] [stdout] | [INFO] [stdout] 20 | pub const fn calc_scroll_top( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ui/mod.rs:42:15 [INFO] [stdout] | [INFO] [stdout] 41 | impl Size { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 42 | pub const fn new(width: u16, height: u16) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centered_rect` is never used [INFO] [stdout] --> src/ui/mod.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn centered_rect( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `centered_rect_absolute` is never used [INFO] [stdout] --> src/ui/mod.rs:113:8 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn centered_rect_absolute( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `common_nav` is never used [INFO] [stdout] --> src/ui/mod.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn common_nav( [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_horizontal_offset` is never used [INFO] [stdout] --> src/ui/reflow.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 151 | impl<'a, 'b> LineTruncator<'a, 'b> { [INFO] [stdout] | ---------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn set_horizontal_offset(&mut self, horizontal_offset: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Orientation` is never used [INFO] [stdout] --> src/ui/scrollbar.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum Orientation { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scrollbar` is never constructed [INFO] [stdout] --> src/ui/scrollbar.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | struct Scrollbar { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `render_vertical`, and `render_horizontal` are never used [INFO] [stdout] --> src/ui/scrollbar.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 29 | impl Scrollbar { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 30 | fn new(max: usize, pos: usize, orientation: Orientation) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | fn render_vertical(self, area: Rect, buf: &mut Buffer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn render_horizontal(self, area: Rect, buf: &mut Buffer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_scrollbar` is never used [INFO] [stdout] --> src/ui/scrollbar.rs:131:8 [INFO] [stdout] | [INFO] [stdout] 131 | pub fn draw_scrollbar( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScrollableList` is never constructed [INFO] [stdout] --> src/ui/scrolllist.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | struct ScrollableList<'b, L, S> [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `block` are never used [INFO] [stdout] --> src/ui/scrolllist.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 24 | / impl<'b, L, S> ScrollableList<'b, L, S> [INFO] [stdout] 25 | | where [INFO] [stdout] 26 | | S: Into>, [INFO] [stdout] 27 | | L: Iterator, [INFO] [stdout] | |__________________________- associated items in this implementation [INFO] [stdout] 28 | { [INFO] [stdout] 29 | fn new(items: L) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | fn block(mut self, block: Block<'b>) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_list` is never used [INFO] [stdout] --> src/ui/scrolllist.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn draw_list<'b, L, S>( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_list_block` is never used [INFO] [stdout] --> src/ui/scrolllist.rs:77:8 [INFO] [stdout] | [INFO] [stdout] 77 | pub fn draw_list_block<'b, L, S>( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_line_offset` is never used [INFO] [stdout] --> src/ui/stateful_paragraph.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | const fn get_line_offset( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatefulParagraph` is never constructed [INFO] [stdout] --> src/ui/stateful_paragraph.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct StatefulParagraph<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StatefulParagraph` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/ui/stateful_paragraph.rs:46:6 [INFO] [stdout] | [INFO] [stdout] 45 | pub struct ScrollPos { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 46 | pub x: u16, [INFO] [stdout] | ^ [INFO] [stdout] 47 | pub y: u16, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `ScrollPos` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `scroll`, `lines`, and `height` are never read [INFO] [stdout] --> src/ui/stateful_paragraph.rs:53:2 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct ParagraphState { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 52 | /// Scroll [INFO] [stdout] 53 | scroll: ScrollPos, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 54 | /// after all wrapping this is the amount of lines [INFO] [stdout] 55 | lines: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 56 | /// last visible height [INFO] [stdout] 57 | height: u16, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParagraphState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `lines`, `height`, `scroll`, and `set_scroll` are never used [INFO] [stdout] --> src/ui/stateful_paragraph.rs:61:15 [INFO] [stdout] | [INFO] [stdout] 60 | impl ParagraphState { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 61 | pub const fn lines(self) -> u16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 65 | pub const fn height(self) -> u16 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub const fn scroll(self) -> ScrollPos { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn set_scroll(&mut self, scroll: ScrollPos) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `block`, and `wrap` are never used [INFO] [stdout] --> src/ui/stateful_paragraph.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 78 | impl<'a> StatefulParagraph<'a> { [INFO] [stdout] | ------------------------------ associated items in this implementation [INFO] [stdout] 79 | pub fn new(text: T) -> Self [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn block(mut self, block: Block<'a>) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | pub const fn wrap(mut self, wrap: Wrap) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/ui/style.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Theme { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 41 | pub fn scroll_bar_pos(&self) -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn title(&self, focused: bool) -> Style { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn branch(&self, selected: bool, head: bool) -> Style { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn tags(&self, selected: bool) -> Style { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn file_tree_item(&self, is_folder: bool, selected: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | const fn apply_select(&self, style: Style, selected: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn option(&self, on: bool) -> Style { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn diff_hunk_marker(&self, selected: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn text_danger(&self) -> Style { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn line_break(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn commit_hash(&self, selected: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn commit_unhighlighted(&self) -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn log_marker(&self, selected: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | pub fn commit_time(&self, selected: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn commit_author(&self, selected: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn commit_hash_in_blame(&self, is_blamed_commit: bool) -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn push_gauge(&self) -> Style { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn attention_block() -> Style { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn get_syntax(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResetItem` is never constructed [INFO] [stdout] --> src/queue.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct ResetItem { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tabs_to_spaces` is never used [INFO] [stdout] --> src/string_utils.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn tabs_to_spaces(input: String) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_POPUP_MSG` is never used [INFO] [stdout] --> src/strings.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub static PUSH_POPUP_MSG: &str = "Push"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `FORCE_PUSH_POPUP_MSG` is never used [INFO] [stdout] --> src/strings.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 17 | pub static FORCE_PUSH_POPUP_MSG: &str = "Force Push"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PULL_POPUP_MSG` is never used [INFO] [stdout] --> src/strings.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub static PULL_POPUP_MSG: &str = "Pull"; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `FETCH_POPUP_MSG` is never used [INFO] [stdout] --> src/strings.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub static FETCH_POPUP_MSG: &str = "Fetch"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_POPUP_PROGRESS_NONE` is never used [INFO] [stdout] --> src/strings.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub static PUSH_POPUP_PROGRESS_NONE: &str = "preparing..."; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_POPUP_STATES_ADDING` is never used [INFO] [stdout] --> src/strings.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub static PUSH_POPUP_STATES_ADDING: &str = "adding objects (1/3)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_POPUP_STATES_DELTAS` is never used [INFO] [stdout] --> src/strings.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub static PUSH_POPUP_STATES_DELTAS: &str = "deltas (2/3)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_POPUP_STATES_PUSHING` is never used [INFO] [stdout] --> src/strings.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 23 | pub static PUSH_POPUP_STATES_PUSHING: &str = "pushing (3/3)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_POPUP_STATES_TRANSFER` is never used [INFO] [stdout] --> src/strings.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub static PUSH_POPUP_STATES_TRANSFER: &str = "transfer"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_POPUP_STATES_DONE` is never used [INFO] [stdout] --> src/strings.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub static PUSH_POPUP_STATES_DONE: &str = "done"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_TAGS_POPUP_MSG` is never used [INFO] [stdout] --> src/strings.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub static PUSH_TAGS_POPUP_MSG: &str = "Push Tags"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_TAGS_STATES_FETCHING` is never used [INFO] [stdout] --> src/strings.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub static PUSH_TAGS_STATES_FETCHING: &str = "fetching"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_TAGS_STATES_PUSHING` is never used [INFO] [stdout] --> src/strings.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub static PUSH_TAGS_STATES_PUSHING: &str = "pushing"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PUSH_TAGS_STATES_DONE` is never used [INFO] [stdout] --> src/strings.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub static PUSH_TAGS_STATES_DONE: &str = "done"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_TITLE_SUBMODULES` is never used [INFO] [stdout] --> src/strings.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub static POPUP_TITLE_SUBMODULES: &str = "Submodules"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_TITLE_REMOTES` is never used [INFO] [stdout] --> src/strings.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | pub static POPUP_TITLE_REMOTES: &str = "Remotes"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_SUBTITLE_REMOTES` is never used [INFO] [stdout] --> src/strings.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub static POPUP_SUBTITLE_REMOTES: &str = "Details"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_TITLE_FUZZY_FIND` is never used [INFO] [stdout] --> src/strings.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 35 | pub static POPUP_TITLE_FUZZY_FIND: &str = "Fuzzy Finder"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_TITLE_LOG_SEARCH` is never used [INFO] [stdout] --> src/strings.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub static POPUP_TITLE_LOG_SEARCH: &str = "Search"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_FAIL_COPY` is never used [INFO] [stdout] --> src/strings.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | pub static POPUP_FAIL_COPY: &str = "Failed to copy text"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_SUCCESS_COPY` is never used [INFO] [stdout] --> src/strings.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub static POPUP_SUCCESS_COPY: &str = "Copied Text"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `POPUP_COMMIT_SHA_INVALID` is never used [INFO] [stdout] --> src/strings.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | pub static POPUP_COMMIT_SHA_INVALID: &str = "Invalid commit sha"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `title_branches` is never used [INFO] [stdout] --> src/strings.rs:52:8 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn title_branches() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `title_tags` is never used [INFO] [stdout] --> src/strings.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn title_tags() -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `title_status` is never used [INFO] [stdout] --> src/strings.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn title_status(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `title_diff` is never used [INFO] [stdout] --> src/strings.rs:61:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn title_diff(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `title_index` is never used [INFO] [stdout] --> src/strings.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn title_index(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `msg_opening_editor` is never used [INFO] [stdout] --> src/strings.rs:100:8 [INFO] [stdout] | [INFO] [stdout] 100 | pub fn msg_opening_editor(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `msg_title_error` is never used [INFO] [stdout] --> src/strings.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn msg_title_error(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `msg_title_info` is never used [INFO] [stdout] --> src/strings.rs:106:8 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn msg_title_info(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_title` is never used [INFO] [stdout] --> src/strings.rs:109:8 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn commit_title() -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_reword_title` is never used [INFO] [stdout] --> src/strings.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn commit_reword_title() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_title_merge` is never used [INFO] [stdout] --> src/strings.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn commit_title_merge() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_title_revert` is never used [INFO] [stdout] --> src/strings.rs:119:8 [INFO] [stdout] | [INFO] [stdout] 119 | pub fn commit_title_revert() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_title_amend` is never used [INFO] [stdout] --> src/strings.rs:122:8 [INFO] [stdout] | [INFO] [stdout] 122 | pub fn commit_title_amend() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_msg` is never used [INFO] [stdout] --> src/strings.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 125 | pub fn commit_msg(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_first_line_warning` is never used [INFO] [stdout] --> src/strings.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | pub fn commit_first_line_warning(count: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `branch_name_invalid` is never used [INFO] [stdout] --> src/strings.rs:131:14 [INFO] [stdout] | [INFO] [stdout] 131 | pub const fn branch_name_invalid() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `commit_editor_msg` is never used [INFO] [stdout] --> src/strings.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 134 | pub fn commit_editor_msg(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stash_popup_title` is never used [INFO] [stdout] --> src/strings.rs:140:8 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn stash_popup_title(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stash_popup_msg` is never used [INFO] [stdout] --> src/strings.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | pub fn stash_popup_msg(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_reset` is never used [INFO] [stdout] --> src/strings.rs:146:8 [INFO] [stdout] | [INFO] [stdout] 146 | pub fn confirm_title_reset() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_undo_commit` is never used [INFO] [stdout] --> src/strings.rs:149:8 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn confirm_title_undo_commit() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_stashdrop` is never used [INFO] [stdout] --> src/strings.rs:152:8 [INFO] [stdout] | [INFO] [stdout] 152 | pub fn confirm_title_stashdrop( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_stashpop` is never used [INFO] [stdout] --> src/strings.rs:158:8 [INFO] [stdout] | [INFO] [stdout] 158 | pub fn confirm_title_stashpop( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_merge` is never used [INFO] [stdout] --> src/strings.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn confirm_title_merge( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_msg_merge` is never used [INFO] [stdout] --> src/strings.rs:173:8 [INFO] [stdout] | [INFO] [stdout] 173 | pub fn confirm_msg_merge( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_abortmerge` is never used [INFO] [stdout] --> src/strings.rs:185:8 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn confirm_title_abortmerge() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_abortrevert` is never used [INFO] [stdout] --> src/strings.rs:188:8 [INFO] [stdout] | [INFO] [stdout] 188 | pub fn confirm_title_abortrevert() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_msg_revertchanges` is never used [INFO] [stdout] --> src/strings.rs:191:8 [INFO] [stdout] | [INFO] [stdout] 191 | pub fn confirm_msg_revertchanges() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_title_abortrebase` is never used [INFO] [stdout] --> src/strings.rs:195:8 [INFO] [stdout] | [INFO] [stdout] 195 | pub fn confirm_title_abortrebase() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_msg_abortrebase` is never used [INFO] [stdout] --> src/strings.rs:198:8 [INFO] [stdout] | [INFO] [stdout] 198 | pub fn confirm_msg_abortrebase() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_msg_reset` is never used [INFO] [stdout] --> src/strings.rs:202:8 [INFO] [stdout] | [INFO] [stdout] 202 | pub fn confirm_msg_reset() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_msg_reset_lines` is never used [INFO] [stdout] --> src/strings.rs:205:8 [INFO] [stdout] | [INFO] [stdout] 205 | pub fn confirm_msg_reset_lines(lines: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `confirm_msg_undo_commit` is never used [INFO] [stdout] --> src/strings.rs:210:8 [INFO] [stdout] | [INFO] [stdout] 210 | pub fn confirm_msg_undo_commit() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `loading_text` is never used [INFO] [stdout] --> src/strings.rs:342:8 [INFO] [stdout] | [INFO] [stdout] 342 | pub fn loading_text(_key_config: &SharedKeyConfig) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ellipsis_trim_start` is never used [INFO] [stdout] --> src/strings.rs:426:8 [INFO] [stdout] | [INFO] [stdout] 426 | pub fn ellipsis_trim_start(s: &str, width: usize) -> Cow { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RARE_ACTION` is never used [INFO] [stdout] --> src/strings.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | pub const RARE_ACTION: i8 = 30; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NAV` is never used [INFO] [stdout] --> src/strings.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub const NAV: i8 = 20; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `AVERAGE` is never used [INFO] [stdout] --> src/strings.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub const AVERAGE: i8 = 10; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PRIORITY` is never used [INFO] [stdout] --> src/strings.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub const PRIORITY: i8 = 1; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHECKMARK` is never used [INFO] [stdout] --> src/strings.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 43 | pub const CHECKMARK: &str = "\u{2713}"; //✓ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SPACE` is never used [INFO] [stdout] --> src/strings.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub const SPACE: &str = "\u{02FD}"; //˽ [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EMPTY_SPACE` is never used [INFO] [stdout] --> src/strings.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | pub const EMPTY_SPACE: &str = " "; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FOLDER_ICON_COLLAPSED` is never used [INFO] [stdout] --> src/strings.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 46 | pub const FOLDER_ICON_COLLAPSED: &str = "\u{25b8}"; //▸ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FOLDER_ICON_EXPANDED` is never used [INFO] [stdout] --> src/strings.rs:47:12 [INFO] [stdout] | [INFO] [stdout] 47 | pub const FOLDER_ICON_EXPANDED: &str = "\u{25be}"; //▾ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `EMPTY_STR` is never used [INFO] [stdout] --> src/strings.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 48 | pub const EMPTY_STR: &str = ""; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ELLIPSIS` is never used [INFO] [stdout] --> src/strings.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub const ELLIPSIS: char = '\u{2026}'; // … [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_and_notify` is never used [INFO] [stdout] --> src/notify_mutex.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 12 | / impl NotifyableMutex [INFO] [stdout] 13 | | where [INFO] [stdout] 14 | | T: Send + Sync, [INFO] [stdout] | |___________________- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn set_and_notify(&self, value: T) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `set_cmds` and `toggle_more` are never used [INFO] [stdout] --> src/cmdbar.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 40 | impl CommandBar { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn set_cmds(&mut self, cmds: Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn toggle_more(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/strings.rs:426:31 [INFO] [stdout] | [INFO] [stdout] 426 | pub fn ellipsis_trim_start(s: &str, width: usize) -> Cow { [INFO] [stdout] | ^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 426 | pub fn ellipsis_trim_start(s: &str, width: usize) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.43s [INFO] running `Command { std: "docker" "inspect" "7739c41553bf50ec45d2882e093b18f64be6d90212f0e21fab1fc71a040c06b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7739c41553bf50ec45d2882e093b18f64be6d90212f0e21fab1fc71a040c06b3", kill_on_drop: false }` [INFO] [stdout] 7739c41553bf50ec45d2882e093b18f64be6d90212f0e21fab1fc71a040c06b3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 66a456acd1639077462ed2be28a4f785913dbd649bf7030f476682278551628b [INFO] running `Command { std: "docker" "start" "-a" "66a456acd1639077462ed2be28a4f785913dbd649bf7030f476682278551628b", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `InputState`, `ellipsis_trim_start`, and `order` [INFO] [stderr] --> src/app.rs:9:32 [INFO] [stderr] | [INFO] [stderr] 9 | input::{Input, InputEvent, InputState}, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 24 | strings::{self, ellipsis_trim_start, order}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crossbeam_channel::Sender` [INFO] [stderr] --> src/app.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | use crossbeam_channel::Sender; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Alignment` and `Paragraph` [INFO] [stderr] --> src/app.rs:43:14 [INFO] [stderr] | [INFO] [stderr] 43 | layout::{Alignment, Constraint, Direction, Layout, Margin, Rect}, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 44 | text::{Line, Span}, [INFO] [stderr] 45 | widgets::{Block, Borders, Paragraph, Tabs}, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `PathBuf` and `Path` [INFO] [stderr] --> src/app.rs:50:12 [INFO] [stderr] | [INFO] [stderr] 50 | path::{Path, PathBuf}, [INFO] [stderr] | ^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `File` [INFO] [stderr] --> src/args.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | fs::{self, File}, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `ghemoji` [INFO] [stderr] --> src/components/utils/mod.rs:5:7 [INFO] [stderr] | [INFO] [stderr] 5 | #[cfg(feature = "ghemoji")] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: remove the condition [INFO] [stderr] | [INFO] [stderr] = note: no expected values for `feature` [INFO] [stderr] = help: consider adding `ghemoji` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `CommandBlocking` [INFO] [stderr] --> src/components/revision_files.rs:7:42 [INFO] [stderr] | [INFO] [stderr] 7 | utils::scroll_vertical::VerticalScroll, CommandBlocking, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `order` [INFO] [stderr] --> src/components/revision_files.rs:15:18 [INFO] [stderr] | [INFO] [stderr] 15 | strings::{self, order, symbol}, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crossterm::event::Event` [INFO] [stderr] --> src/components/revision_files.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | use crossterm::event::Event; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Constraint`, `Direction`, and `Layout` [INFO] [stderr] --> src/components/revision_files.rs:31:11 [INFO] [stderr] | [INFO] [stderr] 31 | layout::{Constraint, Direction, Layout, Rect}, [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `fmt::Write` [INFO] [stderr] --> src/components/revision_files.rs:36:24 [INFO] [stderr] | [INFO] [stderr] 36 | use std::{borrow::Cow, fmt::Write}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `collections::BTreeSet` and `path::Path` [INFO] [stderr] --> src/components/revision_files.rs:37:11 [INFO] [stderr] | [INFO] [stderr] 37 | use std::{collections::BTreeSet, path::Path}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `unicode_truncate::UnicodeTruncateStr` [INFO] [stderr] --> src/components/revision_files.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | use unicode_truncate::UnicodeTruncateStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Terminal` and `backend::CrosstermBackend` [INFO] [stderr] --> src/components/revision_files.rs:395:5 [INFO] [stderr] | [INFO] [stderr] 395 | backend::CrosstermBackend, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 398 | Terminal, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::ui::style::Theme` [INFO] [stderr] --> src/components/mod.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::ui::style::Theme; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crossterm::event::Event` [INFO] [stderr] --> src/components/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crossterm::event::Event; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Alignment`, `Block`, `Borders`, `Paragraph`, `Span`, and `Text` [INFO] [stderr] --> src/components/mod.rs:10:11 [INFO] [stderr] | [INFO] [stderr] 10 | layout::{Alignment, Rect}, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 11 | text::{Span, Text}, [INFO] [stderr] | ^^^^ ^^^^ [INFO] [stderr] 12 | widgets::{Block, Borders, Paragraph}, [INFO] [stderr] | ^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `CommandText` [INFO] [stderr] --> src/components/mod.rs:18:32 [INFO] [stderr] | [INFO] [stderr] 18 | pub use command::{CommandInfo, CommandText}; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/tabs/files.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::path::Path` [INFO] [stderr] --> src/tabs/status.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::path::Path; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `draw_list` [INFO] [stderr] --> src/ui/mod.rs:11:22 [INFO] [stderr] | [INFO] [stderr] 11 | pub use scrolllist::{draw_list, draw_list_block}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ParagraphState`, `ScrollPos`, and `StatefulParagraph` [INFO] [stderr] --> src/ui/mod.rs:13:2 [INFO] [stderr] | [INFO] [stderr] 13 | ParagraphState, ScrollPos, StatefulParagraph, [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `cell::RefCell`, `collections::VecDeque`, `path::PathBuf`, and `rc::Rc` [INFO] [stderr] --> src/queue.rs:17:2 [INFO] [stderr] | [INFO] [stderr] 17 | cell::RefCell, collections::VecDeque, path::PathBuf, rc::Rc, [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anyhow` [INFO] [stderr] --> src/main.rs:15:14 [INFO] [stderr] | [INFO] [stderr] 15 | use anyhow::{anyhow, bail, Result}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `cell::RefCell`, `panic`, `path::Path`, and `process` [INFO] [stderr] --> src/main.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | cell::RefCell, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 18 | io::{self, Stdout}, [INFO] [stderr] 19 | panic, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 20 | path::Path, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 21 | process, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `unbounded` [INFO] [stderr] --> src/main.rs:35:38 [INFO] [stderr] | [INFO] [stderr] 35 | use crossbeam_channel::{never, tick, unbounded, Receiver, Select}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `unicode_width::UnicodeWidthStr` [INFO] [stderr] --> src/components/revision_files.rs:39:5 [INFO] [stderr] | [INFO] [stderr] 39 | use unicode_width::UnicodeWidthStr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `text_area` [INFO] [stderr] --> src/app.rs:1031:13 [INFO] [stderr] | [INFO] [stderr] 1031 | let text_area = left_right[1]; [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_area` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `quit_state` [INFO] [stderr] --> src/main.rs:103:13 [INFO] [stderr] | [INFO] [stderr] 103 | let quit_state = run_app( [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_quit_state` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `updater` [INFO] [stderr] --> src/main.rs:155:5 [INFO] [stderr] | [INFO] [stderr] 155 | updater: Updater, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_updater` [INFO] [stderr] [INFO] [stderr] warning: static `SPINNER_INTERVAL` is never used [INFO] [stderr] --> src/main.rs:40:8 [INFO] [stderr] | [INFO] [stderr] 40 | static SPINNER_INTERVAL: Duration = Duration::from_millis(80); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant `NotifyWatcher` is never constructed [INFO] [stderr] --> src/main.rs:74:5 [INFO] [stderr] | [INFO] [stderr] 72 | enum Updater { [INFO] [stderr] | ------- variant in this enum [INFO] [stderr] 73 | Ticker, [INFO] [stderr] 74 | NotifyWatcher, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Updater` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `requires_redraw` and `file_to_open` are never read [INFO] [stderr] --> src/app.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 64 | pub struct App { [INFO] [stderr] | --- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 112 | requires_redraw: Cell, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 113 | file_to_open: Option, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `workdir` and `notify_watcher` are never read [INFO] [stderr] --> src/args.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 12 | pub struct CliArgs { [INFO] [stderr] | ------- fields in this struct [INFO] [stderr] 13 | pub theme: PathBuf, [INFO] [stderr] 14 | pub workdir: PathBuf, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 15 | pub notify_watcher: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `desired_state` and `current_state` are never read [INFO] [stderr] --> src/input.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 33 | pub struct Input { [INFO] [stderr] | ----- fields in this struct [INFO] [stderr] 34 | desired_state: Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 35 | current_state: Arc, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Input` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `set_polling`, `shall_poll`, and `is_state_changing` are never used [INFO] [stderr] --> src/input.rs:74:12 [INFO] [stderr] | [INFO] [stderr] 40 | impl Input { [INFO] [stderr] | ---------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 74 | pub fn set_polling(&self, enabled: bool) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 78 | fn shall_poll(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 83 | pub fn is_state_changing(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `ScrollType` is never used [INFO] [stderr] --> src/components/mod.rs:21:10 [INFO] [stderr] | [INFO] [stderr] 21 | pub enum ScrollType { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ScrollType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: enum `HorizontalScrollType` is never used [INFO] [stderr] --> src/components/mod.rs:31:10 [INFO] [stderr] | [INFO] [stderr] 31 | pub enum HorizontalScrollType { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `HorizontalScrollType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: enum `Direction` is never used [INFO] [stderr] --> src/components/mod.rs:37:10 [INFO] [stderr] | [INFO] [stderr] 37 | pub enum Direction { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Direction` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: enum `CommandBlocking` is never used [INFO] [stderr] --> src/components/mod.rs:44:10 [INFO] [stderr] | [INFO] [stderr] 44 | pub enum CommandBlocking { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `focused`, `focus`, and `toggle_visible` are never used [INFO] [stderr] --> src/components/mod.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 55 | pub trait Component { [INFO] [stderr] | --------- methods in this trait [INFO] [stderr] ... [INFO] [stderr] 67 | fn focused(&self) -> bool { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 71 | fn focus(&mut self, _focus: bool) {} [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 84 | fn toggle_visible(&mut self) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `hide_help` are never used [INFO] [stderr] --> src/components/command.rs:18:15 [INFO] [stderr] | [INFO] [stderr] 16 | impl CommandText { [INFO] [stderr] | ---------------- associated items in this implementation [INFO] [stderr] 17 | /// [INFO] [stderr] 18 | pub const fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 31 | pub const fn hide_help(self) -> Self { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `quick_bar`, `available`, and `order` are never read [INFO] [stderr] --> src/components/command.rs:45:6 [INFO] [stderr] | [INFO] [stderr] 39 | pub struct CommandInfo { [INFO] [stderr] | ----------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 45 | pub quick_bar: bool, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 48 | pub available: bool, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 49 | /// used to order commands in quickbar [INFO] [stderr] 50 | pub order: i8, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `order`, `hidden`, and `show_in_quickbar` are never used [INFO] [stderr] --> src/components/command.rs:55:15 [INFO] [stderr] | [INFO] [stderr] 53 | impl CommandInfo { [INFO] [stderr] | ---------------- associated items in this implementation [INFO] [stderr] 54 | /// [INFO] [stderr] 55 | pub const fn new( [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 70 | pub const fn order(self, order: i8) -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 77 | pub const fn hidden(self) -> Self { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 84 | pub const fn show_in_quickbar(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `time_to_string` is never used [INFO] [stderr] --> src/components/utils/mod.rs:31:8 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn time_to_string(secs: i64, short: bool) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `string_width_align` is never used [INFO] [stderr] --> src/components/utils/mod.rs:50:8 [INFO] [stderr] | [INFO] [stderr] 50 | pub fn string_width_align(s: &str, width: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `find_truncate_point` is never used [INFO] [stderr] --> src/components/utils/mod.rs:68:4 [INFO] [stderr] | [INFO] [stderr] 68 | fn find_truncate_point(s: &str, chars: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `HorizontalScroll` is never constructed [INFO] [stderr] --> src/components/utils/scroll_horizontal.rs:8:12 [INFO] [stderr] | [INFO] [stderr] 8 | pub struct HorizontalScroll { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/components/utils/scroll_horizontal.rs:14:15 [INFO] [stderr] | [INFO] [stderr] 13 | impl HorizontalScroll { [INFO] [stderr] | --------------------- associated items in this implementation [INFO] [stderr] 14 | pub const fn new() -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 21 | pub fn get_right(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 25 | pub fn reset(&self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 29 | pub fn move_right( [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 52 | pub fn update( [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 77 | pub fn update_no_selection( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 85 | pub fn draw(&self, f: &mut Frame, r: Rect, theme: &SharedTheme) { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `reset`, `move_top`, `update`, `update_no_selection`, and `draw` are never used [INFO] [stderr] --> src/components/utils/scroll_vertical.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 13 | impl VerticalScroll { [INFO] [stderr] | ------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 25 | pub fn reset(&self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 29 | pub fn move_top(&self, move_type: ScrollType) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 78 | pub fn update( [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 102 | pub fn update_no_selection( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 110 | pub fn draw(&self, f: &mut Frame, r: Rect, theme: &SharedTheme) { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `File` is never constructed [INFO] [stderr] --> src/components/revision_files.rs:43:2 [INFO] [stderr] | [INFO] [stderr] 41 | enum Focus { [INFO] [stderr] | ----- variant in this enum [INFO] [stderr] 42 | Tree, [INFO] [stderr] 43 | File, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `theme`, `files`, `tree`, `scroll`, `focus`, and `key_config` are never read [INFO] [stderr] --> src/components/revision_files.rs:57:2 [INFO] [stderr] | [INFO] [stderr] 54 | pub struct RevisionFilesComponent { [INFO] [stderr] | ---------------------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 57 | theme: SharedTheme, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 58 | //TODO: store TreeFiles in `tree` [INFO] [stderr] 59 | files: Option>, [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 62 | tree: FileTree, [INFO] [stderr] | ^^^^ [INFO] [stderr] 63 | scroll: VerticalScroll, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 66 | focus: Focus, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 67 | key_config: SharedKeyConfig, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `tree_item_to_span`, `selected_file_path_with_prefix`, `selected_file_path`, and `draw_tree` are never used [INFO] [stderr] --> src/components/revision_files.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 70 | impl RevisionFilesComponent { [INFO] [stderr] | --------------------------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 165 | fn tree_item_to_span<'a>( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 251 | fn selected_file_path_with_prefix(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 257 | fn selected_file_path(&self) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 286 | fn draw_tree(&self, f: &mut Frame, area: Rect) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `tree_nav` is never used [INFO] [stderr] --> src/components/revision_files.rs:591:4 [INFO] [stderr] | [INFO] [stderr] 591 | fn tree_nav( [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `calc_scroll_top` is never used [INFO] [stderr] --> src/ui/mod.rs:20:14 [INFO] [stderr] | [INFO] [stderr] 20 | pub const fn calc_scroll_top( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function `new` is never used [INFO] [stderr] --> src/ui/mod.rs:42:15 [INFO] [stderr] | [INFO] [stderr] 41 | impl Size { [INFO] [stderr] | --------- associated function in this implementation [INFO] [stderr] 42 | pub const fn new(width: u16, height: u16) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function `centered_rect` is never used [INFO] [stderr] --> src/ui/mod.rs:58:8 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn centered_rect( [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `centered_rect_absolute` is never used [INFO] [stderr] --> src/ui/mod.rs:113:8 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn centered_rect_absolute( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `common_nav` is never used [INFO] [stderr] --> src/ui/mod.rs:127:8 [INFO] [stderr] | [INFO] [stderr] 127 | pub fn common_nav( [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `set_horizontal_offset` is never used [INFO] [stderr] --> src/ui/reflow.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 151 | impl<'a, 'b> LineTruncator<'a, 'b> { [INFO] [stderr] | ---------------------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 164 | pub fn set_horizontal_offset(&mut self, horizontal_offset: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `Orientation` is never used [INFO] [stderr] --> src/ui/scrollbar.rs:15:10 [INFO] [stderr] | [INFO] [stderr] 15 | pub enum Orientation { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Scrollbar` is never constructed [INFO] [stderr] --> src/ui/scrollbar.rs:21:8 [INFO] [stderr] | [INFO] [stderr] 21 | struct Scrollbar { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `render_vertical`, and `render_horizontal` are never used [INFO] [stderr] --> src/ui/scrollbar.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 29 | impl Scrollbar { [INFO] [stderr] | -------------- associated items in this implementation [INFO] [stderr] 30 | fn new(max: usize, pos: usize, orientation: Orientation) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 40 | fn render_vertical(self, area: Rect, buf: &mut Buffer) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 77 | fn render_horizontal(self, area: Rect, buf: &mut Buffer) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `draw_scrollbar` is never used [INFO] [stderr] --> src/ui/scrollbar.rs:131:8 [INFO] [stderr] | [INFO] [stderr] 131 | pub fn draw_scrollbar( [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ScrollableList` is never constructed [INFO] [stderr] --> src/ui/scrolllist.rs:12:8 [INFO] [stderr] | [INFO] [stderr] 12 | struct ScrollableList<'b, L, S> [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new` and `block` are never used [INFO] [stderr] --> src/ui/scrolllist.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 24 | / impl<'b, L, S> ScrollableList<'b, L, S> [INFO] [stderr] 25 | | where [INFO] [stderr] 26 | | S: Into>, [INFO] [stderr] 27 | | L: Iterator, [INFO] [stderr] | |__________________________- associated items in this implementation [INFO] [stderr] 28 | { [INFO] [stderr] 29 | fn new(items: L) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 37 | fn block(mut self, block: Block<'b>) -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `draw_list` is never used [INFO] [stderr] --> src/ui/scrolllist.rs:57:8 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn draw_list<'b, L, S>( [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `draw_list_block` is never used [INFO] [stderr] --> src/ui/scrolllist.rs:77:8 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn draw_list_block<'b, L, S>( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `get_line_offset` is never used [INFO] [stderr] --> src/ui/stateful_paragraph.rs:14:10 [INFO] [stderr] | [INFO] [stderr] 14 | const fn get_line_offset( [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `StatefulParagraph` is never constructed [INFO] [stderr] --> src/ui/stateful_paragraph.rs:31:12 [INFO] [stderr] | [INFO] [stderr] 31 | pub struct StatefulParagraph<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `StatefulParagraph` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `x` and `y` are never read [INFO] [stderr] --> src/ui/stateful_paragraph.rs:46:6 [INFO] [stderr] | [INFO] [stderr] 45 | pub struct ScrollPos { [INFO] [stderr] | --------- fields in this struct [INFO] [stderr] 46 | pub x: u16, [INFO] [stderr] | ^ [INFO] [stderr] 47 | pub y: u16, [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `ScrollPos` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `scroll`, `lines`, and `height` are never read [INFO] [stderr] --> src/ui/stateful_paragraph.rs:53:2 [INFO] [stderr] | [INFO] [stderr] 51 | pub struct ParagraphState { [INFO] [stderr] | -------------- fields in this struct [INFO] [stderr] 52 | /// Scroll [INFO] [stderr] 53 | scroll: ScrollPos, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 54 | /// after all wrapping this is the amount of lines [INFO] [stderr] 55 | lines: u16, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 56 | /// last visible height [INFO] [stdout] [INFO] [stderr] 57 | height: u16, [INFO] [stdout] running 26 tests [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ParagraphState` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `lines`, `height`, `scroll`, and `set_scroll` are never used [INFO] [stderr] --> src/ui/stateful_paragraph.rs:61:15 [INFO] [stderr] | [INFO] [stderr] 60 | impl ParagraphState { [INFO] [stderr] | ------------------- methods in this implementation [INFO] [stderr] 61 | pub const fn lines(self) -> u16 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 65 | pub const fn height(self) -> u16 { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 69 | pub const fn scroll(self) -> ScrollPos { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 73 | pub fn set_scroll(&mut self, scroll: ScrollPos) { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `block`, and `wrap` are never used [INFO] [stderr] --> src/ui/stateful_paragraph.rs:79:9 [INFO] [stderr] | [INFO] [stderr] 78 | impl<'a> StatefulParagraph<'a> { [INFO] [stderr] | ------------------------------ associated items in this implementation [INFO] [stderr] 79 | pub fn new(text: T) -> Self [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 92 | pub fn block(mut self, block: Block<'a>) -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 97 | pub const fn wrap(mut self, wrap: Wrap) -> Self { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: multiple associated items are never used [INFO] [stderr] --> src/ui/style.rs:41:12 [INFO] [stderr] | [INFO] [stderr] 40 | impl Theme { [INFO] [stderr] | ---------- associated items in this implementation [INFO] [stderr] 41 | pub fn scroll_bar_pos(&self) -> Style { [INFO] [stdout] test components::utils::scroll_horizontal::tests::test_scroll_no_scroll_to_right ... ok [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] test components::utils::scroll_vertical::tests::test_scroll_bottom_into_view ... ok [INFO] [stderr] ... [INFO] [stderr] 53 | pub fn title(&self, focused: bool) -> Style { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 63 | pub fn branch(&self, selected: bool, head: bool) -> Style { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 88 | pub fn tags(&self, selected: bool) -> Style { [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 108 | pub fn file_tree_item(&self, is_folder: bool, selected: bool) -> Style { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 118 | const fn apply_select(&self, style: Style, selected: bool) -> Style { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 130 | pub fn option(&self, on: bool) -> Style { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 138 | pub fn diff_hunk_marker(&self, selected: bool) -> Style { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 146 | pub fn text_danger(&self) -> Style { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stdout] test components::utils::scroll_horizontal::tests::test_scroll_zero_width ... ok [INFO] [stderr] 150 | pub fn line_break(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 167 | pub fn commit_hash(&self, selected: bool) -> Style { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 171 | pub fn commit_unhighlighted(&self) -> Style { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 175 | pub fn log_marker(&self, selected: bool) -> Style { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 185 | pub fn commit_time(&self, selected: bool) -> Style { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 189 | pub fn commit_author(&self, selected: bool) -> Style { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 193 | pub fn commit_hash_in_blame(&self, is_blamed_commit: bool) -> Style { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 203 | pub fn push_gauge(&self) -> Style { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 209 | pub fn attention_block() -> Style { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 236 | pub fn get_syntax(&self) -> String { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `ResetItem` is never constructed [INFO] [stderr] --> src/queue.rs:37:12 [INFO] [stderr] | [INFO] [stderr] 37 | pub struct ResetItem { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `tabs_to_spaces` is never used [INFO] [stderr] --> src/string_utils.rs:19:8 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn tabs_to_spaces(input: String) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] test components::utils::scroll_vertical::tests::test_scroll_no_scroll_to_top ... ok [INFO] [stderr] [INFO] [stdout] test components::utils::scroll_vertical::tests::test_scroll_top_into_view ... ok [INFO] [stderr] warning: static `PUSH_POPUP_MSG` is never used [INFO] [stdout] test components::utils::scroll_vertical::tests::test_scroll_zero_height ... ok [INFO] [stderr] --> src/strings.rs:16:12 [INFO] [stdout] test string_utils::test::test_trim ... ok [INFO] [stderr] | [INFO] [stdout] test ui::reflow::test::line_composer_char_plus_lots_of_spaces ... ok [INFO] [stderr] 16 | pub static PUSH_POPUP_MSG: &str = "Push"; [INFO] [stdout] test ui::reflow::test::line_composer_double_width_chars ... ok [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stdout] test ui::reflow::test::line_composer_leading_whitespace_removal ... ok [INFO] [stderr] [INFO] [stderr] warning: static `FORCE_PUSH_POPUP_MSG` is never used [INFO] [stderr] --> src/strings.rs:17:12 [INFO] [stderr] | [INFO] [stderr] 17 | pub static FORCE_PUSH_POPUP_MSG: &str = "Force Push"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `PULL_POPUP_MSG` is never used [INFO] [stderr] --> src/strings.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | pub static PULL_POPUP_MSG: &str = "Pull"; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `FETCH_POPUP_MSG` is never used [INFO] [stderr] --> src/strings.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 19 | pub static FETCH_POPUP_MSG: &str = "Fetch"; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `PUSH_POPUP_PROGRESS_NONE` is never used [INFO] [stderr] --> src/strings.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | pub static PUSH_POPUP_PROGRESS_NONE: &str = "preparing..."; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `PUSH_POPUP_STATES_ADDING` is never used [INFO] [stderr] --> src/strings.rs:21:12 [INFO] [stderr] | [INFO] [stderr] 21 | pub static PUSH_POPUP_STATES_ADDING: &str = "adding objects (1/3)"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `PUSH_POPUP_STATES_DELTAS` is never used [INFO] [stderr] --> src/strings.rs:22:12 [INFO] [stderr] | [INFO] [stderr] 22 | pub static PUSH_POPUP_STATES_DELTAS: &str = "deltas (2/3)"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `PUSH_POPUP_STATES_PUSHING` is never used [INFO] [stderr] --> src/strings.rs:23:12 [INFO] [stderr] | [INFO] [stderr] 23 | pub static PUSH_POPUP_STATES_PUSHING: &str = "pushing (3/3)"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `PUSH_POPUP_STATES_TRANSFER` is never used [INFO] [stderr] --> src/strings.rs:24:12 [INFO] [stderr] | [INFO] [stderr] 24 | pub static PUSH_POPUP_STATES_TRANSFER: &str = "transfer"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `PUSH_POPUP_STATES_DONE` is never used [INFO] [stderr] --> src/strings.rs:25:12 [INFO] [stderr] | [INFO] [stderr] 25 | pub static PUSH_POPUP_STATES_DONE: &str = "done"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `PUSH_TAGS_POPUP_MSG` is never used [INFO] [stderr] --> src/strings.rs:27:12 [INFO] [stderr] | [INFO] [stderr] 27 | pub static PUSH_TAGS_POPUP_MSG: &str = "Push Tags"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `PUSH_TAGS_STATES_FETCHING` is never used [INFO] [stderr] --> src/strings.rs:28:12 [INFO] [stderr] | [INFO] [stderr] 28 | pub static PUSH_TAGS_STATES_FETCHING: &str = "fetching"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `PUSH_TAGS_STATES_PUSHING` is never used [INFO] [stderr] --> src/strings.rs:29:12 [INFO] [stderr] | [INFO] [stderr] 29 | pub static PUSH_TAGS_STATES_PUSHING: &str = "pushing"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `PUSH_TAGS_STATES_DONE` is never used [INFO] [stderr] --> src/strings.rs:30:12 [INFO] [stderr] | [INFO] [stderr] 30 | pub static PUSH_TAGS_STATES_DONE: &str = "done"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `POPUP_TITLE_SUBMODULES` is never used [INFO] [stderr] --> src/strings.rs:32:12 [INFO] [stderr] | [INFO] [stderr] 32 | pub static POPUP_TITLE_SUBMODULES: &str = "Submodules"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `POPUP_TITLE_REMOTES` is never used [INFO] [stderr] --> src/strings.rs:33:12 [INFO] [stderr] | [INFO] [stderr] 33 | pub static POPUP_TITLE_REMOTES: &str = "Remotes"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `POPUP_SUBTITLE_REMOTES` is never used [INFO] [stderr] --> src/strings.rs:34:12 [INFO] [stderr] | [INFO] [stderr] 34 | pub static POPUP_SUBTITLE_REMOTES: &str = "Details"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `POPUP_TITLE_FUZZY_FIND` is never used [INFO] [stderr] --> src/strings.rs:35:12 [INFO] [stderr] | [INFO] [stderr] 35 | pub static POPUP_TITLE_FUZZY_FIND: &str = "Fuzzy Finder"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `POPUP_TITLE_LOG_SEARCH` is never used [INFO] [stderr] --> src/strings.rs:36:12 [INFO] [stderr] | [INFO] [stderr] 36 | pub static POPUP_TITLE_LOG_SEARCH: &str = "Search"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `POPUP_FAIL_COPY` is never used [INFO] [stderr] --> src/strings.rs:38:12 [INFO] [stderr] | [INFO] [stderr] 38 | pub static POPUP_FAIL_COPY: &str = "Failed to copy text"; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `POPUP_SUCCESS_COPY` is never used [INFO] [stderr] --> src/strings.rs:39:12 [INFO] [stderr] | [INFO] [stderr] 39 | pub static POPUP_SUCCESS_COPY: &str = "Copied Text"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: static `POPUP_COMMIT_SHA_INVALID` is never used [INFO] [stderr] --> src/strings.rs:40:12 [INFO] [stderr] | [INFO] [stderr] 40 | pub static POPUP_COMMIT_SHA_INVALID: &str = "Invalid commit sha"; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `title_branches` is never used [INFO] [stderr] --> src/strings.rs:52:8 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn title_branches() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `title_tags` is never used [INFO] [stderr] --> src/strings.rs:55:8 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn title_tags() -> String { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `title_status` is never used [INFO] [stderr] --> src/strings.rs:58:8 [INFO] [stderr] | [INFO] [stderr] 58 | pub fn title_status(_key_config: &SharedKeyConfig) -> String { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `title_diff` is never used [INFO] [stderr] --> src/strings.rs:61:8 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn title_diff(_key_config: &SharedKeyConfig) -> String { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `title_index` is never used [INFO] [stderr] --> src/strings.rs:64:8 [INFO] [stderr] | [INFO] [stderr] 64 | pub fn title_index(_key_config: &SharedKeyConfig) -> String { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `msg_opening_editor` is never used [INFO] [stderr] --> src/strings.rs:100:8 [INFO] [stderr] | [INFO] [stderr] 100 | pub fn msg_opening_editor(_key_config: &SharedKeyConfig) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `msg_title_error` is never used [INFO] [stderr] --> src/strings.rs:103:8 [INFO] [stderr] | [INFO] [stderr] 103 | pub fn msg_title_error(_key_config: &SharedKeyConfig) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `msg_title_info` is never used [INFO] [stderr] --> src/strings.rs:106:8 [INFO] [stderr] | [INFO] [stderr] 106 | pub fn msg_title_info(_key_config: &SharedKeyConfig) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `commit_title` is never used [INFO] [stderr] --> src/strings.rs:109:8 [INFO] [stderr] | [INFO] [stderr] 109 | pub fn commit_title() -> String { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `commit_reword_title` is never used [INFO] [stderr] --> src/strings.rs:112:8 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn commit_reword_title() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `commit_title_merge` is never used [INFO] [stderr] --> src/strings.rs:116:8 [INFO] [stderr] | [INFO] [stderr] 116 | pub fn commit_title_merge() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `commit_title_revert` is never used [INFO] [stderr] --> src/strings.rs:119:8 [INFO] [stderr] | [INFO] [stderr] 119 | pub fn commit_title_revert() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `commit_title_amend` is never used [INFO] [stderr] --> src/strings.rs:122:8 [INFO] [stderr] | [INFO] [stderr] 122 | pub fn commit_title_amend() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `commit_msg` is never used [INFO] [stderr] --> src/strings.rs:125:8 [INFO] [stderr] | [INFO] [stderr] 125 | pub fn commit_msg(_key_config: &SharedKeyConfig) -> String { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `commit_first_line_warning` is never used [INFO] [stderr] --> src/strings.rs:128:8 [INFO] [stderr] | [INFO] [stderr] 128 | pub fn commit_first_line_warning(count: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `branch_name_invalid` is never used [INFO] [stderr] --> src/strings.rs:131:14 [INFO] [stderr] | [INFO] [stderr] 131 | pub const fn branch_name_invalid() -> &'static str { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `commit_editor_msg` is never used [INFO] [stderr] --> src/strings.rs:134:8 [INFO] [stderr] | [INFO] [stderr] 134 | pub fn commit_editor_msg(_key_config: &SharedKeyConfig) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `stash_popup_title` is never used [INFO] [stderr] --> src/strings.rs:140:8 [INFO] [stderr] | [INFO] [stderr] 140 | pub fn stash_popup_title(_key_config: &SharedKeyConfig) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `stash_popup_msg` is never used [INFO] [stderr] --> src/strings.rs:143:8 [INFO] [stderr] | [INFO] [stderr] 143 | pub fn stash_popup_msg(_key_config: &SharedKeyConfig) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `confirm_title_reset` is never used [INFO] [stderr] --> src/strings.rs:146:8 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn confirm_title_reset() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `confirm_title_undo_commit` is never used [INFO] [stderr] --> src/strings.rs:149:8 [INFO] [stderr] | [INFO] [stderr] 149 | pub fn confirm_title_undo_commit() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `confirm_title_stashdrop` is never used [INFO] [stderr] --> src/strings.rs:152:8 [INFO] [stderr] | [INFO] [stderr] 152 | pub fn confirm_title_stashdrop( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `confirm_title_stashpop` is never used [INFO] [stderr] --> src/strings.rs:158:8 [INFO] [stderr] | [INFO] [stderr] 158 | pub fn confirm_title_stashpop( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `confirm_title_merge` is never used [INFO] [stderr] --> src/strings.rs:163:8 [INFO] [stderr] | [INFO] [stderr] 163 | pub fn confirm_title_merge( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `confirm_msg_merge` is never used [INFO] [stderr] --> src/strings.rs:173:8 [INFO] [stderr] | [INFO] [stderr] 173 | pub fn confirm_msg_merge( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `confirm_title_abortmerge` is never used [INFO] [stderr] --> src/strings.rs:185:8 [INFO] [stderr] | [INFO] [stderr] 185 | pub fn confirm_title_abortmerge() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `confirm_title_abortrevert` is never used [INFO] [stderr] --> src/strings.rs:188:8 [INFO] [stderr] | [INFO] [stderr] 188 | pub fn confirm_title_abortrevert() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `confirm_msg_revertchanges` is never used [INFO] [stderr] --> src/strings.rs:191:8 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn confirm_msg_revertchanges() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `confirm_title_abortrebase` is never used [INFO] [stderr] --> src/strings.rs:195:8 [INFO] [stderr] | [INFO] [stderr] 195 | pub fn confirm_title_abortrebase() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `confirm_msg_abortrebase` is never used [INFO] [stderr] --> src/strings.rs:198:8 [INFO] [stderr] | [INFO] [stderr] 198 | pub fn confirm_msg_abortrebase() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `confirm_msg_reset` is never used [INFO] [stderr] --> src/strings.rs:202:8 [INFO] [stderr] | [INFO] [stderr] 202 | pub fn confirm_msg_reset() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `confirm_msg_reset_lines` is never used [INFO] [stderr] --> src/strings.rs:205:8 [INFO] [stderr] | [INFO] [stderr] 205 | pub fn confirm_msg_reset_lines(lines: usize) -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `confirm_msg_undo_commit` is never used [INFO] [stderr] --> src/strings.rs:210:8 [INFO] [stderr] | [INFO] [stderr] 210 | pub fn confirm_msg_undo_commit() -> String { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `loading_text` is never used [INFO] [stderr] --> src/strings.rs:342:8 [INFO] [stderr] | [INFO] [stderr] 342 | pub fn loading_text(_key_config: &SharedKeyConfig) -> String { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `ellipsis_trim_start` is never used [INFO] [stderr] --> src/strings.rs:426:8 [INFO] [stderr] | [INFO] [stderr] 426 | pub fn ellipsis_trim_start(s: &str, width: usize) -> Cow { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `RARE_ACTION` is never used [INFO] [stderr] --> src/strings.rs:10:12 [INFO] [stderr] | [INFO] [stderr] 10 | pub const RARE_ACTION: i8 = 30; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `NAV` is never used [INFO] [stderr] --> src/strings.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | pub const NAV: i8 = 20; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `AVERAGE` is never used [INFO] [stderr] --> src/strings.rs:12:12 [INFO] [stderr] | [INFO] [stderr] 12 | pub const AVERAGE: i8 = 10; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `PRIORITY` is never used [INFO] [stderr] --> src/strings.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 13 | pub const PRIORITY: i8 = 1; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `CHECKMARK` is never used [INFO] [stderr] --> src/strings.rs:43:12 [INFO] [stderr] | [INFO] [stderr] 43 | pub const CHECKMARK: &str = "\u{2713}"; //✓ [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `SPACE` is never used [INFO] [stderr] --> src/strings.rs:44:12 [INFO] [stderr] | [INFO] [stderr] 44 | pub const SPACE: &str = "\u{02FD}"; //˽ [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `EMPTY_SPACE` is never used [INFO] [stderr] --> src/strings.rs:45:12 [INFO] [stderr] | [INFO] [stderr] 45 | pub const EMPTY_SPACE: &str = " "; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `FOLDER_ICON_COLLAPSED` is never used [INFO] [stderr] --> src/strings.rs:46:12 [INFO] [stderr] | [INFO] [stderr] 46 | pub const FOLDER_ICON_COLLAPSED: &str = "\u{25b8}"; //▸ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `FOLDER_ICON_EXPANDED` is never used [INFO] [stderr] --> src/strings.rs:47:12 [INFO] [stderr] | [INFO] [stderr] 47 | pub const FOLDER_ICON_EXPANDED: &str = "\u{25be}"; //▾ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `EMPTY_STR` is never used [INFO] [stderr] --> src/strings.rs:48:12 [INFO] [stderr] | [INFO] [stderr] 48 | pub const EMPTY_STR: &str = ""; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant `ELLIPSIS` is never used [INFO] [stderr] --> src/strings.rs:49:12 [INFO] [stderr] | [INFO] [stderr] 49 | pub const ELLIPSIS: char = '\u{2026}'; // … [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `set_and_notify` is never used [INFO] [stderr] --> src/notify_mutex.rs:36:9 [INFO] [stderr] | [INFO] [stderr] 12 | / impl NotifyableMutex [INFO] [stderr] 13 | | where [INFO] [stderr] 14 | | T: Send + Sync, [INFO] [stderr] | |___________________- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 36 | pub fn set_and_notify(&self, value: T) { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `set_cmds` and `toggle_more` are never used [INFO] [stderr] --> src/cmdbar.rs:118:9 [INFO] [stderr] | [INFO] [stderr] 40 | impl CommandBar { [INFO] [stderr] | --------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 118 | pub fn set_cmds(&mut self, cmds: Vec) { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 135 | pub fn toggle_more(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/strings.rs:426:31 [INFO] [stderr] | [INFO] [stderr] 426 | pub fn ellipsis_trim_start(s: &str, width: usize) -> Cow { [INFO] [stderr] | ^^^^ -------- the lifetime gets resolved as `'_` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stderr] | [INFO] [stderr] 426 | pub fn ellipsis_trim_start(s: &str, width: usize) -> Cow<'_, str> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `lazyllm` (bin "lazyllm" test) generated 148 warnings (run `cargo fix --bin "lazyllm" --tests` to apply 26 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/lazyllm-c4b63a2103ee9518) [INFO] [stdout] test ui::reflow::test::line_composer_long_word ... ok [INFO] [stdout] test ui::reflow::test::line_composer_word_wrapper_double_width_chars_mixed_with_spaces ... ok [INFO] [stdout] test ui::reflow::test::line_composer_word_wrapper_nbsp ... ok [INFO] [stdout] test ui::reflow::test::line_composer_word_wrapper_preserve_indentation ... ok [INFO] [stdout] test ui::reflow::test::line_composer_word_wrapper_preserve_indentation_with_wrap ... ok [INFO] [stdout] test ui::reflow::test::line_composer_max_line_width_of_1 ... ok [INFO] [stdout] test ui::reflow::test::line_composer_lots_of_spaces ... ok [INFO] [stdout] test ui::reflow::test::line_composer_max_line_width_of_1_double_width_characters ... ok [INFO] [stdout] test ui::reflow::test::line_composer_long_sentence ... ok [INFO] [stdout] test ui::reflow::test::line_composer_word_wrapper_preserve_indentation_lots_of_whitespace ... ok [INFO] [stdout] test ui::reflow::test::line_composer_zero_width ... ok [INFO] [stdout] test ui::test::test_small_rect_in_rect ... ok [INFO] [stdout] test ui::test::test_small_rect_in_rect2 ... ok [INFO] [stdout] test ui::reflow::test::line_composer_short_lines ... ok [INFO] [stdout] test ui::reflow::test::line_composer_one_line ... ok [INFO] [stdout] test ui::reflow::test::line_composer_word_wrapper_mixed_length ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "66a456acd1639077462ed2be28a4f785913dbd649bf7030f476682278551628b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "66a456acd1639077462ed2be28a4f785913dbd649bf7030f476682278551628b", kill_on_drop: false }` [INFO] [stdout] 66a456acd1639077462ed2be28a4f785913dbd649bf7030f476682278551628b