[INFO] cloning repository https://github.com/quangdang46/super_lazygit_rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/quangdang46/super_lazygit_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquangdang46%2Fsuper_lazygit_rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquangdang46%2Fsuper_lazygit_rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 14d255976a94725a467bdf25b86844396e228141
[INFO] testing quangdang46/super_lazygit_rust against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fquangdang46%2Fsuper_lazygit_rust" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/quangdang46/super_lazygit_rust
[INFO] finished tweaking git repo https://github.com/quangdang46/super_lazygit_rust
[INFO] tweaked toml for git repo https://github.com/quangdang46/super_lazygit_rust written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/quangdang46/super_lazygit_rust on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/quangdang46/super_lazygit_rust 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: /workspace/builds/worker-1-tc2/source/crates/app/Cargo.toml: file `/workspace/builds/worker-1-tc2/source/crates/app/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bin` target `slg`
[INFO] [stderr]   * `bin` target `super-lazygit`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5cfe18f2a6cdb8fe63799b34768108c141535846246789f618e34d3955350c6e
[INFO] running `Command { std: "docker" "start" "-a" "5cfe18f2a6cdb8fe63799b34768108c141535846246789f618e34d3955350c6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5cfe18f2a6cdb8fe63799b34768108c141535846246789f618e34d3955350c6e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5cfe18f2a6cdb8fe63799b34768108c141535846246789f618e34d3955350c6e", kill_on_drop: false }`
[INFO] [stdout] 5cfe18f2a6cdb8fe63799b34768108c141535846246789f618e34d3955350c6e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cdfeeb9414e52219fed293553091528fed6e773c13b27ec28a5ec7ed047f2582
[INFO] running `Command { std: "docker" "start" "-a" "cdfeeb9414e52219fed293553091528fed6e773c13b27ec28a5ec7ed047f2582", kill_on_drop: false }`
[INFO] [stderr] warning: /opt/rustwide/workdir/crates/app/Cargo.toml: file `/opt/rustwide/workdir/crates/app/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `bin` target `slg`
[INFO] [stderr]   * `bin` target `super-lazygit`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling unicode-segmentation v1.13.2
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling fuzzy-matcher v0.3.7
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling super-lazygit-core v0.1.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling super-lazygit-config v0.1.0 (/opt/rustwide/workdir/crates/config)
[INFO] [stderr]    Compiling super-lazygit-git v0.1.0 (/opt/rustwide/workdir/crates/git)
[INFO] [stderr]    Compiling super-lazygit-workspace v0.1.0 (/opt/rustwide/workdir/crates/workspace)
[INFO] [stderr]    Compiling super-lazygit-tui v0.1.0 (/opt/rustwide/workdir/crates/tui)
[INFO] [stderr]    Compiling super-lazygit-test-support v0.1.0 (/opt/rustwide/workdir/crates/test-support)
[INFO] [stdout] warning: unused import: `ratatui::style::Style`
[INFO] [stdout]  --> crates/tui/src/presentation/submodules.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ratatui::style::Style;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `env` is never read
[INFO] [stdout]    --> crates/test-support/src/integration_test.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub struct TestShell {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 206 |     pwd: PathBuf,
[INFO] [stdout] 207 |     env: Vec<(String, String)>,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UiAttachHooks` is never constructed
[INFO] [stdout]   --> crates/tui/src/lib.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct UiAttachHooks {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `attach_hooks` is never used
[INFO] [stdout]    --> crates/tui/src/lib.rs:334:19
[INFO] [stdout]     |
[INFO] [stdout] 302 | impl TuiApp {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 334 |     pub(crate) fn attach_hooks(&mut self, hooks: UiAttachHooks) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling super-lazygit-app v0.1.0 (/opt/rustwide/workdir/crates/app)
[INFO] [stdout] warning: unused imports: `GitCmdObjBuilder` and `SharedGitCmdObjBuilder`
[INFO] [stdout]  --> crates/app/src/oscommands/mod.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use git_cmd_obj_builder::{GitCmdObjBuilder, SharedGitCmdObjBuilder};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GitCmdRunner` and `ThreadSafeGitCmdRunner`
[INFO] [stdout]   --> crates/app/src/oscommands/mod.rs:10:44
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use git_cmd_obj_runner::{GitCmdLogger, GitCmdRunner, ThreadSafeGitCmdRunner};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GitCmdObjBuilder` and `SharedGitCmdObjBuilder`
[INFO] [stdout]  --> crates/app/src/oscommands/mod.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use git_cmd_obj_builder::{GitCmdObjBuilder, SharedGitCmdObjBuilder};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GitCmdRunner` and `ThreadSafeGitCmdRunner`
[INFO] [stdout]   --> crates/app/src/oscommands/mod.rs:10:44
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use git_cmd_obj_runner::{GitCmdLogger, GitCmdRunner, ThreadSafeGitCmdRunner};
[INFO] [stdout]    |                                            ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::context::ISearchableContext`
[INFO] [stdout]  --> crates/app/src/context/search_trait.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::types::context::ISearchableContext;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::types::context::ISearchableContext`
[INFO] [stdout]  --> crates/app/src/context/search_trait.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::types::context::ISearchableContext;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `State` is never constructed
[INFO] [stdout]  --> crates/app/src/async_handler.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct State {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AsyncHandler` is never constructed
[INFO] [stdout]  --> crates/app/src/async_handler.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct AsyncHandler {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `on_reject`, and `do_now` are never used
[INFO] [stdout]   --> crates/app/src/async_handler.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl AsyncHandler {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new<F>(on_worker: F) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn on_reject<F>(&self, f: F)
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn do_now<R, F>(&self, f: F)
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContextTree` is never constructed
[INFO] [stdout]  --> crates/app/src/context/setup.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct ContextTree {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/context/setup.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl ContextTree {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 42 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimpleContext` is never constructed
[INFO] [stdout]   --> crates/app/src/context/setup.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct SimpleContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl SimpleContext {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 100 |     pub fn new(key: &str, focusable: bool) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkingTreeContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct WorkingTreeContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | impl WorkingTreeContext {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] 113 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubmodulesContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct SubmodulesContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl SubmodulesContext {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 125 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct MenuContext {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:137:12
[INFO] [stdout]     |
[INFO] [stdout] 136 | impl MenuContext {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 137 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RemotesContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct RemotesContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl RemotesContext {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 149 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorktreesContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:156:12
[INFO] [stdout]     |
[INFO] [stdout] 156 | pub struct WorktreesContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl WorktreesContext {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 161 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RemoteBranchesContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub struct RemoteBranchesContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl RemoteBranchesContext {
[INFO] [stdout]     | -------------------------- associated function in this implementation
[INFO] [stdout] 173 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalCommitsContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:180:12
[INFO] [stdout]     |
[INFO] [stdout] 180 | pub struct LocalCommitsContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl LocalCommitsContext {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 185 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitFilesContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub struct CommitFilesContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 196 | impl CommitFilesContext {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] 197 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReflogCommitsContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct ReflogCommitsContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 208 | impl ReflogCommitsContext {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 209 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubCommitsContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub struct SubCommitsContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 220 | impl SubCommitsContext {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 221 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BranchesContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct BranchesContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:233:12
[INFO] [stdout]     |
[INFO] [stdout] 232 | impl BranchesContext {
[INFO] [stdout]     | -------------------- associated function in this implementation
[INFO] [stdout] 233 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TagsContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct TagsContext {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:245:12
[INFO] [stdout]     |
[INFO] [stdout] 244 | impl TagsContext {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 245 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StashContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:252:12
[INFO] [stdout]     |
[INFO] [stdout] 252 | pub struct StashContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:257:12
[INFO] [stdout]     |
[INFO] [stdout] 256 | impl StashContext {
[INFO] [stdout]     | ----------------- associated function in this implementation
[INFO] [stdout] 257 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuggestionsContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct SuggestionsContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | impl SuggestionsContext {
[INFO] [stdout]     | ----------------------- associated function in this implementation
[INFO] [stdout] 269 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MainContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub struct MainContext {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 281 | impl MainContext {
[INFO] [stdout]     | ---------------- associated function in this implementation
[INFO] [stdout] 282 |     pub fn new(window_name: &str, key: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchExplorerContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:290:12
[INFO] [stdout]     |
[INFO] [stdout] 290 | pub struct PatchExplorerContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 294 | impl PatchExplorerContext {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 295 |     pub fn new(key: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeConflictsContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:302:12
[INFO] [stdout]     |
[INFO] [stdout] 302 | pub struct MergeConflictsContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 306 | impl MergeConflictsContext {
[INFO] [stdout]     | -------------------------- associated function in this implementation
[INFO] [stdout] 307 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfirmationContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:314:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub struct ConfirmationContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:319:12
[INFO] [stdout]     |
[INFO] [stdout] 318 | impl ConfirmationContext {
[INFO] [stdout]     | ------------------------ associated function in this implementation
[INFO] [stdout] 319 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PromptContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:326:12
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub struct PromptContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:331:12
[INFO] [stdout]     |
[INFO] [stdout] 330 | impl PromptContext {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 331 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitMessageContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:338:12
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub struct CommitMessageContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:343:12
[INFO] [stdout]     |
[INFO] [stdout] 342 | impl CommitMessageContext {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 343 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisplayContext` is never constructed
[INFO] [stdout]    --> crates/app/src/context/setup.rs:350:12
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub struct DisplayContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/context/setup.rs:356:12
[INFO] [stdout]     |
[INFO] [stdout] 355 | impl DisplayContext {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 356 |     pub fn new(key: &str, window_name: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BranchesContext` is never constructed
[INFO] [stdout]  --> crates/app/src/context/branches_context.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct BranchesContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_selected_ref`, `get_diff_terminals`, `ref_for_adjusting_line_number_in_diff`, and `show_branch_heads_in_sub_commits` are never used
[INFO] [stdout]   --> crates/app/src/context/branches_context.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl BranchesContext {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn get_selected_ref(&self) -> Option<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn get_diff_terminals(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn ref_for_adjusting_line_number_in_diff(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn show_branch_heads_in_sub_commits(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitFilesContext` is never constructed
[INFO] [stdout]  --> crates/app/src/context/commit_files_context.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct CommitFilesContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_diff_terminals`, `ref_for_adjusting_line_number_in_diff`, `get_from_and_to_for_diff`, `re_init`, and `title` are never used
[INFO] [stdout]   --> crates/app/src/context/commit_files_context.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl CommitFilesContext {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn get_diff_terminals(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn ref_for_adjusting_line_number_in_diff(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_from_and_to_for_diff(&self) -> (String, String) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn re_init(&mut self, _ref: &str, _ref_range: Option<(String, String)>) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn title(&self) -> &str {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfirmationContextState` is never constructed
[INFO] [stdout]  --> crates/app/src/context/confirmation_context.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ConfirmationContextState {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfirmationContext` is never constructed
[INFO] [stdout]   --> crates/app/src/context/confirmation_context.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ConfirmationContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_state`, `get_state`, `on_confirm`, and `on_close` are never used
[INFO] [stdout]   --> crates/app/src/context/confirmation_context.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl ConfirmationContext {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(c: ContextCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn set_state(&mut self, on_confirm: Option<Box<dyn Fn() -> Result<(), String> + Send>>, on_close: Option<Box<dyn Fn() -> Res...
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn get_state(&self) -> &ConfirmationContextState {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn on_confirm(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn on_close(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FilteredListViewModel` is never constructed
[INFO] [stdout]  --> crates/app/src/context/filtered_list_view_model.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct FilteredListViewModel {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/context/filtered_list_view_model.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl FilteredListViewModel {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout] 15 |     /// Create a new filtered list view model
[INFO] [stdout] 16 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn clear_filter(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn filter_prefix(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn get_selected_line_idx(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn set_selection(&mut self, value: usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FilteredList` is never constructed
[INFO] [stdout]   --> crates/app/src/context/filtered_list_view_model.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct FilteredList {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `clear_filter`, `is_filtering`, `unfiltered_len`, and `unfiltered_index` are never used
[INFO] [stdout]   --> crates/app/src/context/filtered_list_view_model.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl FilteredList {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 69 |     /// Create a new filtered list
[INFO] [stdout] 70 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn clear_filter(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn is_filtering(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn unfiltered_len(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn unfiltered_index(&self, filtered_index: usize) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchHistory` is never constructed
[INFO] [stdout]  --> crates/app/src/context/history_trait.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct SearchHistory {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_search_history` are never used
[INFO] [stdout]   --> crates/app/src/context/history_trait.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl SearchHistory {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn get_search_history(&self) -> &HistoryBuffer<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListContextTrait` is never constructed
[INFO] [stdout]  --> crates/app/src/context/list_context_trait.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ListContextTrait {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/context/list_context_trait.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl ListContextTrait {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn focus_line(&mut self, _scroll_into_view: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn refresh_viewport(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn format_list_footer(selected_line_idx: usize, length: usize) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn set_footer(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn range_select_enabled(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn render_only_visible_lines(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn set_need_rerender_visible_lines(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn total_content_height(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn index_for_goto_bottom(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn is_item_visible(&self, _urn: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListViewModel` is never constructed
[INFO] [stdout]  --> crates/app/src/context/list_view_model.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ListViewModel {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListCursor` is never constructed
[INFO] [stdout]  --> crates/app/src/context/list_view_model.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | struct ListCursor {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RangeSelectMode` is never used
[INFO] [stdout]   --> crates/app/src/context/list_view_model.rs:16:6
[INFO] [stdout]    |
[INFO] [stdout] 16 | enum RangeSelectMode {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_selected_line_idx`, `set_selection`, `get_selection_range`, `len`, and `is_empty` are never used
[INFO] [stdout]   --> crates/app/src/context/list_view_model.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl ListViewModel {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 23 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn get_selected_line_idx(&self) -> isize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn set_selection(&mut self, value: isize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn get_selection_range(&self) -> (isize, isize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `clamp_value`, `get_selection_range`, and `set_selection` are never used
[INFO] [stdout]   --> crates/app/src/context/list_view_model.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl ListCursor {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 56 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn clamp_value(&self, value: isize) -> isize {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn get_selection_range(&self) -> (isize, isize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     fn set_selection(&mut self, value: isize) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalCommitsContext` is never constructed
[INFO] [stdout]  --> crates/app/src/context/local_commits_context.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct LocalCommitsContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/context/local_commits_context.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl LocalCommitsContext {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn can_rebase(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn get_selected_ref(&self) -> Option<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn get_selected_ref_range_for_diff_files(&self) -> Option<(String, String)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn get_selected_commit_hash(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn select_commit_by_hash(&mut self, hash: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn get_diff_terminals(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn ref_for_adjusting_line_number_in_diff(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn index_for_goto_bottom(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuViewModel` is never constructed
[INFO] [stdout]  --> crates/app/src/context/menu_context.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct MenuViewModel {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuContext` is never constructed
[INFO] [stdout]   --> crates/app/src/context/menu_context.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct MenuContext {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/context/menu_context.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl MenuContext {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 22 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/context/menu_context.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl MenuViewModel {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 31 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn set_menu_items(&mut self, items: Vec<MenuItem>, column_alignment: Vec<i32>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn get_prompt(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn set_prompt(&mut self, prompt: String) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn get_prompt_lines(&self) -> &[String] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn set_prompt_lines(&mut self, prompt_lines: Vec<String>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn set_allow_filtering_keybindings(&mut self, allow: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn set_keybindings_take_precedence(&mut self, value: bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn range_select_enabled(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConflictsState` is never constructed
[INFO] [stdout]  --> crates/app/src/context/merge_conflicts_context.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ConflictsState {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConflictsViewModel` is never constructed
[INFO] [stdout]   --> crates/app/src/context/merge_conflicts_context.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ConflictsViewModel {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/context/merge_conflicts_context.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ConflictsViewModel {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 20 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeConflictsContext` is never constructed
[INFO] [stdout]   --> crates/app/src/context/merge_conflicts_context.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct MergeConflictsContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/app/src/context/merge_conflicts_context.rs:42:12
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl MergeConflictsContext {
[INFO] [stdout]     | -------------------------- associated items in this implementation
[INFO] [stdout]  42 |     pub fn new(c: ContextCommon) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn get_state(&self) -> Option<&ConflictsState> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn set_state(&mut self, state: ConflictsState) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn get_mutex(&self) -> &Mutex<()> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn set_user_scrolling(&mut self, is_scrolling: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn is_user_scrolling(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn render_and_focus(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn render(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn get_content_to_render(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn focus_selection(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn set_selected_line_range(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn get_origin_y(&self) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchExplorerContext` is never constructed
[INFO] [stdout]  --> crates/app/src/context/patch_explorer_context.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct PatchExplorerContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchExplorerState` is never constructed
[INFO] [stdout]   --> crates/app/src/context/patch_explorer_context.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct PatchExplorerState;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewTrait` is never constructed
[INFO] [stdout]   --> crates/app/src/context/patch_explorer_context.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ViewTrait;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContextCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/context/patch_explorer_context.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ContextCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mutex` is never constructed
[INFO] [stdout]   --> crates/app/src/context/patch_explorer_context.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Mutex;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_state`, `set_state`, `get_view_trait`, `get_included_line_indices`, and `mutex` are never used
[INFO] [stdout]   --> crates/app/src/context/patch_explorer_context.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl PatchExplorerContext {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 36 |     pub fn new(key: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn get_state(&self) -> &PatchExplorerState {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn set_state(&mut self, state: PatchExplorerState) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn get_view_trait(&self) -> &ViewTrait {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn get_included_line_indices(&self) -> Vec<i32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn mutex(&self) -> &Mutex {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReflogCommitsContext` is never constructed
[INFO] [stdout]  --> crates/app/src/context/reflog_commits_context.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ReflogCommitsContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `can_rebase`, and `show_branch_heads_in_sub_commits` are never used
[INFO] [stdout]   --> crates/app/src/context/reflog_commits_context.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ReflogCommitsContext {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn can_rebase(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn show_branch_heads_in_sub_commits(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RemoteBranchesContext` is never constructed
[INFO] [stdout]  --> crates/app/src/context/remote_branches_context.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct RemoteBranchesContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `show_branch_heads_in_sub_commits` are never used
[INFO] [stdout]   --> crates/app/src/context/remote_branches_context.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl RemoteBranchesContext {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn show_branch_heads_in_sub_commits(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RemotesContext` is never constructed
[INFO] [stdout]  --> crates/app/src/context/remotes_context.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct RemotesContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/context/remotes_context.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl RemotesContext {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchTrait` is never constructed
[INFO] [stdout]  --> crates/app/src/context/search_trait.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct SearchTrait {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContextCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/context/search_trait.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ContextCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/context/search_trait.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl SearchTrait {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(c: ContextCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn get_search_string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn set_search_string(&mut self, search_string: String) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn clear_search_string(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn is_searchable_context(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |
[INFO] [stdout] 38 |     pub fn render_search_status(&self, index: usize, total: usize) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn is_searching(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SimpleContext` is never constructed
[INFO] [stdout]  --> crates/app/src/context/simple_context.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct SimpleContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/context/simple_context.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl SimpleContext {
[INFO] [stdout]    | ------------------ associated function in this implementation
[INFO] [stdout] 25 |     pub fn new(key: &str, focusable: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StashContext` is never constructed
[INFO] [stdout]  --> crates/app/src/context/stash_context.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct StashContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `can_rebase` are never used
[INFO] [stdout]   --> crates/app/src/context/stash_context.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl StashContext {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn can_rebase(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubCommitsContext` is never constructed
[INFO] [stdout]  --> crates/app/src/context/sub_commits_context.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct SubCommitsContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `can_rebase`, and `show_branch_heads_in_sub_commits` are never used
[INFO] [stdout]   --> crates/app/src/context/sub_commits_context.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl SubCommitsContext {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn can_rebase(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn show_branch_heads_in_sub_commits(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubmodulesContext` is never constructed
[INFO] [stdout]  --> crates/app/src/context/submodules_context.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct SubmodulesContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/context/submodules_context.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl SubmodulesContext {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuggestionsContext` is never constructed
[INFO] [stdout]  --> crates/app/src/context/suggestions_context.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct SuggestionsContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuggestionsContextState` is never constructed
[INFO] [stdout]   --> crates/app/src/context/suggestions_context.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct SuggestionsContextState {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_suggestions`, `get_on_double_click`, and `range_select_enabled` are never used
[INFO] [stdout]   --> crates/app/src/context/suggestions_context.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl SuggestionsContext {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn set_suggestions(&mut self, suggestions: Vec<Suggestion>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn get_on_double_click(&self) -> Option<fn() -> Result<(), String>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn range_select_enabled(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorktreesContext` is never constructed
[INFO] [stdout]  --> crates/app/src/context/worktrees_context.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct WorktreesContext {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/context/worktrees_context.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl WorktreesContext {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BisectController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/bisect_controller.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct BisectController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/bisect_controller.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl BisectController {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub fn get_keybindings(&self) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn open_menu(&self, _commit: &Commit) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn open_mid_bisect_menu(&self, _info: &BisectInfo, _commit: &Commit) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn open_start_bisect_menu(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn show_bisect_complete_message(&self, _hashes: &[String]) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn after_mark(&self, _select_current: bool, _wait_to_reselect: bool) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn after_bisect_mark_refresh(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn select_current_bisect_commit(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Commit` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/bisect_controller.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct Commit {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `short_hash` is never used
[INFO] [stdout]   --> crates/app/src/controllers/bisect_controller.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | impl Commit {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 56 |     pub fn short_hash(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BisectInfo` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/bisect_controller.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct BisectInfo {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_current_hash`, `new_term`, and `old_term` are never used
[INFO] [stdout]   --> crates/app/src/controllers/bisect_controller.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl BisectInfo {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 66 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn get_current_hash(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn new_term(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn old_term(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/bisect_controller.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuItem` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/bisect_controller.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct MenuItem {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateMenuOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/bisect_controller.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct CreateMenuOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BranchesController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/branches_controller.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct BranchesController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/branches_controller.rs:7:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl BranchesController {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout]  7 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn get_keybindings(&self) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn context(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn press(&self, _branch: &Branch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn delete(&self, _branches: &[Branch]) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn merge(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn rebase(&self, _branch: &Branch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn fast_forward(&self, _branch: &Branch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn rename(&self, _branch: &Branch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn create_tag(&self, _branch: &Branch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn new_branch(&self, _branch: &Branch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Branch` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/branches_controller.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct Branch {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/branches_controller.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisabledReason` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/branches_controller.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct DisabledReason {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuItem` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/branches_controller.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct MenuItem {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefreshOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/branches_controller.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct RefreshOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RefreshMode` is never used
[INFO] [stdout]   --> crates/app/src/controllers/branches_controller.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub enum RefreshMode {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/controllers/branches_controller.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl MenuItem {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 105 |     pub fn new(label: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `is_tracking_remote` are never used
[INFO] [stdout]    --> crates/app/src/controllers/branches_controller.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl Branch {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 115 |     pub fn new(name: &str) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn is_tracking_remote(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitDescriptionController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/commit_description_controller.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct CommitDescriptionController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_keybindings`, and `handle_toggle_panel` are never used
[INFO] [stdout]   --> crates/app/src/controllers/commit_description_controller.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl CommitDescriptionController {
[INFO] [stdout]    | -------------------------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub fn get_keybindings(&self) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn handle_toggle_panel(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/commit_description_controller.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitMessageController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/commit_message_controller.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct CommitMessageController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/commit_message_controller.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl CommitMessageController {
[INFO] [stdout]    | ---------------------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub fn get_keybindings(&self) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn get_mouse_keybindings(&self) -> Vec<MouseBinding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn handle_previous_commit(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn handle_next_commit(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn switch_to_commit_description(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn handle_toggle_panel(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn confirm(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn close_panel(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn open_commit_menu(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn on_click(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/commit_message_controller.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MouseBinding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/commit_message_controller.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct MouseBinding {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitFilesController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/commits_files_controller.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct CommitFilesController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_keybindings` are never used
[INFO] [stdout]   --> crates/app/src/controllers/commits_files_controller.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl CommitFilesController {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub fn get_keybindings(&self) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/commits_files_controller.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ControllerCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/common.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct ControllerCommon {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/common.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct HelperCommon {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/controllers/common.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl HelperCommon {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/controllers/common.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl ControllerCommon {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 26 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IGetHelpers` is never used
[INFO] [stdout]   --> crates/app/src/controllers/common.rs:39:11
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub trait IGetHelpers {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Helpers` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/common.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Helpers {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/common.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct RefsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BranchesHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/common.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct BranchesHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeAndRebaseHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/common.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct MergeAndRebaseHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/common.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct DiffHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorktreeHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/common.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct WorktreeHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubCommitsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/common.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct SubCommitsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpstreamHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/common.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct UpstreamHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuggestionsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/common.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct SuggestionsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TagsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/common.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct TagsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CustomPatchOptionsMenuActionController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/custom_patch_options_menu_action.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct CustomPatchOptionsMenuActionController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `get_keybindings` are never used
[INFO] [stdout]   --> crates/app/src/controllers/custom_patch_options_menu_action.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl CustomPatchOptionsMenuActionController {
[INFO] [stdout]    | ------------------------------------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub fn get_keybindings(&self) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/custom_patch_options_menu_action.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffingMenuAction` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/diffing_menu_action.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct DiffingMenuAction {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ControllerCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/diffing_menu_action.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ControllerCommon {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrStrings` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/diffing_menu_action.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct TrStrings {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/controllers/diffing_menu_action.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl TrStrings {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 25 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuItem` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/diffing_menu_action.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct MenuItem {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RefreshMode` is never used
[INFO] [stdout]   --> crates/app/src/controllers/diffing_menu_action.rs:49:10
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub enum RefreshMode {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefreshOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/diffing_menu_action.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct RefreshOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateMenuOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/diffing_menu_action.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct CreateMenuOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `menu` is never used
[INFO] [stdout]   --> crates/app/src/controllers/diffing_menu_action.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl ControllerCommon {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] 71 |     pub fn menu(&self, _options: CreateMenuOptions) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/diffing_menu_action.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct HelperCommon {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/diffing_menu_action.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct DiffHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `current_diff_terminals` is never used
[INFO] [stdout]   --> crates/app/src/controllers/diffing_menu_action.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl DiffHelper {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 84 |     pub fn current_diff_terminals(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/controllers/diffing_menu_action.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | impl HelperCommon {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 90 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/controllers/diffing_menu_action.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl ControllerCommon {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] 105 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `call`, and `is_diffing_active` are never used
[INFO] [stdout]    --> crates/app/src/controllers/diffing_menu_action.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl DiffingMenuAction {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout] 119 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn call(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn is_diffing_active(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FilesController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/files_controller.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct FilesController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListControllerTrait` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/files_controller.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct ListControllerTrait;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileNode` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/files_controller.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct FileNode;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileNodeChildren` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/files_controller.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct FileNodeChildren;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileTreeViewModel` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/files_controller.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct FileTreeViewModel;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> crates/app/src/controllers/files_controller.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl FileTreeViewModel {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] 19 |     pub fn collapse_all(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub fn expand_all(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 21 |     pub fn toggle_show_tree(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub fn toggle_collapsed(&self, _path: &str) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |     pub fn in_tree_mode(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn get_visual_depth(&self, _idx: usize) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn get(&self, _idx: usize) -> Option<&FileNode> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> crates/app/src/controllers/files_controller.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl FileNode {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 35 |     pub fn file(&self) -> Option<&File> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn get_path(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn get_internal_path(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn is_file(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn children(&self) -> &FileNodeChildren {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn get_has_unstaged_changes(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn get_has_staged_changes(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn get_has_inline_merge_conflicts(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn for_each_file<F>(&self, _f: F) -> Result<(), String>
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]   --> crates/app/src/controllers/files_controller.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl FileNodeChildren {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] 68 |     pub fn iter(&self) -> impl Iterator<Item = &FileNode> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/files_controller.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct File {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `names` is never used
[INFO] [stdout]   --> crates/app/src/controllers/files_controller.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl File {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 84 |     pub fn names(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FileTreeDisplayFilter` is never used
[INFO] [stdout]   --> crates/app/src/controllers/files_controller.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub enum FileTreeDisplayFilter {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/app/src/controllers/files_controller.rs:100:12
[INFO] [stdout]     |
[INFO] [stdout]  99 | impl FilesController {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout] 100 |     pub fn new(context: ControllerCommon) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn get_keybindings(&self) -> Vec<Binding> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn get_mouse_keybindings(&self) -> Vec<MouseBinding> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn context(&self) -> &WorkingTreeContext {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn press(&self, _nodes: &[&FileNode]) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn enter(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn collapse_all(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn expand_all(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn toggle_tree_view(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn refresh(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn toggle_staged_all(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn stash(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     pub fn fetch(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn edit(&self, _nodes: &[&FileNode]) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn remove(&self, _nodes: &[&FileNode]) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn open(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn open_diff_tool(&self, _node: &FileNode) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn ignore_or_exclude_menu(&self, _node: &FileNode) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn handle_status_filter_pressed(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn create_stash_menu(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn open_merge_conflict_menu(&self, _nodes: &[&FileNode]) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn open_copy_menu(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn handle_amend_commit_press(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn handle_on_click(&self, _opts: ViewMouseBindingOpts) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn handle_on_double_click(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkingTreeContext` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/files_controller.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct WorkingTreeContext;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `file_tree_view_model`, `get_selected`, `get_selected_line_idx`, `get_view_name`, `get_status_filter`, and `is_filtering` are never used
[INFO] [stdout]    --> crates/app/src/controllers/files_controller.rs:207:12
[INFO] [stdout]     |
[INFO] [stdout] 206 | impl WorkingTreeContext {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 207 |     pub fn file_tree_view_model(&self) -> &FileTreeViewModel {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn get_selected(&self) -> Option<&FileNode> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn get_selected_line_idx(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn get_view_name(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub fn get_status_filter(&self) -> FileTreeDisplayFilter {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 222 |     pub fn is_filtering(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/files_controller.rs:227:12
[INFO] [stdout]     |
[INFO] [stdout] 227 | pub struct Binding {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MouseBinding` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/files_controller.rs:232:12
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub struct MouseBinding {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBindingOpts` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/files_controller.rs:236:12
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub struct ViewMouseBindingOpts {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefreshOptions` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/files_controller.rs:241:12
[INFO] [stdout]     |
[INFO] [stdout] 241 | pub struct RefreshOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RefreshMode` is never used
[INFO] [stdout]    --> crates/app/src/controllers/files_controller.rs:247:10
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub enum RefreshMode {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RefreshableView` is never used
[INFO] [stdout]    --> crates/app/src/controllers/files_controller.rs:253:10
[INFO] [stdout]     |
[INFO] [stdout] 253 | pub enum RefreshableView {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuItem` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/files_controller.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct MenuItem {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateMenuOptions` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/files_controller.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub struct CreateMenuOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TrStrings` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/files_controller.rs:275:12
[INFO] [stdout]     |
[INFO] [stdout] 275 | pub struct TrStrings {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FilterControllerFactory` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/filter_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct FilterControllerFactory {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FilterController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/filter_controller.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct FilterController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IFilterableContext` is never used
[INFO] [stdout]   --> crates/app/src/controllers/filter_controller.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait IFilterableContext {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `create` are never used
[INFO] [stdout]   --> crates/app/src/controllers/filter_controller.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl FilterControllerFactory {
[INFO] [stdout]    | ---------------------------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(context: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn create(&self, filterable_context: Box<dyn IFilterableContext>) -> FilterController {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `context`, `get_keybindings`, and `open_filter_prompt` are never used
[INFO] [stdout]   --> crates/app/src/controllers/filter_controller.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | impl FilterController {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] 31 |     pub fn context(&self) -> &dyn IFilterableContext {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn get_keybindings(&self) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn open_filter_prompt(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/filter_controller.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FilteringMenuAction` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/filtering_menu_action.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct FilteringMenuAction {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `call`, `set_filtering_path`, `set_filtering_author`, and `set_filtering` are never used
[INFO] [stdout]   --> crates/app/src/controllers/filtering_menu_action.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl FilteringMenuAction {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn call(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn set_filtering_path(&self, _path: String) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn set_filtering_author(&self, _author: String) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn set_filtering(&self) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GitFlowController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/git_flow_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct GitFlowController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_keybindings`, `handle_create_git_flow_menu`, and `git_flow_finish_branch` are never used
[INFO] [stdout]   --> crates/app/src/controllers/git_flow_controller.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl GitFlowController {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(context: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn get_keybindings(&self) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn handle_create_git_flow_menu(&self, _branch: &Branch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn git_flow_finish_branch(&self, _branch_name: &str) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/git_flow_controller.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Branch` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/git_flow_controller.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Branch {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/global_controller.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Binding {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/global_controller.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Context;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisabledReason` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/global_controller.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct DisabledReason {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GlobalController` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/global_controller.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct GlobalController {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/app/src/controllers/global_controller.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl GlobalController {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout]  23 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  29 |     pub fn get_keybindings(&self) -> Vec<Binding> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  33 |     pub fn context(&self) -> Option<&Context> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  37 |     pub fn shell_command(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  41 |     pub fn create_custom_patch_options_menu(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  45 |     pub fn refresh(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn next_screen_mode(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn prev_screen_mode(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn cycle_pagers(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn can_cycle_pagers(&self) -> Option<DisabledReason> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn create_options_menu(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn options_menu_disabled_reason(&self) -> Option<DisabledReason> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn create_filtering_menu(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn create_diffing_menu(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn quit(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn quit_without_changing_directory(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn escape(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn escape_description(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn escape_enabled(&self) -> Option<DisabledReason> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn toggle_whitespace(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn can_show_rebase_options(&self) -> Option<DisabledReason> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GpgHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/amend_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct GpgHelper;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/amend_helper.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AmendHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/amend_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct AmendHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `amend_head` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/amend_helper.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl AmendHelper {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn amend_head(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppStatusHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/app_status_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct AppStatusHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/app_status_helper.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModeHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/app_status_helper.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ModeHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StatusManager` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/app_status_helper.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub trait StatusManager {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ToastKind` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/app_status_helper.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum ToastKind {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/app_status_helper.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl AppStatusHelper {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 25 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn toast(&self, _message: &str, _kind: ToastKind) {}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 34 |
[INFO] [stdout] 35 |     pub fn with_waiting_status<F>(&self, _message: &str, _f: F)
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn with_waiting_status_impl<F>(&self, _message: &str, _f: F)
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn with_waiting_status_sync<F>(&self, _message: &str, _f: F) -> Result<(), String>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn has_status(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn get_status_string(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     fn render_app_status(&self) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 63 |
[INFO] [stdout] 64 |     fn render_app_status_sync(&self, _stop: std::sync::mpsc::Receiver<()>) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MockStatusManager` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/app_status_helper.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | struct MockStatusManager;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/bisect_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BisectHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/bisect_helper.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct BisectHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `reset`, and `post_bisect_command_refresh` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/bisect_helper.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl BisectHelper {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn reset(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn post_bisect_command_refresh(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Branch` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/branches_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Branch {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RemoteBranch` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/branches_helper.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct RemoteBranch {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Worktree` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/branches_helper.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Worktree {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/branches_helper.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct HelperCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorktreeHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/branches_helper.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct WorktreeHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BranchesHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/branches_helper.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct BranchesHelper {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/branches_helper.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl BranchesHelper {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 28 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn confirm_local_delete(&self, _branches: &[Branch]) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn confirm_delete_remote(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn confirm_local_and_remote_delete(&self, _branches: &[Branch]) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn checked_out_by_other_worktree(&self, _branch: &Branch) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn worktree_for_branch(&self, _branch: &Branch) -> Option<&Worktree> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn prompt_worktree_branch_delete(&self, _selected_branch: &Branch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn all_branches_merged(&self, _branches: &[Branch]) -> Result<bool, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn delete_remote_branches(&self, _remote_branches: &[RemoteBranch]) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn auto_forward_branches(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `short_branch_name` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/branches_helper.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn short_branch_name(full_branch_name: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Commit` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/cherry_pick_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Commit {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListContext` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/cherry_pick_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ListContext;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CherryPicking` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/cherry_pick_helper.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct CherryPicking;
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeAndRebaseHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/cherry_pick_helper.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct MergeAndRebaseHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/cherry_pick_helper.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct HelperCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CherryPickHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/cherry_pick_helper.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct CherryPickHelper {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/cherry_pick_helper.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl CherryPickHelper {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn get_data(&self) -> CherryPicking {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn copy_range(&self, _commits: &[Commit], _context: &ListContext) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn paste(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn can_paste(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn reset(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn reset_if_necessary(&self, _context: &ListContext) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn rerender(&self) {}
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Suggestion` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/commits_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Suggestion;
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenCommitMessagePanelOpts` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/commits_helper.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct OpenCommitMessagePanelOpts {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/commits_helper.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct HelperCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/commits_helper.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct CommitsHelper {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/commits_helper.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl CommitsHelper {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 27 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn split_commit_message_and_description(&self, message: &str) -> (String, String) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn set_message_and_description_in_view(&self, _message: &str) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |
[INFO] [stdout] 47 |     pub fn join_commit_message_and_unwrapped_description(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn try_remove_hard_line_breaks(message: &str, _auto_wrap_width: i64) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn switch_to_editor(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn update_commit_panel_view(&self, _message: &str) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |
[INFO] [stdout] 61 |     pub fn open_commit_message_panel(&self, _opts: &OpenCommitMessagePanelOpts) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 62 |
[INFO] [stdout] 63 |     pub fn clear_preserved_commit_message(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 64 |
[INFO] [stdout] 65 |     pub fn handle_commit_confirm(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn close_commit_message_panel(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |
[INFO] [stdout] 71 |     pub fn open_commit_menu(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn add_co_author(&self, _suggestion_func: fn(&str) -> Vec<Suggestion>) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     fn paste_commit_message_from_clipboard(&self) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/confirmation_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Context;
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfirmOpts` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/confirmation_helper.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ConfirmOpts {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreatePopupPanelOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/confirmation_helper.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CreatePopupPanelOpts {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuItem` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/confirmation_helper.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct MenuItem {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/confirmation_helper.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct HelperCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfirmationHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/confirmation_helper.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ConfirmationHelper {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/confirmation_helper.rs:27:12
[INFO] [stdout]     |
[INFO] [stdout]  26 | impl ConfirmationHelper {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  27 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  33 |     fn close_and_call_confirmation_function(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  41 |     fn wrapped_confirmation_function(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     fn wrapped_prompt_confirmation_function(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn deactivate_confirmation(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  71 |
[INFO] [stdout]  72 |     pub fn deactivate_prompt(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]  73 |
[INFO] [stdout]  74 |     fn get_popup_panel_dimensions_for_content_height(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     fn get_popup_panel_dimensions_aux(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     fn get_popup_panel_width(&self, max_width: i64) -> i64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn prepare_confirmation_panel(&self, _opts: &ConfirmOpts) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  97 |
[INFO] [stdout]  98 |     fn prepare_prompt_panel(&self, _opts: &ConfirmOpts) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  99 |
[INFO] [stdout] 100 |     pub fn create_popup_panel(&self, _opts: &CreatePopupPanelOpts) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 101 |
[INFO] [stdout] 102 |     fn set_confirmation_key_bindings(&self, _cancel: fn(), _opts: &CreatePopupPanelOpts) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 103 |
[INFO] [stdout] 104 |     fn set_prompt_key_bindings(&self, _cancel: fn(), _opts: &CreatePopupPanelOpts) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 105 |
[INFO] [stdout] 106 |     fn clear_confirmation_view_key_bindings(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 107 |
[INFO] [stdout] 108 |     fn clear_prompt_view_key_bindings(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 109 |
[INFO] [stdout] 110 |     fn get_selected_suggestion_value(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn resize_current_popup_panels(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 115 |
[INFO] [stdout] 116 |     fn resize_menu(&self, _parent_popup_context: &Context) {}
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 117 |
[INFO] [stdout] 118 |     fn layout_menu_prompt(&self, _content_width: i64) -> i64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn resize_confirmation_panel(&self, _parent_popup_context: &Context) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 123 |
[INFO] [stdout] 124 |     fn resize_prompt_panel(&self, _parent_popup_context: &Context) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 125 |
[INFO] [stdout] 126 |     pub fn resize_commit_message_panels(&self, _parent_popup_context: &Context) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 127 |
[INFO] [stdout] 128 |     pub fn is_popup_panel(&self, _context: &Context) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn is_popup_panel_focused(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn tooltip_for_menu_item(&self, _menu_item: &MenuItem) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CredentialsHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/credentials_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct CredentialsHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/credentials_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CredentialType` is never used
[INFO] [stdout]  --> crates/app/src/controllers/helpers/credentials_helper.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum CredentialType {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `prompt_user_for_credential`, and `get_title_and_mask` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/credentials_helper.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl CredentialsHelper {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(context: HelperCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn prompt_user_for_credential(&self, _pass_or_uname: CredentialType) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn get_title_and_mask(&self, _pass_or_uname: CredentialType) -> (String, bool) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Commit` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/diff_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Commit {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `hash` is never used
[INFO] [stdout]  --> crates/app/src/controllers/helpers/diff_helper.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Commit {
[INFO] [stdout]   | ----------- method in this implementation
[INFO] [stdout] 9 |     pub fn hash(&self) -> &str {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefRange` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/diff_helper.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct RefRange {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Ref` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/diff_helper.rs:19:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub trait Ref {
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefRangeRef` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/diff_helper.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct RefRangeRef;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateTask` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/diff_helper.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct UpdateTask;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefreshMainOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/diff_helper.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct RefreshMainOpts {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MainViewPairs` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/diff_helper.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct MainViewPairs;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewUpdateOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/diff_helper.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ViewUpdateOpts {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffToolCmdOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/diff_helper.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct DiffToolCmdOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/diff_helper.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct HelperCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/diff_helper.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct DiffHelper {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/diff_helper.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl DiffHelper {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  70 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn diff_args(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn get_update_task_for_rendering_commits_diff(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn filter_paths_for_commit(&self, _commit: &Commit) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  92 |     pub fn exit_diff_mode(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn render_diff(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout]  97 |
[INFO] [stdout]  98 |     pub fn current_diff_terminals(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn current_diff_terminal(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn currently_selected_filename(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn with_diff_mode_check<F>(&self, _f: F)
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn ignoring_whitespace_sub_title(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn open_diff_tool_for_ref(&self, _selected_ref: &dyn Ref) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn adjust_line_number(&self, _path: &str, linenumber: i64, _viewname: &str) -> i64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     fn adjust_line_number_internal(&self, linenumber: i64, _diff_args: &[String]) -> i64 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FilesHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/files_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct FilesHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/files_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/files_helper.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl FilesHelper {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(context: HelperCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn edit_files(&self, _filenames: &[String]) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn edit_file_at_line(&self, _filename: &str, _line_number: i64) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn edit_file_at_line_and_wait(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn open_dir_in_editor(&self, _path: &str) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn call_editor(&self, _cmd_str: &str, _suspend: bool) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn open_file(&self, _filename: &str) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GpgHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/gpg_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct GpgHelper {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/gpg_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CmdObj` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/gpg_helper.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct CmdObj;
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GpgConfigKey` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/gpg_helper.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum GpgConfigKey {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_gpg_handling`, and `run_and_stream` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/gpg_helper.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl GpgHelper {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new(context: HelperCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn with_gpg_handling(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn run_and_stream(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RefreshableView` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/gpg_helper.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub enum RefreshableView {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/helpers.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct HelperCommon {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Common` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/helpers.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Common;
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Helpers` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/helpers.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Helpers {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct RefsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuggestionsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct SuggestionsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FilesHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct FilesHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkingTreeHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct WorkingTreeHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TagsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct TagsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeAndRebaseHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct MergeAndRebaseHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeConflictsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct MergeConflictsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CherryPickHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct CherryPickHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HostHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct HostHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchBuildingHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct PatchBuildingHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StagingHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct StagingHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GpgHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct GpgHelper;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpstreamHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct UpstreamHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FixupHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct FixupHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct CommitsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuspendResumeHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct SuspendResumeHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SnakeHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct SnakeHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReposHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct ReposHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordDirectoryHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct RecordDirectoryHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct UpdateHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WindowHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct WindowHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct ViewHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefreshHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct RefreshHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfirmationHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct ConfirmationHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InlineStatusHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct InlineStatusHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WindowArrangementHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct WindowArrangementHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct SearchHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubCommitsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct SubCommitsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BisectHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 | pub struct BisectHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BranchesHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct BranchesHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AmendHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct AmendHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct DiffHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModeHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct ModeHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppStatusHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct AppStatusHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorktreeHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct WorktreeHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_stub` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/helpers.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | impl Helpers {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 84 |     pub fn new_stub() -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HostHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/host_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct HostHelper {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/host_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_pull_request_url`, `get_commit_url`, and `get_hosting_service_mgr` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/host_helper.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl HostHelper {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(context: HelperCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn get_pull_request_url(&self, _from: &str, _to: &str) -> Result<String, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn get_commit_url(&self, _commit_hash: &str) -> Result<String, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn get_hosting_service_mgr(&self) -> Result<HostingServiceMgr, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HostingServiceMgr` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/host_helper.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct HostingServiceMgr;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InlineStatusHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/inline_status_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct InlineStatusHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/inline_status_helper.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WindowHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/inline_status_helper.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct WindowHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InlineStatusOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/inline_status_helper.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct InlineStatusOpts {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InlineStatusInfo` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/inline_status_helper.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct InlineStatusInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ItemOperation` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/inline_status_helper.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum ItemOperation {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_inline_status`, `start`, `stop`, and `render_context` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/inline_status_helper.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | impl InlineStatusHelper {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] 35 |     pub fn new(context: HelperCommon, window_helper: WindowHelper) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn with_inline_status(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn start(&self, _opts: InlineStatusOpts) {}
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 52 |
[INFO] [stdout] 53 |     fn stop(&self, _opts: InlineStatusOpts) {}
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 54 |
[INFO] [stdout] 55 |     fn render_context(&self, _context_key: &str) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MergeVariant` is never used
[INFO] [stdout]  --> crates/app/src/controllers/helpers/merge_and_rebase_helper.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum MergeVariant {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefreshOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/merge_and_rebase_helper.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct RefreshOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RefreshMode` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/merge_and_rebase_helper.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum RefreshMode {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RefreshableView` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/merge_and_rebase_helper.rs:20:10
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum RefreshableView {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RebaseOption` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/merge_and_rebase_helper.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum RebaseOption {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/merge_and_rebase_helper.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct HelperCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeAndRebaseHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/merge_and_rebase_helper.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct MergeAndRebaseHelper {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/merge_and_rebase_helper.rs:44:12
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl MergeAndRebaseHelper {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout]  44 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn create_rebase_options_menu(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn continue_rebase(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     pub fn generic_merge_command(&self, _command: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     fn has_exec_todos(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |     pub fn check_merge_or_rebase_with_refresh_options(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub fn check_merge_or_rebase(&self, _result: Result<(), String>) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn check_for_conflicts(&self, _result: Result<(), String>) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn prompt_for_conflict_handling(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  86 |     pub fn abort_merge_or_rebase_with_confirm(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn prompt_to_continue_rebase(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn rebase_onto_ref(&self, _ref: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn merge_ref_into_checked_out_branch(&self, _ref_name: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn regular_merge(&self, _ref_name: &str, _variant: MergeVariant) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn squash_merge_uncommitted(&self, _ref_name: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn squash_merge_committed(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     fn fast_forward_merge_user_preference(&self) -> (bool, bool) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn reset_marked_base_commit(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeConflictsHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/merge_conflicts_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct MergeConflictsHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/merge_conflicts_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/merge_conflicts_helper.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl MergeConflictsHelper {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(context: HelperCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn set_merge_state(&self, _path: &str) -> Result<bool, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn set_merge_state_without_lock(&self, _path: &str) -> Result<bool, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn reset_merge_state(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |
[INFO] [stdout] 24 |     fn reset_merge_state_internal(&self) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |
[INFO] [stdout] 26 |     pub fn escape_merge(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn set_conflicts_and_render(&self, _path: &str) -> Result<bool, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn switch_to_merge(&self, _path: &str) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn context(&self) -> MergeConflictsContext {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn render(&self) {}
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |     pub fn refresh_merge_state(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeConflictsContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/merge_conflicts_helper.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct MergeConflictsContext;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeConflictsState` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/merge_conflicts_helper.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct MergeConflictsState;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModeHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/mode_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ModeHelper {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/mode_helper.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct HelperCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/mode_helper.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct DiffHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchBuildingHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/mode_helper.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct PatchBuildingHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CherryPickHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/mode_helper.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct CherryPickHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeAndRebaseHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/mode_helper.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct MergeAndRebaseHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BisectHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/mode_helper.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct BisectHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModeStatus` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/mode_helper.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ModeStatus {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/mode_helper.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl ModeHelper {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 28 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn statuses(&self) -> Vec<ModeStatus> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn with_reset_button(&self, content: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn get_active_mode(&self) -> Option<ModeStatus> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn is_any_mode_active(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn exit_filter_mode(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn clear_filtering(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn set_suppress_rebasing_mode(&self, _value: bool) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchBuildingHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/patch_building_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct PatchBuildingHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/patch_building_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `show_hunk_staging_hint`, `escape`, `reset`, and `refresh_patch_building_panel` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/patch_building_helper.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl PatchBuildingHelper {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(context: HelperCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn show_hunk_staging_hint(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |
[INFO] [stdout] 16 |     pub fn escape(&self) {}
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     pub fn reset(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn refresh_patch_building_panel(&self, _opts: &OnFocusOpts) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OnFocusOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/patch_building_helper.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct OnFocusOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordDirectoryHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/record_directory_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct RecordDirectoryHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/record_directory_helper.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct HelperCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `record_current_directory`, and `record_directory` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/record_directory_helper.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl RecordDirectoryHelper {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout] 14 |     pub fn new(common: HelperCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn record_current_directory(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn record_directory<P: AsRef<Path>>(&self, dir_name: P) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefreshHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/refresh_helper.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct RefreshHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refresh_helper.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct HelperCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refresh_helper.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct RefsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeAndRebaseHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refresh_helper.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct MergeAndRebaseHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchBuildingHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refresh_helper.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct PatchBuildingHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StagingHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refresh_helper.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct StagingHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeConflictsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refresh_helper.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct MergeConflictsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorktreeHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refresh_helper.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct WorktreeHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refresh_helper.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct SearchHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefreshOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refresh_helper.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct RefreshOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RefreshMode` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refresh_helper.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub enum RefreshMode {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RefreshableView` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refresh_helper.rs:41:10
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub enum RefreshableView {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refresh_helper.rs:62:12
[INFO] [stdout]     |
[INFO] [stdout]  61 | impl RefreshHelper {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  62 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn refresh(&self, options: RefreshOptions) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     fn refresh_internal(&self, options: RefreshOptions) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     fn refresh_commits_and_branches(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn refresh_rebase_commits(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 188 |
[INFO] [stdout] 189 |     fn refresh_sub_commits_with_limit(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 190 |
[INFO] [stdout] 191 |     fn refresh_commit_files_context(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 192 |
[INFO] [stdout] 193 |     fn refresh_files_and_submodules(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 194 |
[INFO] [stdout] 195 |     fn refresh_stash_entries(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 196 |
[INFO] [stdout] 197 |     fn refresh_tags(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 198 |
[INFO] [stdout] 199 |     fn refresh_remotes(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 200 |
[INFO] [stdout] 201 |     fn refresh_worktrees(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 202 |
[INFO] [stdout] 203 |     fn refresh_staging(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 204 |
[INFO] [stdout] 205 |     fn refresh_patch_building(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 206 |
[INFO] [stdout] 207 |     fn refresh_merge_conflicts(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 208 |
[INFO] [stdout] 209 |     fn refresh_status(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 210 |
[INFO] [stdout] 211 |     fn refresh_view(&self, _context: &dyn Context) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 212 |
[INFO] [stdout] 213 |     fn refresh_reflog_commits(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 214 |
[INFO] [stdout] 215 |     fn refresh_branches(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     fn refresh_reflog_and_branches(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     fn refresh_reflog_commits_considering_startup(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 231 |
[INFO] [stdout] 232 |     fn determine_checked_out_ref(&self) -> Option<Ref> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     fn refresh_commits_with_limit(&self) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     fn refresh_authors(&self, _commits: &[Commit]) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 241 |
[INFO] [stdout] 242 |     fn refresh_state_submodule_configs(&self) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     fn refresh_state_files(&self) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     fn load_worktrees(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 251 |
[INFO] [stdout] 252 |     fn ref_for_log(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Context` is never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refresh_helper.rs:257:11
[INFO] [stdout]     |
[INFO] [stdout] 257 | pub trait Context {
[INFO] [stdout]     |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ref` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refresh_helper.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct Ref;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Commit` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refresh_helper.rs:262:12
[INFO] [stdout]     |
[INFO] [stdout] 262 | pub struct Commit;
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Branch` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refresh_helper.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub struct Branch;
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ref_name` is never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refresh_helper.rs:266:12
[INFO] [stdout]     |
[INFO] [stdout] 265 | impl Ref {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] 266 |     pub fn ref_name(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_scope_names` is never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refresh_helper.rs:281:8
[INFO] [stdout]     |
[INFO] [stdout] 281 | pub fn get_scope_names(scopes: &[RefreshableView]) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_mode_name` is never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refresh_helper.rs:288:8
[INFO] [stdout]     |
[INFO] [stdout] 288 | pub fn get_mode_name(mode: &RefreshMode) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefsHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/refs_helper.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct RefsHelper {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refs_helper.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct HelperCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeAndRebaseHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refs_helper.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct MergeAndRebaseHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheckoutRefOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refs_helper.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct CheckoutRefOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Branch` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refs_helper.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Branch;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Commit` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refs_helper.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Commit;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuItem` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refs_helper.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct MenuItem;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PromptOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refs_helper.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct PromptOpts;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfirmOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refs_helper.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ConfirmOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateMenuOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/refs_helper.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct CreateMenuOptions;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:29:12
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl RefsHelper {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  29 |     pub fn new(common: HelperCommon, rebase_helper: Arc<MergeAndRebaseHelper>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub fn select_first_branch_and_first_commit(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  37 |
[INFO] [stdout]  38 |     pub fn checkout_ref(&self, _ref: &str, _options: CheckoutRefOptions) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     pub fn checkout_remote_branch(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn checkout_previous_ref(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn get_checked_out_ref(&self) -> Option<Branch> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     pub fn reset_to_ref(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn create_sort_order_menu(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn create_git_reset_menu(&self, _name: &str, _ref: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn create_checkout_menu(&self, _commit: &Commit) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn new_branch(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn move_commits_to_new_branch(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     pub fn can_move_commits_to_new_branch(&self) -> Option<DisabledReason> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn parse_remote_branch_name(&self, _full_branch_name: &str) -> (String, String, bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisabledReason` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub struct DisabledReason {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sanitized_branch_name` is never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn sanitized_branch_name(input: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_switch_branch_uncommitted_changes_error` is never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn is_switch_branch_uncommitted_changes_error(err: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `short_branch_name` is never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:119:8
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub fn short_branch_name(base_branch_ref: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_working_tree_dirty_except_submodules` is never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub fn is_working_tree_dirty_except_submodules(_files: &[File], _submodules: &[Submodule]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:127:12
[INFO] [stdout]     |
[INFO] [stdout] 127 | pub struct File;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Submodule` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct Submodule;
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Remote` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub struct Remote;
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Stash` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct Stash;
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Git` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct Git;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `branch`, `stash`, `commit`, and `rebase` are never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl Git {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] 134 |     pub fn branch(&self) -> BranchCommands {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn stash(&self) -> StashCommands {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn commit(&self) -> CommitCommands {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn rebase(&self) -> RebaseCommands {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BranchCommands` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct BranchCommands;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StashCommands` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:149:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub struct StashCommands;
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitCommands` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct CommitCommands;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RebaseCommands` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:151:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub struct RebaseCommands;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `checkout`, `create_with_upstream`, `new`, `new_without_tracking`, `new_without_checkout`, and `current_branch_name` are never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | impl BranchCommands {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] 154 |     pub fn checkout(&self, _name: &str, _options: CheckoutOptions) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn create_with_upstream(&self, _name: &str, _upstream: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn new(&self, _name: &str, _start_point: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |     pub fn new_without_tracking(&self, _name: &str, _start_point: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn new_without_checkout(&self, _name: &str, _start_point: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn current_branch_name(&self) -> Result<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push` and `pop` are never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl StashCommands {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 175 |     pub fn push(&self, _message: &str) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub fn pop(&self, _index: usize) -> Result<(), String> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset_to_commit` is never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 183 | impl CommitCommands {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 184 |     pub fn reset_to_commit(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cherry_pick_commits` is never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:195:12
[INFO] [stdout]     |
[INFO] [stdout] 194 | impl RebaseCommands {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 195 |     pub fn cherry_pick_commits(&self, _commits: &[Commit]) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CheckoutOptions` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/refs_helper.rs:201:12
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub struct CheckoutOptions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReposHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/repos_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ReposHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/repos_helper.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct HelperCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecordDirectoryHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/repos_helper.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct RecordDirectoryHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `record_current_directory` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/repos_helper.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl RecordDirectoryHelper {
[INFO] [stdout]    | -------------------------- method in this implementation
[INFO] [stdout] 17 |     pub fn record_current_directory(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StartArgs` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/repos_helper.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct StartArgs;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubmoduleConfig` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/repos_helper.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct SubmoduleConfig;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `full_path` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/repos_helper.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl SubmoduleConfig {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 24 |     pub fn full_path(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RepoPathStack` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/repos_helper.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct RepoPathStack;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push` and `clear` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/repos_helper.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl RepoPathStack {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 32 |     pub fn push(&self, _path: &str) {}
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 33 |     pub fn clear(&self) {}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `enter_submodule`, `get_current_branch`, `create_recent_repos_menu`, `dispatch_switch_to_repo`, and `dispatch_switch_to` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/repos_helper.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl ReposHelper {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 37 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn enter_submodule(&self, _submodule: &SubmoduleConfig) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn get_current_branch(&self, path: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn create_recent_repos_menu(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn dispatch_switch_to_repo(&self, path: &str, context_key: String) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn dispatch_switch_to(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuItem` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/repos_helper.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct MenuItem {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateMenuOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/repos_helper.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct CreateMenuOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Branch` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/repos_helper.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Branch;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RecentReposHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/repos_helper.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct RecentReposHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/repos_helper.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | impl RecentReposHelper {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] 99 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/search_helper.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SearchHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/search_helper.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SearchType` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/search_helper.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum SearchType {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchState` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/search_helper.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SearchState {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/search_helper.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl SearchState {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 24 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Context` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/search_helper.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub trait Context {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `FilterableContext` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/search_helper.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub trait FilterableContext: Context {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `SearchableContext` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/search_helper.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub trait SearchableContext: Context {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchPosition` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/search_helper.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct SearchPosition {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/search_helper.rs:65:12
[INFO] [stdout]     |
[INFO] [stdout]  64 | impl SearchHelper {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  65 |     pub fn new(common: HelperCommon) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn open_filter_prompt(&self, _context: &dyn FilterableContext) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn open_search_prompt(&self, _context: &dyn SearchableContext) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn display_filter_status(&self, _context: &dyn FilterableContext) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  78 |
[INFO] [stdout]  79 |     pub fn display_search_status(&self, _context: &dyn SearchableContext) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  80 |
[INFO] [stdout]  81 |     fn search_state(&self) -> SearchState {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn confirm(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn confirm_filter(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout]  90 |
[INFO] [stdout]  91 |     pub fn confirm_search(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout]  92 |
[INFO] [stdout]  93 |     pub fn cancel_prompt(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn scroll_history(&self, _scroll_increment: i32) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout]  98 |
[INFO] [stdout]  99 |     pub fn cancel(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn on_prompt_content_changed(&self, _search_string: &str) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 104 |
[INFO] [stdout] 105 |     pub fn re_apply_filter(&self, _context: &dyn Context) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 106 |
[INFO] [stdout] 107 |     pub fn re_apply_search(&self, _ctx: &dyn Context) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 108 |
[INFO] [stdout] 109 |     pub fn render_search_status(&self, _c: &dyn Context) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 110 |
[INFO] [stdout] 111 |     pub fn cancel_search_if_searching(&self, _c: &dyn Context) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 112 |
[INFO] [stdout] 113 |     pub fn hide_prompt(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 114 |
[INFO] [stdout] 115 |     fn set_searching_frame_color(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 116 |
[INFO] [stdout] 117 |     fn set_non_searching_frame_color(&self) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `View` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/search_helper.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct View;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/search_helper.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl View {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] 123 |     pub fn set_content(&self, _content: &str) {}
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 124 |     pub fn clear_text_area(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 125 |     pub fn render_text_area(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 126 |     pub fn set_origin_y(&self, _y: i32) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 127 |     pub fn search(&self, _s: &str, _positions: Vec<SearchPosition>) {}
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 128 |     pub fn clear_search(&self) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 129 |     pub fn update_search_results(&self, _s: &str, _positions: Vec<SearchPosition>) {}
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `History` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/helpers/search_helper.rs:132:12
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub struct History;
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `push` and `peek_at` are never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/search_helper.rs:135:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl History {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 135 |     pub fn push(&self, _s: &str) {}
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 136 |     pub fn peek_at(&self, _i: i32) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `can_suspend_app` is never used
[INFO] [stdout]  --> crates/app/src/controllers/helpers/signal_handling.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn can_suspend_app() -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send_stop_signal` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/signal_handling.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn send_stop_signal() -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_foreground_pgrp` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/signal_handling.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn set_foreground_pgrp() -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_resume_signal` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/signal_handling.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn handle_resume_signal<F>(on_resume: F) -> Result<(), String>
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `install_resume_signal_handler` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/signal_handling.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn install_resume_signal_handler<F>(_on_resume: F)
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SnakeHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/snake_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct SnakeHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/snake_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Game` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/snake_helper.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Game;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start`, `exit`, and `set_direction` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/snake_helper.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Game {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new<F>(_width: i32, _height: i32, _render_callback: F, _log_action: fn(&str)) -> Self
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn start(&mut self) {}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 20 |     pub fn exit(&mut self) {}
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 21 |     pub fn set_direction(&mut self, _direction: Direction) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/snake_helper.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum Direction {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CellType` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/snake_helper.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub enum CellType {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `View` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/snake_helper.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct View;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `inner_width`, `inner_height`, and `clear` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/snake_helper.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl View {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 42 |     pub fn inner_width(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn inner_height(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn clear(&self) {}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `start_game`, `exit_game`, `set_direction`, `render_snake_game`, and `draw_snake_game` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/snake_helper.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl SnakeHelper {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 52 |     pub fn new(common: HelperCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn start_game(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 57 |
[INFO] [stdout] 58 |     pub fn exit_game(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 59 |
[INFO] [stdout] 60 |     pub fn set_direction(&mut self, _direction: Direction) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 61 |
[INFO] [stdout] 62 |     fn render_snake_game(&self, _cells: [[CellType; 0]; 0], _alive: bool) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     fn draw_snake_game(&self, _cells: [[CellType; 0]; 0]) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StagingHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/staging_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct StagingHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/staging_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OnFocusOpts` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/staging_helper.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct OnFocusOpts {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `refresh_staging_panel`, `handle_staging_escape`, `secondary_staging_focused`, and `main_staging_focused` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/staging_helper.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl StagingHelper {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 22 |     pub fn new(common: HelperCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn refresh_staging_panel(&self, _focus_opts: OnFocusOpts) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 27 |
[INFO] [stdout] 28 |     fn handle_staging_escape(&self) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |
[INFO] [stdout] 30 |     fn secondary_staging_focused(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     fn main_staging_focused(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/staging_helper.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct File {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewState` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/staging_helper.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct ViewState;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StagingContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/staging_helper.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct StagingContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_mutex` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/staging_helper.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl StagingContext {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 51 |     pub fn get_mutex(&self) -> &Mutex {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mutex` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/staging_helper.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Mutex;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `lock` and `unlock` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/staging_helper.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Mutex {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 59 |     pub fn lock(&self) {}
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 60 |     pub fn unlock(&self) {}
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubCommitsHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/sub_commits_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct SubCommitsHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/sub_commits_helper.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefreshHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/sub_commits_helper.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct RefreshHelper;
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewSubCommitsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/sub_commits_helper.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ViewSubCommitsOpts {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ref` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/sub_commits_helper.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Ref;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Commit` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/sub_commits_helper.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Commit;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/sub_commits_helper.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Context;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_window_name` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/sub_commits_helper.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Context {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 24 |     pub fn get_window_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `view_sub_commits`, and `set_sub_commits` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/sub_commits_helper.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl SubCommitsHelper {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 30 |     pub fn new(common: HelperCommon, refresh_helper: RefreshHelper) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn view_sub_commits(&self, _opts: ViewSubCommitsOpts) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     fn set_sub_commits(&self, _commits: Vec<Commit>) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuggestionsHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/suggestions_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct SuggestionsHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/suggestions_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Suggestion` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/suggestions_helper.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Suggestion {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/suggestions_helper.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl SuggestionsHelper {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(common: HelperCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn get_remote_names(&self) -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn get_branch_names(&self) -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn get_tag_names(&self) -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     fn get_remote_branch_names(&self, _separator: &str) -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn get_remote_branch_names_for_remote(&self, _remote_name: &str) -> Vec<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn get_remote_suggestions_func(&self) -> impl Fn(String) -> Vec<Suggestion> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn get_branch_name_suggestions_func(&self) -> impl Fn(String) -> Vec<Suggestion> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn get_file_path_suggestions_func(&self) -> impl Fn(String) -> Vec<Suggestion> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn get_remote_branches_suggestions_func(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn get_remote_branches_for_remote_suggestions_func(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn get_tags_suggestions_func(&self) -> impl Fn(String) -> Vec<Suggestion> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn get_refs_suggestions_func(&self) -> impl Fn(String) -> Vec<Suggestion> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn get_authors_suggestions_func(&self) -> impl Fn(String) -> Vec<Suggestion> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `matches_to_suggestions` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/suggestions_helper.rs:78:4
[INFO] [stdout]    |
[INFO] [stdout] 78 | fn matches_to_suggestions(matches: Vec<String>) -> Vec<Suggestion> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `filter_func` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/suggestions_helper.rs:88:8
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn filter_func(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuspendResumeHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/suspend_resume_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct SuspendResumeHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/suspend_resume_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `can_suspend_app`, `suspend_app`, and `install_resume_signal_handler` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/suspend_resume_helper.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl SuspendResumeHelper {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(common: HelperCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn can_suspend_app(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn suspend_app(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn install_resume_signal_handler(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TagsHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/tags_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct TagsHelper {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/tags_helper.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/tags_helper.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CommitsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GpgHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/tags_helper.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct GpgHelper;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OpenCommitMessagePanelOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/tags_helper.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct OpenCommitMessagePanelOpts {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `open_create_tag_prompt` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/tags_helper.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl TagsHelper {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 23 |     pub fn new(common: HelperCommon, commits_helper: CommitsHelper, gpg: GpgHelper) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn open_create_tag_prompt(&self, _ref: &str, _on_create: fn()) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpdateHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/update_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct UpdateHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/update_helper.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Updater` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/update_helper.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Updater;
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `check_for_update_in_background`, `check_for_update_in_foreground`, `start_updating`, `on_update_finish`, and `show_update_prompt` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/update_helper.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl UpdateHelper {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(common: HelperCommon, updater: Updater) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn check_for_update_in_background(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |
[INFO] [stdout] 18 |     pub fn check_for_update_in_foreground(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     fn start_updating(&self, _new_version: &str) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 23 |
[INFO] [stdout] 24 |     fn on_update_finish(&self, _err: Option<String>) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn show_update_prompt(&self, _new_version: &str) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UpstreamHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/upstream_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct UpstreamHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/upstream_helper.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Suggestion` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/upstream_helper.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Suggestion {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Branch` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/upstream_helper.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Branch;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Remote` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/upstream_helper.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Remote;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `parse_upstream`, `prompt_for_upstream`, `prompt_for_upstream_with_initial_content`, `prompt_for_upstream_without_initial_content`, and `get_suggested_remote` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/upstream_helper.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl UpstreamHelper {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn parse_upstream(&self, upstream: &str) -> Result<(String, String), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn prompt_for_upstream(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn prompt_for_upstream_with_initial_content(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn prompt_for_upstream_without_initial_content(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn get_suggested_remote(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_suggested_remote` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/upstream_helper.rs:66:4
[INFO] [stdout]    |
[INFO] [stdout] 66 | fn get_suggested_remote(_remotes: &[Remote]) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/view_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct ViewHelper {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/view_helper.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ContextTree` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/view_helper.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ContextTree;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `context_for_view` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/view_helper.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ViewHelper {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(common: HelperCommon, _contexts: &ContextTree) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn context_for_view(&self, _view_name: &str) -> Option<Context> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/view_helper.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Context;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `View` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/view_helper.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct View;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WindowHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/window_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct WindowHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/window_helper.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct HelperCommon;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/window_helper.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct ViewHelper;
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/window_helper.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Context;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_window_name`, `get_view_name`, `is_transient`, `get_key`, and `get_view` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/window_helper.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Context {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] 13 |     pub fn get_window_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn get_view_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn is_transient(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn get_key(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn get_view(&self) -> Option<View> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `View` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/window_helper.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct View;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `name` is never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/window_helper.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | impl View {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 33 |     pub fn name(&self) -> String {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThreadSafeMap` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/window_helper.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct ThreadSafeMap<K, V> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get`, `set`, and `keys` are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/window_helper.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl<K, V> ThreadSafeMap<K, V> {
[INFO] [stdout]    | ------------------------------ methods in this implementation
[INFO] [stdout] 43 |     pub fn get(&self, _key: &K) -> Option<V> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn set(&self, _key: K, _value: V) {}
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 47 |     pub fn keys(&self) -> Vec<K> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/window_helper.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl WindowHelper {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 53 |     pub fn new(common: HelperCommon, view_helper: ViewHelper) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn get_viewName_for_window(&self, _window: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn get_context_for_window(&self, _window: &str) -> Context {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn set_window_context(&self, _context: &Context) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 69 |
[INFO] [stdout] 70 |     pub fn current_window(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn move_to_top_of_window(&self, _context: &Context) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 75 |
[INFO] [stdout] 76 |     pub fn top_view_in_window(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn window_for_view(&self, _view_name: &str) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn side_windows(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkingTreeHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/working_tree_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct WorkingTreeHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/working_tree_helper.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct HelperCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/working_tree_helper.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct RefsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/working_tree_helper.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct CommitsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GpgHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/working_tree_helper.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct GpgHelper;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeAndRebaseHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/working_tree_helper.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct MergeAndRebaseHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/working_tree_helper.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl WorkingTreeHelper {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn any_staged_files(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn any_staged_files_except_submodules(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn any_tracked_files(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn any_tracked_files_except_submodules(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn is_working_tree_dirty_except_submodules(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn file_for_submodule(&self, _submodule: &SubmoduleConfig) -> Option<File> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn open_merge_tool(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn handle_commit_press_with_message(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn handle_commit_editor_press(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn handle_wip_commit_press(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn handle_commit_press(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn with_ensure_committable_files<F>(&self, _handler: F) -> Result<(), String>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn create_merge_conflict_menu(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/working_tree_helper.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub struct File;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubmoduleConfig` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/working_tree_helper.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub struct SubmoduleConfig;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `any_staged_files` is never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/working_tree_helper.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn any_staged_files(_files: &[File]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `any_tracked_files` is never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/working_tree_helper.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn any_tracked_files(_files: &[File]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_working_tree_dirty_except_submodules` is never used
[INFO] [stdout]    --> crates/app/src/controllers/helpers/working_tree_helper.rs:108:8
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub fn is_working_tree_dirty_except_submodules(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorktreeHelper` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/helpers/worktree_helper.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct WorktreeHelper {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HelperCommon` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/worktree_helper.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct HelperCommon;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReposHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/worktree_helper.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ReposHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/worktree_helper.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct RefsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuggestionsHelper` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/worktree_helper.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SuggestionsHelper;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/helpers/worktree_helper.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl WorktreeHelper {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn get_main_worktree_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn get_linked_worktree_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn new_worktree(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn new_worktree_checkout(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn switch(&self, _worktree: &Worktree, _context_key: &str) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn remove(&self, _worktree: &Worktree, _force: bool) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn detach(&self, _worktree: &Worktree) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn view_worktree_options(&self, _context: &ListContext, _ref: &str) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn view_branch_worktree_options(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Worktree` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/worktree_helper.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Worktree {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/worktree_helper.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct ListContext;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuItem` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/worktree_helper.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct MenuItem;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PromptOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/worktree_helper.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct PromptOpts;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfirmOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/helpers/worktree_helper.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct ConfirmOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JumpToSideWindowController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/jump_to_side_window_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct JumpToSideWindowController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `context`, `get_keybindings`, and `go_to_side_window` are never used
[INFO] [stdout]   --> crates/app/src/controllers/jump_to_side_window_controller.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl JumpToSideWindowController {
[INFO] [stdout]    | ------------------------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(common: ControllerCommon, next_tab_func: fn() -> Result<(), String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn context(&self) -> Option<Context> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn go_to_side_window(&self, _window: &str) -> impl Fn() -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/jump_to_side_window_controller.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Context;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/jump_to_side_window_controller.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/jump_to_side_window_controller.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalCommitsController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/local_commits_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct LocalCommitsController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListControllerTrait` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/local_commits_controller.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct ListControllerTrait;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Commit` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/local_commits_controller.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Commit;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisabledReason` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/local_commits_controller.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct DisabledReason {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/local_commits_controller.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/local_commits_controller.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfirmOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/local_commits_controller.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ConfirmOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateMenuOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/local_commits_controller.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct CreateMenuOptions;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuItem` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/local_commits_controller.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct MenuItem;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefreshOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/local_commits_controller.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct RefreshOptions;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SelectionRangeAndMode` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/local_commits_controller.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct SelectionRangeAndMode {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RangeSelectMode` is never used
[INFO] [stdout]   --> crates/app/src/controllers/local_commits_controller.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub enum RangeSelectMode {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/app/src/controllers/local_commits_controller.rs:41:12
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl LocalCommitsController {
[INFO] [stdout]     | --------------------------- associated items in this implementation
[INFO] [stdout]  41 |     pub fn new(common: ControllerCommon, pull_files: PullFilesFn) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  45 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn get_on_render_to_main(&self) -> Box<dyn Fn()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn squash_down(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  62 |     pub fn fixup(
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn reword(&self, _commit: &Commit) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn drop(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn edit(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn quick_start_interactive_rebase(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn move_down(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn move_up(
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn amend_to(&self, _commit: &Commit) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn revert(&self, _commits: &[Commit], _start: usize, _end: usize) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn create_tag(&self, _commit: &Commit) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     pub fn open_search(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn handle_open_log_menu(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn paste(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     pub fn mark_as_base_commit(&self, _commit: &Commit) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn get_on_focus(&self) -> Box<dyn Fn()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PullFilesFn` is never used
[INFO] [stdout]    --> crates/app/src/controllers/local_commits_controller.rs:148:6
[INFO] [stdout]     |
[INFO] [stdout] 148 | type PullFilesFn = Box<dyn Fn() -> Result<(), String>>;
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MainViewController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/main_view_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MainViewController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MainContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/main_view_controller.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct MainContext;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBindingOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/main_view_controller.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ViewMouseBindingOpts {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/main_view_controller.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/main_view_controller.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/main_view_controller.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl MainViewController {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout] 25 |     pub fn new(common: ControllerCommon, context: MainContext, other_context: MainContext) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn get_mouse_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<ViewMouseBinding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn context(&self) -> MainContext {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn toggle_panel(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn escape(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn on_click_in_already_focused_view(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn on_click_in_other_view_of_main_view_pair(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn open_search(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBinding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/main_view_controller.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct ViewMouseBinding;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/menu_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MenuController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListControllerTrait` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/menu_controller.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ListControllerTrait;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuItem` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/menu_controller.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct MenuItem;
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/menu_controller.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MenuContext;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OnFocusOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/menu_controller.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct OnFocusOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/menu_controller.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/menu_controller.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/menu_controller.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl MenuController {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_on_double_click(&self) -> Box<dyn Fn() -> Result<(), String>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn get_on_focus(&self) -> Box<dyn Fn(OnFocusOpts)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn press(&self, _selected_item: &MenuItem) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn close(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn context(&self) -> MenuContext {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeConflictsController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/merge_conflicts_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MergeConflictsController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeConflictsContext` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/merge_conflicts_controller.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct MergeConflictsContext;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBinding` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/merge_conflicts_controller.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct ViewMouseBinding {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/merge_conflicts_controller.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/merge_conflicts_controller.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OnFocusOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/merge_conflicts_controller.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct OnFocusOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OnFocusLostOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/merge_conflicts_controller.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct OnFocusLostOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/app/src/controllers/merge_conflicts_controller.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl MergeConflictsController {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout]  23 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  27 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  31 |     pub fn get_mouse_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<ViewMouseBinding> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  35 |     pub fn get_on_focus(&self) -> Box<dyn Fn(OnFocusOpts)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  39 |     pub fn get_on_focus_lost(&self) -> Box<dyn Fn(OnFocusLostOpts)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn handle_scroll_up(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn handle_scroll_down(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  51 |     pub fn context(&self) -> MergeConflictsContext {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  55 |     pub fn escape(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn handle_edit_file(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn handle_open_file(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  67 |     pub fn handle_scroll_left(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn handle_scroll_right(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn handle_undo(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn prev_conflict_hunk(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn next_conflict_hunk(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn next_conflict(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn prev_conflict(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn handle_pick_hunk(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn handle_pick_all_hunks(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn open_merge_conflict_menu(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBindingOpts` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/merge_conflicts_controller.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct ViewMouseBindingOpts;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OptionsMenuAction` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/options_menu_action.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct OptionsMenuAction {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuItem` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/options_menu_action.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct MenuItem;
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuSection` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/options_menu_action.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct MenuSection {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/options_menu_action.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Binding;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateMenuOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/options_menu_action.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct CreateMenuOptions;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisabledReason` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/options_menu_action.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct DisabledReason;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `call`, and `get_bindings` are never used
[INFO] [stdout]   --> crates/app/src/controllers/options_menu_action.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl OptionsMenuAction {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn call(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     fn get_bindings(&self, _context: &dyn Context) -> (Vec<Binding>, Vec<Binding>, Vec<Binding>) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Context` is never used
[INFO] [stdout]   --> crates/app/src/controllers/options_menu_action.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait Context {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchBuildingController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/patch_building_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct PatchBuildingController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBinding` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/patch_building_controller.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ViewMouseBinding;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/patch_building_controller.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Binding;
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/patch_building_controller.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OnFocusOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/patch_building_controller.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct OnFocusOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OnFocusLostOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/patch_building_controller.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct OnFocusLostOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisabledReason` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/patch_building_controller.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct DisabledReason {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/patch_building_controller.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl PatchBuildingController {
[INFO] [stdout]    | ---------------------------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn context(&self) -> PatchExplorerContext {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn get_mouse_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<ViewMouseBinding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn get_on_focus(&self) -> Box<dyn Fn(OnFocusOpts)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn get_on_focus_lost(&self) -> Box<dyn Fn(OnFocusLostOpts)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn open_file(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn edit_file(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn toggle_selection_and_refresh(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn discard_selection(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn escape(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn escape_description(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchExplorerContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/patch_building_controller.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct PatchExplorerContext;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchExplorerControllerFactory` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/patch_explorer_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct PatchExplorerControllerFactory {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchExplorerController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/patch_explorer_controller.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct PatchExplorerController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchExplorerContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/patch_explorer_controller.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct PatchExplorerContext;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBinding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/patch_explorer_controller.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ViewMouseBinding;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/patch_explorer_controller.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Binding;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/patch_explorer_controller.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `create` are never used
[INFO] [stdout]   --> crates/app/src/controllers/patch_explorer_controller.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl PatchExplorerControllerFactory {
[INFO] [stdout]    | ----------------------------------- associated items in this implementation
[INFO] [stdout] 20 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn create(&self, context: PatchExplorerContext) -> PatchExplorerController {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> crates/app/src/controllers/patch_explorer_controller.rs:33:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl PatchExplorerController {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout]  33 |     pub fn context(&self) -> PatchExplorerContext {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  37 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  41 |     pub fn get_mouse_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<ViewMouseBinding> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  45 |     pub fn handle_prev_line(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn handle_next_line(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn handle_prev_line_range(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn handle_next_line_range(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn handle_prev_hunk(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  65 |     pub fn handle_next_hunk(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn handle_toggle_select_range(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn handle_toggle_select_hunk(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn handle_scroll_left(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn handle_scroll_right(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn handle_prev_page(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn handle_next_page(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn handle_goto_top(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn handle_goto_bottom(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub fn handle_mouse_down(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn handle_mouse_drag(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 109 |     pub fn copy_selected_to_clipboard(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PromptController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/prompt_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct PromptController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBinding` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/prompt_controller.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ViewMouseBinding;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/prompt_controller.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Binding;
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/prompt_controller.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_keybindings`, `get_mouse_keybindings`, `get_on_focus_lost`, `context`, and `switch_to_suggestions` are never used
[INFO] [stdout]   --> crates/app/src/controllers/prompt_controller.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl PromptController {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn get_mouse_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<ViewMouseBinding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn get_on_focus_lost(&self) -> Box<dyn Fn()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn context(&self) -> PromptContext {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn switch_to_suggestions(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PromptContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/prompt_controller.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct PromptContext;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QuitActions` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/quit_actions.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct QuitActions {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/quit_actions.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl QuitActions {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn quit(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn quit_without_changing_directory(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn quit_aux(&self) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn confirm_quit_during_update(&self) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn escape(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn escape_enabled(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn escape_description(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReflogCommitsController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/reflog_commits_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ReflogCommitsController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListControllerTrait` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/reflog_commits_controller.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct ListControllerTrait;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `context`, and `get_on_render_to_main` are never used
[INFO] [stdout]   --> crates/app/src/controllers/reflog_commits_controller.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ReflogCommitsController {
[INFO] [stdout]    | ---------------------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn context(&self) -> ReflogCommitsContext {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn get_on_render_to_main(&self) -> Box<dyn Fn()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReflogCommitsContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/reflog_commits_controller.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ReflogCommitsContext;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RemoteBranchesController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/remote_branches_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct RemoteBranchesController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/remote_branches_controller.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl RemoteBranchesController {
[INFO] [stdout]    | ----------------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn get_on_render_to_main(&self) -> Box<dyn Fn()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn delete(&self, _selected_branches: &[RemoteBranch]) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn merge(&self, _selected_branch: &RemoteBranch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn rebase(&self, _selected_branch: &RemoteBranch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn create_sort_menu(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn create_reset_menu(&self, _selected_branch: &RemoteBranch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn set_as_upstream(&self, _selected_branch: &RemoteBranch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn new_local_branch(&self, _selected_branch: &RemoteBranch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn checkout_branch(&self, _selected_branch: &RemoteBranch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/remote_branches_controller.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/remote_branches_controller.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Binding;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RemoteBranch` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/remote_branches_controller.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct RemoteBranch;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RenameSimilarityThresholdController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/rename_similarity_threshold_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct RenameSimilarityThresholdController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_keybindings`, `context`, `increase`, `decrease`, and `apply_change` are never used
[INFO] [stdout]   --> crates/app/src/controllers/rename_similarity_threshold_controller.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl RenameSimilarityThresholdController {
[INFO] [stdout]    | ---------------------------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn context(&self) -> Option<Context> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn increase(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn decrease(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn apply_change(&self) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/rename_similarity_threshold_controller.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/rename_similarity_threshold_controller.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct Binding;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/rename_similarity_threshold_controller.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Context;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScreenModeActions` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/screen_mode_actions.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ScreenModeActions {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ScreenMode` is never used
[INFO] [stdout]  --> crates/app/src/controllers/screen_mode_actions.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum ScreenMode {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `next`, `prev`, `rerender_views_with_screen_mode_dependent_content`, and `rerender_view` are never used
[INFO] [stdout]   --> crates/app/src/controllers/screen_mode_actions.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl ScreenModeActions {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn next(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn prev(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     fn rerender_views_with_screen_mode_dependent_content(&self) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |
[INFO] [stdout] 30 |     fn rerender_view(&self, _view: &View) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `View` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/screen_mode_actions.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct View;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_in_cycle` is never used
[INFO] [stdout]   --> crates/app/src/controllers/screen_mode_actions.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn next_in_cycle(sl: &[ScreenMode], current: &ScreenMode) -> ScreenMode {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prev_in_cycle` is never used
[INFO] [stdout]   --> crates/app/src/controllers/screen_mode_actions.rs:47:4
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn prev_in_cycle(sl: &[ScreenMode], current: &ScreenMode) -> ScreenMode {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchControllerFactory` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/search_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SearchControllerFactory {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/search_controller.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct SearchController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchableContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/search_controller.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct SearchableContext;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `create` are never used
[INFO] [stdout]   --> crates/app/src/controllers/search_controller.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl SearchControllerFactory {
[INFO] [stdout]    | ---------------------------- associated items in this implementation
[INFO] [stdout] 17 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn create(&self, context: SearchableContext) -> SearchController {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `context`, `get_keybindings`, and `open_search_prompt` are never used
[INFO] [stdout]   --> crates/app/src/controllers/search_controller.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl SearchController {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] 30 |     pub fn context(&self) -> SearchableContext {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn open_search_prompt(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/search_controller.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/search_controller.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Binding;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchPromptController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/search_prompt_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SearchPromptController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/search_prompt_controller.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl SearchPromptController {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn context(&self) -> Context {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn confirm(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn cancel(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn prev_history(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn next_history(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/search_prompt_controller.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/search_prompt_controller.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Binding;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/search_prompt_controller.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Context;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShellCommandAction` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/shell_command_action.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ShellCommandAction {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `call`, `get_shell_commands_history_suggestions_func`, and `should_save_command` are never used
[INFO] [stdout]   --> crates/app/src/controllers/shell_command_action.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ShellCommandAction {
[INFO] [stdout]    | ----------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn call(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn get_shell_commands_history_suggestions_func(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn should_save_command(&self, command: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Suggestion` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/shell_command_action.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Suggestion;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SideWindowControllerFactory` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/side_window_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SideWindowControllerFactory {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SideWindowController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/side_window_controller.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct SideWindowController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/side_window_controller.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Context;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `create` are never used
[INFO] [stdout]   --> crates/app/src/controllers/side_window_controller.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl SideWindowControllerFactory {
[INFO] [stdout]    | -------------------------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn create(&self, context: Context) -> SideWindowController {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_keybindings`, `context`, `previous_side_window`, and `next_side_window` are never used
[INFO] [stdout]   --> crates/app/src/controllers/side_window_controller.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl SideWindowController {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 29 |     pub fn new(common: ControllerCommon, context: Context) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn context(&self) -> Option<Context> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn previous_side_window(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn next_side_window(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/side_window_controller.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/side_window_controller.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct Binding;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SnakeController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/snake_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SnakeController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> crates/app/src/controllers/snake_controller.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Direction {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/snake_controller.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl SnakeController {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn context(&self) -> Option<Context> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_on_focus(&self) -> Box<dyn Fn()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn get_on_focus_lost(&self) -> Box<dyn Fn()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn set_direction(&self, _direction: Direction) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn escape(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/snake_controller.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Context;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/snake_controller.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/snake_controller.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct Binding;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StagingController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/staging_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct StagingController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IPatchExplorerContext` is never used
[INFO] [stdout]   --> crates/app/src/controllers/staging_controller.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait IPatchExplorerContext {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PatchExplorerState` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/staging_controller.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct PatchExplorerState;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mutex` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/staging_controller.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Mutex;
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `lock` and `unlock` are never used
[INFO] [stdout]   --> crates/app/src/controllers/staging_controller.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Mutex {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 23 |     pub fn lock(&self) {}
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 24 |     pub fn unlock(&self) {}
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> crates/app/src/controllers/staging_controller.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl PatchExplorerState {
[INFO] [stdout]    | ----------------------- methods in this implementation
[INFO] [stdout] 28 |     pub fn current_line_number(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn selecting_range(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn selecting_hunk_enabled_by_user(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn set_line_select_mode(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 38 |     pub fn selected_patch_range(&self) -> (usize, usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn get_diff(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn selected_view_range(&self) -> (usize, usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn select_line(&self, _line: usize) {}
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 48 |     pub fn current_hunk_bounds(&self) -> (usize, usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn get_selected_patch_line_idx(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/app/src/controllers/staging_controller.rs:57:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl StagingController {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  57 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn context(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  79 |     pub fn get_mouse_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<ViewMouseBinding> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn get_on_focus(&self) -> Box<dyn Fn(OnFocusOpts)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn get_on_focus_lost(&self) -> Box<dyn Fn(OnFocusLostOpts)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn open_file(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn edit_file(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn escape(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn escape_description(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     pub fn toggle_panel(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn toggle_staged(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |     pub fn discard_selection(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     fn apply_selection_and_refresh(&self, reverse: bool) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     fn apply_selection(&self, _reverse: bool) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn edit_hunk_and_refresh(&self) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     fn edit_hunk(&self) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn file_path(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/staging_controller.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct KeybindingsOpts;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OnFocusOpts` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/staging_controller.rs:143:12
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub struct OnFocusOpts;
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OnFocusLostOpts` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/staging_controller.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct OnFocusLostOpts;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBinding` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/staging_controller.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | pub struct ViewMouseBinding;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/staging_controller.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct Binding {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfirmOpts` is never constructed
[INFO] [stdout]    --> crates/app/src/controllers/staging_controller.rs:151:12
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub struct ConfirmOpts;
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StashController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/stash_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct StashController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StashEntry` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/stash_controller.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct StashEntry {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `full_ref_name`, `ref_name`, and `name` are never used
[INFO] [stdout]   --> crates/app/src/controllers/stash_controller.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl StashEntry {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 16 |     pub fn full_ref_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn ref_name(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn name(&self) -> String {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/stash_controller.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl StashController {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 28 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn get_on_render_to_main(&self) -> Box<dyn Fn()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn context(&self) -> StashContext {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn handle_stash_apply(&self, _stash_entry: &StashEntry) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn handle_stash_pop(&self, _stash_entry: &StashEntry) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn handle_stash_drop(&self, _stash_entries: &[StashEntry]) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn post_stash_refresh(&self) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |
[INFO] [stdout] 61 |     pub fn handle_new_branch_off_stash_entry(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn handle_rename_stash_entry(&self, _stash_entry: &StashEntry) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListControllerTrait` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/stash_controller.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct ListControllerTrait<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/controllers/stash_controller.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl<T> ListControllerTrait<T> {
[INFO] [stdout]    | ------------------------------ associated function in this implementation
[INFO] [stdout] 78 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StashContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/stash_controller.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct StashContext;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/stash_controller.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/stash_controller.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfirmOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/stash_controller.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct ConfirmOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PromptOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/stash_controller.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct PromptOpts;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatusController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/status_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct StatusController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/status_controller.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl StatusController {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn get_mouse_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<ViewMouseBinding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn get_on_render_to_main(&self) -> Box<dyn Fn()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn context(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn on_click(&self, _opts: ViewMouseBindingOpts) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn ask_for_config_file(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn open_config(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn edit_config(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn show_all_branch_logs(&self) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 49 |
[INFO] [stdout] 50 |     fn switch_to_or_rotate_all_branches_logs(&self) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 51 |
[INFO] [stdout] 52 |     fn switch_to_or_rotate_all_branches_logs_backward(&self) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 53 |
[INFO] [stdout] 54 |     fn show_dashboard(&self) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 55 |
[INFO] [stdout] 56 |     pub fn handle_check_for_update(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/status_controller.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBinding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/status_controller.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct ViewMouseBinding;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/status_controller.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBindingOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/status_controller.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct ViewMouseBindingOpts {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateMenuOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/status_controller.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct CreateMenuOptions;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubCommitsController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/sub_commits_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SubCommitsController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Commit` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/sub_commits_controller.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Commit;
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `context`, `context_ref`, `get_on_render_to_main`, and `get_on_focus` are never used
[INFO] [stdout]   --> crates/app/src/controllers/sub_commits_controller.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl SubCommitsController {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn context(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn context_ref(&self) -> SubCommitsContext {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn get_on_render_to_main(&self) -> Box<dyn Fn()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn get_on_focus(&self) -> Box<dyn Fn(OnFocusOpts)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListControllerTrait` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/sub_commits_controller.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct ListControllerTrait<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/controllers/sub_commits_controller.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<T> ListControllerTrait<T> {
[INFO] [stdout]    | ------------------------------ associated function in this implementation
[INFO] [stdout] 41 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubCommitsContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/sub_commits_controller.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct SubCommitsContext;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OnFocusOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/sub_commits_controller.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct OnFocusOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubmodulesController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/submodules_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SubmodulesController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubmoduleConfig` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/submodules_controller.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct SubmoduleConfig;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/submodules_controller.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl SubmodulesController {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn get_on_double_click(&self) -> Box<dyn Fn() -> Result<(), String>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn get_on_render_to_main(&self) -> Box<dyn Fn()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn enter(&self, _submodule: &SubmoduleConfig) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn add(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn edit_url(&self, _submodule: &SubmoduleConfig) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn init(&self, _submodule: &SubmoduleConfig) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn open_bulk_actions_menu(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn update(&self, _submodule: &SubmoduleConfig) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn remove(&self, _submodule: &SubmoduleConfig) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn easter_egg(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn context(&self) -> SubmodulesContext {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListControllerTrait` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/submodules_controller.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct ListControllerTrait<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/controllers/submodules_controller.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T> ListControllerTrait<T> {
[INFO] [stdout]    | ------------------------------ associated function in this implementation
[INFO] [stdout] 73 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SubmodulesContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/submodules_controller.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct SubmodulesContext;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/submodules_controller.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/submodules_controller.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuggestionsController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/suggestions_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SuggestionsController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Suggestion` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/suggestions_controller.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Suggestion;
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_keybindings`, `get_mouse_keybindings`, `switch_to_prompt`, `get_on_focus_lost`, and `context` are never used
[INFO] [stdout]   --> crates/app/src/controllers/suggestions_controller.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl SuggestionsController {
[INFO] [stdout]    | -------------------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn get_mouse_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<ViewMouseBinding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn switch_to_prompt(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn get_on_focus_lost(&self) -> Box<dyn Fn(OnFocusLostOpts)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     fn context(&self) -> SuggestionsContext {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListControllerTrait` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/suggestions_controller.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ListControllerTrait<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/controllers/suggestions_controller.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl<T> ListControllerTrait<T> {
[INFO] [stdout]    | ------------------------------ associated function in this implementation
[INFO] [stdout] 45 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuggestionsContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/suggestions_controller.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct SuggestionsContext;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/suggestions_controller.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBinding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/suggestions_controller.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct ViewMouseBinding;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OnFocusLostOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/suggestions_controller.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct OnFocusLostOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/suggestions_controller.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SwitchToDiffFilesController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/switch_to_diff_files_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SwitchToDiffFilesController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CanSwitchToDiffFiles` is never used
[INFO] [stdout]  --> crates/app/src/controllers/switch_to_diff_files_controller.rs:9:11
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub trait CanSwitchToDiffFiles {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ref` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_diff_files_controller.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Ref;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefRange` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_diff_files_controller.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct RefRange;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_keybindings`, `context`, `get_on_double_click`, `enter`, and `can_enter` are never used
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_diff_files_controller.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl SwitchToDiffFilesController {
[INFO] [stdout]    | -------------------------------- associated items in this implementation
[INFO] [stdout] 19 |     pub fn new(common: ControllerCommon, context: Box<dyn CanSwitchToDiffFiles>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn context(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn get_on_double_click(&self) -> Box<dyn Fn() -> Result<(), String>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn enter(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn can_enter(&self) -> Option<DisabledReason> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_diff_files_controller.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_diff_files_controller.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisabledReason` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_diff_files_controller.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct DisabledReason {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SwitchToFocusedMainViewController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/switch_to_focused_main_view_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SwitchToFocusedMainViewController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_focused_main_view_controller.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl SwitchToFocusedMainViewController {
[INFO] [stdout]    | -------------------------------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(common: ControllerCommon, context: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn get_mouse_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<ViewMouseBinding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn context(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn on_click_main(&self, _opts: ViewMouseBindingOpts) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn on_click_secondary(&self, _opts: ViewMouseBindingOpts) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn handle_focus_main_view(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     fn focus_main_view(&self, _main_view_context: String) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_focused_main_view_controller.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_focused_main_view_controller.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBinding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_focused_main_view_controller.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ViewMouseBinding;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBindingOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_focused_main_view_controller.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ViewMouseBindingOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SwitchToSubCommitsController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/switch_to_sub_commits_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SwitchToSubCommitsController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CanSwitchToSubCommits` is never used
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_sub_commits_controller.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait CanSwitchToSubCommits {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ref` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_sub_commits_controller.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Ref;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_keybindings`, `get_on_double_click`, and `view_commits` are never used
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_sub_commits_controller.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl SwitchToSubCommitsController {
[INFO] [stdout]    | --------------------------------- associated items in this implementation
[INFO] [stdout] 18 |     pub fn new(common: ControllerCommon, context: Box<dyn CanSwitchToSubCommits>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn get_on_double_click(&self) -> Box<dyn Fn() -> Result<(), String>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn view_commits(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListControllerTrait` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_sub_commits_controller.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct ListControllerTrait<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_sub_commits_controller.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl<T> ListControllerTrait<T> {
[INFO] [stdout]    | ------------------------------ associated function in this implementation
[INFO] [stdout] 44 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_sub_commits_controller.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/switch_to_sub_commits_controller.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SyncController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/sync_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SyncController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/sync_controller.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl SyncController {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn context(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn handle_push(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn handle_pull(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn get_disabled_reason_for_push_or_pull(&self) -> Option<DisabledReason> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn branch_checked_out(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn push(&self, _current_branch: &Branch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn pull(&self, _current_branch: &Branch) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn set_current_branch_upstream(&self, _upstream: String) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn pull_aux(
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     fn pull_with_lock(&self, _opts: PullFilesOptions) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn push_aux(&self, _current_branch: &Branch, _opts: PushOpts) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn request_to_force_push(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn force_push_prompt(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Branch` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/sync_controller.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct Branch;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/sync_controller.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/sync_controller.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisabledReason` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/sync_controller.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct DisabledReason {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PullFilesOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/sync_controller.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct PullFilesOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PushOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/sync_controller.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct PushOpts {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TagsController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/tags_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct TagsController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tag` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/tags_controller.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Tag;
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/tags_controller.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl TagsController {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn get_on_render_to_main(&self) -> Box<dyn Fn()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn get_tag_info(&self, _tag: &Tag) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn checkout(&self, _tag: &Tag) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn local_delete(&self, _tag: &Tag) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn remote_delete(&self, _tag: &Tag) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn local_and_remote_delete(&self, _tag: &Tag) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn delete(&self, _tag: &Tag) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn push(&self, _tag: &Tag) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn create_reset_menu(&self, _tag: &Tag) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn create(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     fn context(&self) -> TagsContext {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListControllerTrait` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/tags_controller.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub struct ListControllerTrait<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/controllers/tags_controller.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl<T> ListControllerTrait<T> {
[INFO] [stdout]    | ------------------------------ associated function in this implementation
[INFO] [stdout] 73 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TagsContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/tags_controller.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct TagsContext;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/tags_controller.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/tags_controller.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToggleWhitespaceAction` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/toggle_whitespace_action.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ToggleWhitespaceAction {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `call` are never used
[INFO] [stdout]   --> crates/app/src/controllers/toggle_whitespace_action.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ToggleWhitespaceAction {
[INFO] [stdout]    | --------------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn call(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UndoController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/undo_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct UndoController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ReflogActionKind` is never used
[INFO] [stdout]  --> crates/app/src/controllers/undo_controller.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum ReflogActionKind {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReflogAction` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/undo_controller.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ReflogAction {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/undo_controller.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl UndoController {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn context(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn reflog_undo(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn reflog_redo(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn parse_reflog_for_actions(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     fn hard_reset_with_auto_stash(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HardResetOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/undo_controller.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct HardResetOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/undo_controller.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/undo_controller.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewSelectionControllerFactory` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/view_selection_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ViewSelectionControllerFactory {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `create` are never used
[INFO] [stdout]   --> crates/app/src/controllers/view_selection_controller.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl ViewSelectionControllerFactory {
[INFO] [stdout]    | ----------------------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn create(&self, _context: String) -> ViewSelectionController {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewSelectionController` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/view_selection_controller.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct ViewSelectionController {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/view_selection_controller.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl ViewSelectionController {
[INFO] [stdout]    | ---------------------------- associated items in this implementation
[INFO] [stdout] 24 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn context(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn get_mouse_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<ViewMouseBinding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn handle_line_change(&self, _delta: i32) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 44 |
[INFO] [stdout] 45 |     pub fn handle_prev_line(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn handle_next_line(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn handle_prev_page(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn handle_next_page(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn handle_goto_top(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn handle_goto_bottom(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/view_selection_controller.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/view_selection_controller.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewMouseBinding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/view_selection_controller.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct ViewMouseBinding;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FilesController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/workspace_reset_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct FilesController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `create_reset_menu`, `animate_explosion`, and `explode` are never used
[INFO] [stdout]   --> crates/app/src/controllers/workspace_reset_controller.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl FilesController {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout]  9 |     pub fn create_reset_menu(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn animate_explosion(&self) {}
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |
[INFO] [stdout] 15 |     fn explode(&self, _view: &str, _on_done: fn()) {}
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_explode_image` is never used
[INFO] [stdout]   --> crates/app/src/controllers/workspace_reset_controller.rs:18:4
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn get_explode_image(_width: i32, _height: i32, _frame: i32, _max: i32) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorktreeOptionsController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/worktree_options_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct WorktreeOptionsController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CanViewWorktreeOptions` is never used
[INFO] [stdout]   --> crates/app/src/controllers/worktree_options_controller.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait CanViewWorktreeOptions {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_keybindings`, and `view_worktree_options` are never used
[INFO] [stdout]   --> crates/app/src/controllers/worktree_options_controller.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl WorktreeOptionsController {
[INFO] [stdout]    | ------------------------------ associated items in this implementation
[INFO] [stdout] 16 |     pub fn new(common: ControllerCommon, context: Box<dyn CanViewWorktreeOptions>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn view_worktree_options(&self, _ref: String) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListControllerTrait` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/worktree_options_controller.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ListControllerTrait<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/controllers/worktree_options_controller.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | impl<T> ListControllerTrait<T> {
[INFO] [stdout]    | ------------------------------ associated function in this implementation
[INFO] [stdout] 38 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/worktree_options_controller.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/worktree_options_controller.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorktreesController` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/worktrees_controller.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct WorktreesController {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Worktree` is never constructed
[INFO] [stdout]  --> crates/app/src/controllers/worktrees_controller.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct Worktree {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/controllers/worktrees_controller.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl WorktreesController {
[INFO] [stdout]    | ------------------------ associated items in this implementation
[INFO] [stdout] 20 |     pub fn new(common: ControllerCommon) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn get_keybindings(&self, _opts: &KeybindingsOpts) -> Vec<Binding> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn get_on_render_to_main(&self) -> Box<dyn Fn()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn add(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn remove(&self, _worktree: &Worktree) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn get_on_double_click(&self) -> Box<dyn Fn() -> Result<(), String>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn enter(&self, _worktree: &Worktree) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn open(&self, _worktree: &Worktree) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn context(&self) -> WorktreesContext {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ListControllerTrait` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/worktrees_controller.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct ListControllerTrait<T> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/controllers/worktrees_controller.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl<T> ListControllerTrait<T> {
[INFO] [stdout]    | ------------------------------ associated function in this implementation
[INFO] [stdout] 65 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorktreesContext` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/worktrees_controller.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct WorktreesContext;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingsOpts` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/worktrees_controller.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct KeybindingsOpts;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binding` is never constructed
[INFO] [stdout]   --> crates/app/src/controllers/worktrees_controller.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct Binding {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollapsedPaths` is never constructed
[INFO] [stdout]  --> crates/app/src/filetree/collapsed_paths.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct CollapsedPaths {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `expand_to_path`, `is_collapsed`, `collapse`, `toggle_collapsed`, and `expand_all` are never used
[INFO] [stdout]   --> crates/app/src/filetree/collapsed_paths.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl CollapsedPaths {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn expand_to_path(&mut self, _path: String) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 15 |
[INFO] [stdout] 16 |     pub fn is_collapsed(&self, _path: &String) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn collapse(&mut self, _path: String) {}
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 21 |
[INFO] [stdout] 22 |     pub fn toggle_collapsed(&mut self, _path: String) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 23 |
[INFO] [stdout] 24 |     pub fn expand_all(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitFileNode` is never constructed
[INFO] [stdout]  --> crates/app/src/filetree/commit_file_node.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct CommitFileNode;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `raw` are never used
[INFO] [stdout]   --> crates/app/src/filetree/commit_file_node.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl CommitFileNode {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout]  6 |     pub fn new(_node: &CommitFileNode) -> Option<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn raw(&self) -> &CommitFileNode {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitFileTree` is never constructed
[INFO] [stdout]  --> crates/app/src/filetree/commit_file_tree.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct CommitFileTree {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/filetree/commit_file_tree.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl CommitFileTree {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new(_get_files: fn() -> Vec<CommitFileNode>, _show_tree: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn collapse_all(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 28 |
[INFO] [stdout] 29 |     pub fn expand_all(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn expand_to_path(&mut self, _path: String) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 34 |
[INFO] [stdout] 35 |     pub fn toggle_show_tree(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn get(&self, _index: i32) -> Option<CommitFileNode> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn get_index_for_path(&self, _path: String) -> (i32, bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn get_all_items(&self) -> Vec<CommitFileNode> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn len(&self) -> i32 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn get_all_files(&self) -> Vec<CommitFile> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn set_text_filter(&mut self, _filter: String, _use_fuzzy_search: bool) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |
[INFO] [stdout] 61 |     pub fn get_text_filter(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn is_collapsed(&self, _path: &String) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn toggle_collapsed(&mut self, _path: String) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 70 |
[INFO] [stdout] 71 |     pub fn get_root(&self) -> Option<CommitFileNode> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn collapsed_paths(&self) -> &CollapsedPaths {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn get_file(&self, _path: &String) -> Option<CommitFile> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn get_visual_depth(&self, _index: i32) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn in_tree_mode(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitFile` is never constructed
[INFO] [stdout]   --> crates/app/src/filetree/commit_file_tree.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct CommitFile;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitFileTreeViewModel` is never constructed
[INFO] [stdout]  --> crates/app/src/filetree/commit_file_tree_view_model.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct CommitFileTreeViewModel {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/filetree/commit_file_tree_view_model.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl CommitFileTreeViewModel {
[INFO] [stdout]    | ---------------------------- associated items in this implementation
[INFO] [stdout] 14 |     pub fn new(_get_files: fn() -> Vec<CommitFileNode>, _show_tree: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn get_ref(&self) -> Option<Ref> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn set_ref(&mut self, _ref: Ref) {}
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 28 |
[INFO] [stdout] 29 |     pub fn get_ref_range(&self) -> Option<RefRange> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn set_ref_range(&mut self, _ref_range: RefRange) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 34 |
[INFO] [stdout] 35 |     pub fn get_can_rebase(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn set_can_rebase(&mut self, _can_rebase: bool) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 40 |
[INFO] [stdout] 41 |     pub fn get_selected(&self) -> Option<CommitFileNode> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn get_selected_item_id(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn get_selected_items(&self) -> (Vec<CommitFileNode>, i32, i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn get_selected_file(&self) -> Option<CommitFileNode> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_selected_path(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn toggle_show_tree(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 62 |
[INFO] [stdout] 63 |     pub fn collapse_all(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 64 |
[INFO] [stdout] 65 |     pub fn expand_all(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 66 |
[INFO] [stdout] 67 |     pub fn select_path(&mut self, _filepath: String, _show_root_item: bool) {}
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 68 |
[INFO] [stdout] 69 |     pub fn set_filter(&mut self, _filter: String, _use_fuzzy_search: bool) {}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 70 |
[INFO] [stdout] 71 |     pub fn get_filter(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn clear_filter(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 76 |
[INFO] [stdout] 77 |     pub fn re_apply_filter(&mut self, _use_fuzzy_search: bool) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 78 |
[INFO] [stdout] 79 |     pub fn is_filtering(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn filter_prefix(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Ref` is never constructed
[INFO] [stdout]   --> crates/app/src/filetree/commit_file_tree_view_model.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct Ref;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefRange` is never constructed
[INFO] [stdout]   --> crates/app/src/filetree/commit_file_tree_view_model.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct RefRange;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FilePathSource` is never constructed
[INFO] [stdout]  --> crates/app/src/filetree/file_filter.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct FilePathSource {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `string_at` and `len` are never used
[INFO] [stdout]   --> crates/app/src/filetree/file_filter.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl FilePathSource {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout]  8 |     pub fn string_at(&self, _i: usize) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitFilePathSource` is never constructed
[INFO] [stdout]   --> crates/app/src/filetree/file_filter.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct CommitFilePathSource {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `string_at` and `len` are never used
[INFO] [stdout]   --> crates/app/src/filetree/file_filter.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl CommitFilePathSource {
[INFO] [stdout]    | ------------------------- methods in this implementation
[INFO] [stdout] 22 |     pub fn string_at(&self, _i: usize) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]   --> crates/app/src/filetree/file_filter.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct File;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CommitFile` is never constructed
[INFO] [stdout]   --> crates/app/src/filetree/file_filter.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct CommitFile;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileTreeViewModel` is never constructed
[INFO] [stdout]  --> crates/app/src/filetree/file_tree_view_model.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct FileTreeViewModel {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/filetree/file_tree_view_model.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl FileTreeViewModel {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(_get_files: fn() -> Vec<File>, _show_tree: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn get_selected(&self) -> Option<FileNode> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn get_selected_item_id(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn get_selected_items(&self) -> (Vec<FileNode>, i32, i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_selected_file(&self) -> Option<File> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn get_selected_path(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn set_tree(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 37 |
[INFO] [stdout] 38 |     fn find_new_selected_idx(&self, _prev_nodes: &[FileNode], _curr_nodes: &[FileNode]) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn set_status_filter(&mut self, _filter: FileTreeDisplayFilter) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |     pub fn toggle_show_tree(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |
[INFO] [stdout] 46 |     pub fn collapse_all(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 47 |
[INFO] [stdout] 48 |     pub fn expand_all(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 49 |
[INFO] [stdout] 50 |     pub fn set_filter(&mut self, _filter: String, _use_fuzzy_search: bool) {}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 51 |
[INFO] [stdout] 52 |     pub fn get_filter(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn clear_filter(&mut self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 57 |
[INFO] [stdout] 58 |     pub fn re_apply_filter(&mut self, _use_fuzzy_search: bool) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 59 |
[INFO] [stdout] 60 |     pub fn is_filtering(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn filter_prefix(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileTree` is never constructed
[INFO] [stdout]   --> crates/app/src/filetree/file_tree_view_model.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct FileTree;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/filetree/file_tree_view_model.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | impl FileTree {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 72 |     pub fn new(_get_files: fn() -> Vec<File>, _show_tree: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileNode` is never constructed
[INFO] [stdout]   --> crates/app/src/filetree/file_tree_view_model.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct FileNode;
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]   --> crates/app/src/filetree/file_tree_view_model.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct File;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FileTreeDisplayFilter` is never used
[INFO] [stdout]   --> crates/app/src/filetree/file_tree_view_model.rs:78:10
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub enum FileTreeDisplayFilter {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ControllerInitializer` is never used
[INFO] [stdout]  --> crates/app/src/gui/controllers.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait ControllerInitializer {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GuiControllers` is never constructed
[INFO] [stdout]  --> crates/app/src/gui/controllers.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct GuiControllers {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GuiHelpers` is never constructed
[INFO] [stdout]  --> crates/app/src/gui/controllers.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct GuiHelpers {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/gui/controllers.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl GuiHelpers {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 48 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/gui/controllers.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 95 | impl GuiControllers {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 96 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DummyGui` is never constructed
[INFO] [stdout]  --> crates/app/src/gui/dummies.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct DummyGui;
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> crates/app/src/gui/dummies.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl DummyGui {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 6 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Gui` is never constructed
[INFO] [stdout]  --> crates/app/src/gui/editors.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Gui;
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `handle_editor_keypress`, `commit_message_editor`, `commit_description_editor`, `prompt_editor`, and `search_editor` are never used
[INFO] [stdout]   --> crates/app/src/gui/editors.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Gui {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout]  6 |     pub fn handle_editor_keypress(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn commit_message_editor(&self, _view: &str, _key: i32, _ch: char, _mod: i32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn commit_description_editor(&self, _view: &str, _key: i32, _ch: char, _mod: i32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn prompt_editor(&self, _view: &str, _key: i32, _ch: char, _mod: i32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn search_editor(&self, _view: &str, _key: i32, _ch: char, _mod: i32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Gui` is never constructed
[INFO] [stdout]  --> crates/app/src/gui/extras_panel.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Gui;
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> crates/app/src/gui/extras_panel.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Gui {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout]  6 |     pub fn handle_create_extras_menu_panel(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn handle_focus_command_log(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn scroll_up_extra(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn scroll_down_extra(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn page_up_extras_panel(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn page_down_extras_panel(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn go_to_extras_panel_top(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn go_to_extras_panel_bottom(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn get_cmd_writer(&self) -> PrefixWriter {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PrefixWriter` is never constructed
[INFO] [stdout]   --> crates/app/src/gui/extras_panel.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct PrefixWriter {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `write` are never used
[INFO] [stdout]   --> crates/app/src/gui/extras_panel.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl PrefixWriter {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 49 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn write(&mut self, _data: &[u8]) -> (usize, Result<(), String>) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Gui` is never constructed
[INFO] [stdout]  --> crates/app/src/gui/global_handlers.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Gui;
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HORIZONTAL_SCROLL_FACTOR` is never used
[INFO] [stdout]  --> crates/app/src/gui/global_handlers.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const HORIZONTAL_SCROLL_FACTOR: i32 = 3;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> crates/app/src/gui/global_handlers.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Gui {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout]  8 |     pub fn scroll_up_view(&self, _view: &str) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]  9 |
[INFO] [stdout] 10 |     pub fn scroll_down_view(&self, _view: &str) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     pub fn scroll_up_main(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn scroll_down_main(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn main_view(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn secondary_view(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn scroll_up_secondary(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn scroll_down_secondary(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn scroll_up_confirmation_panel(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn scroll_down_confirmation_panel(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn page_up_confirmation_panel(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn page_down_confirmation_panel(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn go_to_confirmation_panel_top(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn go_to_confirmation_panel_bottom(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn handle_copy_selected_side_context_item_to_clipboard(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn handle_copy_selected_side_context_item_commit_hash_to_clipboard(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn handle_copy_selected_side_context_item_to_clipboard_with_truncation(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn get_copy_selected_side_context_item_to_clipboard_disabled_reason(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn set_caption(&self, _caption: String) {}
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 84 |
[INFO] [stdout] 85 |     pub fn set_caption_prefix(&self, _prefix: String) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisabledReason` is never constructed
[INFO] [stdout]   --> crates/app/src/gui/global_handlers.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct DisabledReason {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Gui` is never constructed
[INFO] [stdout]  --> crates/app/src/gui/gui.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Gui {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GuiRepoState` is never constructed
[INFO] [stdout]  --> crates/app/src/gui/gui.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct GuiRepoState;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/gui/gui.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Gui {
[INFO] [stdout]    | -------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StateAccessor` is never constructed
[INFO] [stdout]   --> crates/app/src/gui/gui.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct StateAccessor;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PrevLayout` is never constructed
[INFO] [stdout]   --> crates/app/src/gui/gui.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct PrevLayout;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Repo` is never constructed
[INFO] [stdout]   --> crates/app/src/gui/gui.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Repo;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GuiCommon` is never constructed
[INFO] [stdout]  --> crates/app/src/gui/gui_common.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct GuiCommon;
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> crates/app/src/gui/gui_common.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl GuiCommon {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout]  6 |     pub fn log_action(&self, _msg: String) {}
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]  7 |
[INFO] [stdout]  8 |     pub fn log_command(&self, _cmd_str: String, _is_command_line: bool) {}
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout]  9 |
[INFO] [stdout] 10 |     pub fn refresh(&self, _opts: RefreshOptions) {}
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     pub fn post_refresh_update(&self, _context: String) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |     pub fn run_subprocess_and_refresh(&self, _cmd_obj: &str) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn run_subprocess(&self, _cmd_obj: &str) -> (bool, Result<(), String>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn suspend(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn resume(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn context(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn context_for_key(&self, _key: String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn get_app_state(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn save_app_state(&self) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn get_config(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn reset_view_origin(&self, _view: &str) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 51 |
[INFO] [stdout] 52 |     pub fn set_view_content(&self, _view: &str, _content: String) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 53 |
[INFO] [stdout] 54 |     pub fn render(&self) {}
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 55 |
[INFO] [stdout] 56 |     pub fn views(&self) -> String {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn git(&self) -> String {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn os(&self) -> String {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn modes(&self) -> String {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn model(&self) -> String {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RefreshOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/gui/gui_common.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct RefreshOptions;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GuiDriver` is never constructed
[INFO] [stdout]  --> crates/app/src/gui/gui_driver.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct GuiDriver {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> crates/app/src/gui/gui_driver.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl GuiDriver {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 10 |     pub fn press_key(&self, _key_str: String) {}
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     pub fn click(&self, _x: i32, _y: i32) {}
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |     pub fn check_all_toasts_acknowledged(&self) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |
[INFO] [stdout] 16 |     pub fn keys(&self) -> String {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn current_context(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn context_for_view(&self, _view_name: String) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn fail(&self, _message: String) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn log(&self, _message: String) {}
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 33 |
[INFO] [stdout] 34 |     pub fn log_ui(&self, _message: String) {}
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 35 |
[INFO] [stdout] 36 |     pub fn checked_out_ref(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn main_view(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn secondary_view(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn view(&self, _view_name: String) -> String {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn set_caption(&self, _caption: String) {}
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 53 |
[INFO] [stdout] 54 |     pub fn set_caption_prefix(&self, _prefix: String) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 55 |
[INFO] [stdout] 56 |     pub fn next_toast(&self) -> Option<String> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn headless(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `label` is never used
[INFO] [stdout]  --> crates/app/src/gui/keybindings/keybindings.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn label(name: &str) -> String {
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `label_from_key` is never used
[INFO] [stdout]   --> crates/app/src/gui/keybindings/keybindings.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn label_from_key(key: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_key` is never used
[INFO] [stdout]   --> crates/app/src/gui/keybindings/keybindings.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn get_key(key: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `label_by_key` is never used
[INFO] [stdout]  --> crates/app/src/gui/keybindings/keynames.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn label_by_key() -> HashMap<u16, &'static str> {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `key_by_label` is never used
[INFO] [stdout]   --> crates/app/src/gui/keybindings/keynames.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn key_by_label() -> HashMap<&'static str, u16> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `key_to_char` is never used
[INFO] [stdout]    --> crates/app/src/gui/keybindings/keynames.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub fn key_to_char(key: u16) -> char {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Gui` is never constructed
[INFO] [stdout]  --> crates/app/src/gui/main_panels.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Gui;
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> crates/app/src/gui/main_panels.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Gui {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout]  6 |     pub fn run_task_for_view(&self, _view: &str, _task: &str) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn move_main_context_pair_to_top(&self, _pair: &str) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 |
[INFO] [stdout] 12 |     pub fn move_main_context_to_top(&self, _context: &str) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 13 |
[INFO] [stdout] 14 |     pub fn refresh_main_view(&self, _opts: &str, _context: &str) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |
[INFO] [stdout] 16 |     pub fn normal_main_context_pair(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn staging_main_context_pair(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn patch_building_main_context_pair(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn merging_main_context_pair(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn all_main_context_pairs(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn refresh_main_views(&self, _opts: &str) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |
[INFO] [stdout] 38 |     pub fn split_main_panel(&self, _split_main_panel: bool) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Gui` is never constructed
[INFO] [stdout]  --> crates/app/src/gui/menu_panel.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Gui;
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_menu` is never used
[INFO] [stdout]  --> crates/app/src/gui/menu_panel.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | impl Gui {
[INFO] [stdout]   | -------- method in this implementation
[INFO] [stdout] 6 |     pub fn create_menu(&self, _opts: &MenuOptions) -> Result<(), String> {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MenuOptions` is never constructed
[INFO] [stdout]   --> crates/app/src/gui/menu_panel.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct MenuOptions;
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IntegrationTest` is never used
[INFO] [stdout]  --> crates/app/src/integration/types/types.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait IntegrationTest {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GuiDriver` is never used
[INFO] [stdout]   --> crates/app/src/integration/types/types.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait GuiDriver {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppConfig` is never constructed
[INFO] [stdout]   --> crates/app/src/integration/types/types.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct AppConfig;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KeybindingConfig` is never constructed
[INFO] [stdout]   --> crates/app/src/integration/types/types.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct KeybindingConfig;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Context` is never constructed
[INFO] [stdout]   --> crates/app/src/integration/types/types.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Context;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Branch` is never constructed
[INFO] [stdout]   --> crates/app/src/integration/types/types.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Branch;
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `View` is never constructed
[INFO] [stdout]   --> crates/app/src/integration/types/types.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct View;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Logger` is never constructed
[INFO] [stdout]  --> crates/app/src/logs/logs.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Logger;
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_production_logger` and `new_development_logger` are never used
[INFO] [stdout]   --> crates/app/src/logs/logs.rs:6:12
[INFO] [stdout]    |
[INFO] [stdout]  5 | impl Logger {
[INFO] [stdout]    | ----------- associated functions in this implementation
[INFO] [stdout]  6 |     pub fn new_production_logger() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub fn new_development_logger(_log_path: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tail_logs` is never used
[INFO] [stdout]  --> crates/app/src/logs/tail/tail.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn tail_logs(log_file_path: &str) -> Result<(), String> {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tail_logs_for_platform` is never used
[INFO] [stdout]  --> crates/app/src/logs/tail/logs_default.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn tail_logs_for_platform(_log_file_path: &str) {}
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergeConflict` is never constructed
[INFO] [stdout]  --> crates/app/src/mergeconflicts/merge_conflict.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MergeConflict {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `has_ancestor` and `is_marker_line` are never used
[INFO] [stdout]   --> crates/app/src/mergeconflicts/merge_conflict.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl MergeConflict {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 12 |     pub fn has_ancestor(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn is_marker_line(&self, i: i32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Selection` is never used
[INFO] [stdout]   --> crates/app/src/mergeconflicts/merge_conflict.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum Selection {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_index_to_keep`, `bounds`, and `selected` are never used
[INFO] [stdout]   --> crates/app/src/mergeconflicts/merge_conflict.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Selection {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] 30 |     pub fn is_index_to_keep(&self, conflict: &MergeConflict, i: i32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn bounds(&self, c: &MergeConflict) -> (i32, i32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn selected(&self, c: &MergeConflict, idx: i32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `available_selections` is never used
[INFO] [stdout]   --> crates/app/src/mergeconflicts/merge_conflict.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn available_selections(c: &MergeConflict) -> Vec<Selection> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `colored_conflict_file` is never used
[INFO] [stdout]  --> crates/app/src/mergeconflicts/rendering.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn colored_conflict_file(content: &str, conflicts: &[MergeConflict]) -> String {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `shift_conflict` is never used
[INFO] [stdout]   --> crates/app/src/mergeconflicts/rendering.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn shift_conflict(conflicts: &[MergeConflict]) -> (&MergeConflict, &[MergeConflict]) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CherryPicking` is never constructed
[INFO] [stdout]  --> crates/app/src/modes/cherrypicking/cherry_picking.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct CherryPicking {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Commit` is never constructed
[INFO] [stdout]   --> crates/app/src/modes/cherrypicking/cherry_picking.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct Commit {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `hash` is never used
[INFO] [stdout]   --> crates/app/src/modes/cherrypicking/cherry_picking.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl Commit {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 18 |     pub fn hash(&self) -> &str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/modes/cherrypicking/cherry_picking.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl CherryPicking {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 24 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn active(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn can_paste(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn selected_hash_set(&self) -> HashSet<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn add(&mut self, selected_commit: &Commit, commits_list: &[Commit]) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn remove(&mut self, selected_commit: &Commit, commits_list: &[Commit]) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn update(&mut self, selected_hash_set: HashSet<String>, commits_list: &[Commit]) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Diffing` is never constructed
[INFO] [stdout]  --> crates/app/src/modes/diffing/diffing.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Diffing {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `active`, and `get_from_and_reverse_args_for_diff` are never used
[INFO] [stdout]   --> crates/app/src/modes/diffing/diffing.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Diffing {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     pub fn active(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub fn get_from_and_reverse_args_for_diff(&self, from: &str) -> (String, bool) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Filtering` is never constructed
[INFO] [stdout]  --> crates/app/src/modes/filtering/filtering.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Filtering {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/modes/filtering/filtering.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Filtering {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 11 |     pub fn new(path: &str, author: &str) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn active(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn set_path(&mut self, path: &str) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn get_path(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn set_author(&mut self, author: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn get_author(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn set_selected_commit_hash(&mut self, hash: &str) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn get_selected_commit_hash(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarkedBaseCommit` is never constructed
[INFO] [stdout]  --> crates/app/src/modes/marked_base_commit/marked_base_commit.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MarkedBaseCommit {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `active`, `reset`, `set_hash`, and `get_hash` are never used
[INFO] [stdout]   --> crates/app/src/modes/marked_base_commit/marked_base_commit.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl MarkedBaseCommit {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn active(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn reset(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn set_hash(&mut self, hash: &str) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn get_hash(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Platform` is never constructed
[INFO] [stdout]   --> crates/app/src/oscommands/mod.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Platform {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CmdObjBuilder` is never constructed
[INFO] [stdout]   --> crates/app/src/oscommands/mod.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct CmdObjBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `new`, `new_shell`, and `quote` are never used
[INFO] [stdout]   --> crates/app/src/oscommands/mod.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl CmdObjBuilder {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 65 |     /// Create a new command with the given arguments.
[INFO] [stdout] 66 |     pub fn new(&self, args: Vec<&str>) -> CmdObj {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn new_shell(&self, command: &str, shell_functions_file: Option<&str>) -> CmdObj {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 97 |     pub fn quote(&self, message: &str) -> String {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `OSCommand` is never constructed
[INFO] [stdout]    --> crates/app/src/oscommands/mod.rs:112:12
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct OSCommand {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/app/src/oscommands/mod.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | impl OSCommand {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 123 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn new_shell(&self, command: &str) -> CmdObj {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn new_shell_with_file(&self, command: &str, shell_functions_file: &str) -> CmdObj {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn quote(&self, message: &str) -> String {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn get_temp_dir(&self) -> &str {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn getenv(&self, key: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn remove_file(&self, path: &Path) -> std::io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     pub fn file_exists(&self, path: &Path) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     pub fn log_command(&self, cmd: &str, command_line: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn run(&self, cmd_obj: CmdObj) -> Result<(), RunError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn run_with_output(&self, cmd_obj: CmdObj) -> Result<String, RunError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn run_with_outputs(&self, cmd_obj: CmdObj) -> Result<(String, String), RunError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn open_file(&self, filename: &str) -> Result<(), RunError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn open_link(&self, link: &str) -> Result<(), RunError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn copy_to_clipboard(&self, text: &str) -> Result<(), RunError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn paste_from_clipboard(&self) -> Result<String, RunError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn append_line_to_file(&self, filename: &str, line: &str) -> Result<(), std::io::Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn create_file_with_content(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn remove(&self, path: &Path) -> std::io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn file_type(path: &Path) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     pub fn pipe_commands(&self, cmd_objs: &[CmdObj]) -> Result<(), RunError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CmdObj` is never constructed
[INFO] [stdout]   --> crates/app/src/oscommands/cmd_obj.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct CmdObj {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> crates/app/src/oscommands/cmd_obj.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl CmdObj {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]  33 |     /// Create a new command object.
[INFO] [stdout]  34 |     pub fn new(cmd: Command) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub fn get_cmd(&self) -> &Command {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn to_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn args(&self) -> Vec<&OsStr> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn add_env_vars(mut self, vars: &[&str]) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn set_wd(mut self, wd: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn dont_log(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn should_log(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn stream_output(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn suppress_output_unless_error(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn use_pty(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn ignore_empty_error(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn prompt_on_credential_request(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn fail_on_credential_request(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CmdLogger` is never used
[INFO] [stdout]   --> crates/app/src/oscommands/cmd_obj_runner.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait CmdLogger: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GuiIo` is never used
[INFO] [stdout]   --> crates/app/src/oscommands/cmd_obj_runner.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait GuiIo: Send + Sync {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CmdObjRunner` is never constructed
[INFO] [stdout]   --> crates/app/src/oscommands/cmd_obj_runner.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct CmdObjRunner {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/oscommands/cmd_obj_runner.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl CmdObjRunner {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 29 |     /// Create a new command runner.
[INFO] [stdout] 30 |     pub fn new(log: Arc<dyn CmdLogger>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThreadSafeCmdRunner` is never constructed
[INFO] [stdout]   --> crates/app/src/oscommands/cmd_obj_runner.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct ThreadSafeCmdRunner(Arc<dyn CmdRunner>);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/oscommands/cmd_obj_runner.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl ThreadSafeCmdRunner {
[INFO] [stdout]    | ------------------------ associated function in this implementation
[INFO] [stdout] 69 |     pub fn new(runner: impl CmdRunner + 'static) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FakeCmdObjRunner` is never constructed
[INFO] [stdout]   --> crates/app/src/oscommands/cmd_obj_runner.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct FakeCmdObjRunner;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/oscommands/cmd_obj_runner.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl FakeCmdObjRunner {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 92 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GIT_OPTIONAL_LOCKS` is never used
[INFO] [stdout]   --> crates/app/src/oscommands/git_cmd_obj_builder.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const GIT_OPTIONAL_LOCKS: &str = "GIT_OPTIONAL_LOCKS=0";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GitCmdObjBuilder` is never constructed
[INFO] [stdout]   --> crates/app/src/oscommands/git_cmd_obj_builder.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct GitCmdObjBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `new_cmd`, `new_shell`, and `quote` are never used
[INFO] [stdout]   --> crates/app/src/oscommands/git_cmd_obj_builder.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl GitCmdObjBuilder {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 22 |     /// Create a new git command builder.
[INFO] [stdout] 23 |     pub fn new(builder: CmdObjBuilder) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn new_cmd(&self, args: Vec<&str>) -> CmdObj {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn new_shell(&self, command: &str, shell_functions_file: Option<&str>) -> CmdObj {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn quote(&self, message: &str) -> String {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `SharedGitCmdObjBuilder` is never used
[INFO] [stdout]   --> crates/app/src/oscommands/git_cmd_obj_builder.rs:50:10
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub type SharedGitCmdObjBuilder = Arc<GitCmdObjBuilder>;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INDEX_LOCK_MARKER` is never used
[INFO] [stdout]  --> crates/app/src/oscommands/git_cmd_obj_runner.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const INDEX_LOCK_MARKER: &str = ".git/index.lock";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RETRY_COUNT` is never used
[INFO] [stdout]  --> crates/app/src/oscommands/git_cmd_obj_runner.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const RETRY_COUNT: usize = 5;
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RETRY_WAIT` is never used
[INFO] [stdout]  --> crates/app/src/oscommands/git_cmd_obj_runner.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const RETRY_WAIT: Duration = Duration::from_millis(50);
[INFO] [stdout]   |       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `GitCmdLogger` is never used
[INFO] [stdout]   --> crates/app/src/oscommands/git_cmd_obj_runner.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait GitCmdLogger: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GitCmdRunner` is never constructed
[INFO] [stdout]   --> crates/app/src/oscommands/git_cmd_obj_runner.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct GitCmdRunner<R: CmdRunner> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> crates/app/src/oscommands/git_cmd_obj_runner.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl<R: CmdRunner> GitCmdRunner<R> {
[INFO] [stdout]    | ---------------------------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new(inner: R) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn with_logger(inner: R, logger: Arc<dyn GitCmdLogger>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn is_index_lock_error(output: &str, stderr: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn log_warning(&self, msg: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn run<F>(&self, cmd_factory: F) -> Result<(), RunError>
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn run_with_output<F>(&self, cmd_factory: F) -> Result<String, RunError>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn run_with_outputs<F>(&self, cmd_factory: F) -> Result<(String, String), RunError>
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThreadSafeGitCmdRunner` is never constructed
[INFO] [stdout]    --> crates/app/src/oscommands/git_cmd_obj_runner.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct ThreadSafeGitCmdRunner(Arc<dyn CmdRunner>);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> crates/app/src/oscommands/git_cmd_obj_runner.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | impl ThreadSafeGitCmdRunner {
[INFO] [stdout]     | --------------------------- associated function in this implementation
[INFO] [stdout] 120 |     pub fn new(runner: impl CmdRunner + 'static) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CredentialStrategy` is never used
[INFO] [stdout]  --> crates/app/src/oscommands/traits.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum CredentialStrategy {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Task` is never constructed
[INFO] [stdout]   --> crates/app/src/oscommands/traits.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Task;
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RunError` is never constructed
[INFO] [stdout]   --> crates/app/src/oscommands/traits.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct RunError {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> crates/app/src/oscommands/traits.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl RunError {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 28 |     pub fn new(message: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CmdRunner` is never used
[INFO] [stdout]   --> crates/app/src/oscommands/traits.rs:44:11
[INFO] [stdout]    |
[WARN] too many lines in the log, truncating it
