[INFO] cloning repository https://github.com/stefanodecillis/pika
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/stefanodecillis/pika" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstefanodecillis%2Fpika", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstefanodecillis%2Fpika'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c43d73fdd5ba0f45733fe18ba9e4a74d1548580d
[INFO] checking stefanodecillis/pika/c43d73fdd5ba0f45733fe18ba9e4a74d1548580d against master#e1613686e0efc80a1a18b1263625450a8de3fb04 for pr-154492
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstefanodecillis%2Fpika" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/stefanodecillis/pika
[INFO] finished tweaking git repo https://github.com/stefanodecillis/pika
[INFO] tweaked toml for git repo https://github.com/stefanodecillis/pika written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/stefanodecillis/pika on toolchain e1613686e0efc80a1a18b1263625450a8de3fb04
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/stefanodecillis/pika 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" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded windows-implement v0.56.0
[INFO] [stderr]   Downloaded notify-debouncer-mini v0.5.0
[INFO] [stderr]   Downloaded windows-interface v0.56.0
[INFO] [stderr]   Downloaded notify-types v1.0.1
[INFO] [stderr]   Downloaded str_indices v0.4.4
[INFO] [stderr]   Downloaded notify v7.0.0
[INFO] [stderr]   Downloaded filetime v0.2.27
[INFO] [stderr]   Downloaded fluent-uri v0.1.4
[INFO] [stderr]   Downloaded kqueue v1.1.1
[INFO] [stderr]   Downloaded lsp-types v0.97.0
[INFO] [stderr]   Downloaded ropey v1.6.1
[INFO] [stderr]   Downloaded plist v1.8.0
[INFO] [stderr]   Downloaded trash v5.2.5
[INFO] [stderr]   Downloaded windows-core v0.56.0
[INFO] [stderr]   Downloaded windows v0.56.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4e9072e8db15d804b73404f7a2e8803e56675d1f05f8557cfa41edf60f1c1b1e
[INFO] running `Command { std: "docker" "start" "-a" "4e9072e8db15d804b73404f7a2e8803e56675d1f05f8557cfa41edf60f1c1b1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4e9072e8db15d804b73404f7a2e8803e56675d1f05f8557cfa41edf60f1c1b1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e9072e8db15d804b73404f7a2e8803e56675d1f05f8557cfa41edf60f1c1b1e", kill_on_drop: false }`
[INFO] [stdout] 4e9072e8db15d804b73404f7a2e8803e56675d1f05f8557cfa41edf60f1c1b1e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+e1613686e0efc80a1a18b1263625450a8de3fb04" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e35558b9d76724ab13c007b8d97cdaac2f9b79679f73fe7635e27016c911df1e
[INFO] running `Command { std: "docker" "start" "-a" "e35558b9d76724ab13c007b8d97cdaac2f9b79679f73fe7635e27016c911df1e", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking num-traits v0.2.19
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking num-conv v0.2.0
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking pxfm v0.1.28
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking notify-types v1.0.1
[INFO] [stderr]     Checking inotify v0.10.2
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking filetime v0.2.27
[INFO] [stderr]     Checking quick-xml v0.38.4
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking notify v7.0.0
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking fluent-uri v0.1.4
[INFO] [stderr]     Checking csv-core v0.1.13
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking str_indices v0.4.4
[INFO] [stderr]     Checking urlencoding v2.1.3
[INFO] [stderr]     Checking ropey v1.6.1
[INFO] [stderr]     Checking fuzzy-matcher v0.3.7
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking trash v5.2.5
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking fancy-regex v0.16.2
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking plist v1.8.0
[INFO] [stderr]     Checking lsp-types v0.97.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking syntect v5.3.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking notify-debouncer-mini v0.5.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking pika-ide v0.1.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `clipboard::Clipboard`
[INFO] [stdout]   --> src/editor/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use clipboard::Clipboard;
[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: `CursorState`, `Position`, and `Selection`
[INFO] [stdout]   --> src/editor/mod.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use cursor::{CursorState, Position, Selection};
[INFO] [stdout]    |                  ^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `document::Document`
[INFO] [stdout]   --> src/editor/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use document::Document;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Edit` and `UndoHistory`
[INFO] [stdout]   --> src/editor/mod.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use history::{Edit, UndoHistory};
[INFO] [stdout]    |                   ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HighlightStyle`, `HighlightedSpan`, and `SyntaxHighlighter`
[INFO] [stdout]   --> src/editor/mod.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use syntax::{HighlightStyle, HighlightedSpan, SyntaxHighlighter};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drop_handler::DropHandler`
[INFO] [stdout]  --> src/files/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use drop_handler::DropHandler;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `copy_file`, `create_dir`, `create_file`, `delete_to_trash`, `move_file`, and `rename_file`
[INFO] [stdout]  --> src/files/mod.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use operations::{copy_file, create_dir, create_file, delete_to_trash, move_file, rename_file};
[INFO] [stdout]   |                      ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileNode`, `FileTree`, `FlatEntry`, and `build_tree`
[INFO] [stdout]  --> src/files/mod.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use tree::{build_tree, FileNode, FileTree, FlatEntry};
[INFO] [stdout]   |                ^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `watcher::FileWatcher`
[INFO] [stdout]  --> src/files/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use watcher::FileWatcher;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/lsp/registry.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `client::LspClient`
[INFO] [stdout]  --> src/lsp/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use client::LspClient;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LspRegistry` and `ServerConfig`
[INFO] [stdout]  --> src/lsp/mod.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use registry::{LspRegistry, ServerConfig};
[INFO] [stdout]   |                    ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/ui/buffer.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Borders`, `Paragraph`, and `Wrap`
[INFO] [stdout]  --> src/ui/buffer.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ratatui::widgets::{Block, Borders, Paragraph, Wrap};
[INFO] [stdout]   |                        ^^^^^  ^^^^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Wrap`
[INFO] [stdout]  --> src/ui/shortcuts_help.rs:4:58
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::{Block, Borders, Clear, Paragraph, Wrap};
[INFO] [stdout]   |                                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ListState`
[INFO] [stdout]  --> src/ui/sidebar.rs:6:56
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ratatui::widgets::{Block, Borders, List, ListItem, ListState};
[INFO] [stdout]   |                                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FlatEntry`
[INFO] [stdout]   --> src/ui/sidebar.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::files::tree::{FileTree, FlatEntry};
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> src/ui/tab_bar.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Color, Modifier, Style};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]   --> src/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use std::io::Write;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clipboard::Clipboard`
[INFO] [stdout]   --> src/editor/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use clipboard::Clipboard;
[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: `CursorState`, `Position`, and `Selection`
[INFO] [stdout]   --> src/editor/mod.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use cursor::{CursorState, Position, Selection};
[INFO] [stdout]    |                  ^^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `document::Document`
[INFO] [stdout]   --> src/editor/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use document::Document;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Edit` and `UndoHistory`
[INFO] [stdout]   --> src/editor/mod.rs:13:19
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use history::{Edit, UndoHistory};
[INFO] [stdout]    |                   ^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HighlightStyle`, `HighlightedSpan`, and `SyntaxHighlighter`
[INFO] [stdout]   --> src/editor/mod.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use syntax::{HighlightStyle, HighlightedSpan, SyntaxHighlighter};
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `drop_handler::DropHandler`
[INFO] [stdout]  --> src/files/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use drop_handler::DropHandler;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `copy_file`, `create_dir`, `create_file`, `delete_to_trash`, `move_file`, and `rename_file`
[INFO] [stdout]  --> src/files/mod.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use operations::{copy_file, create_dir, create_file, delete_to_trash, move_file, rename_file};
[INFO] [stdout]   |                      ^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FileNode`, `FileTree`, `FlatEntry`, and `build_tree`
[INFO] [stdout]  --> src/files/mod.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use tree::{build_tree, FileNode, FileTree, FlatEntry};
[INFO] [stdout]   |                ^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `watcher::FileWatcher`
[INFO] [stdout]  --> src/files/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use watcher::FileWatcher;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/lsp/registry.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `client::LspClient`
[INFO] [stdout]  --> src/lsp/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use client::LspClient;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `LspRegistry` and `ServerConfig`
[INFO] [stdout]  --> src/lsp/mod.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use registry::{LspRegistry, ServerConfig};
[INFO] [stdout]   |                    ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/ui/buffer.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Borders`, `Paragraph`, and `Wrap`
[INFO] [stdout]  --> src/ui/buffer.rs:6:24
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ratatui::widgets::{Block, Borders, Paragraph, Wrap};
[INFO] [stdout]   |                        ^^^^^  ^^^^^^^  ^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Wrap`
[INFO] [stdout]  --> src/ui/shortcuts_help.rs:4:58
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ratatui::widgets::{Block, Borders, Clear, Paragraph, Wrap};
[INFO] [stdout]   |                                                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ListState`
[INFO] [stdout]  --> src/ui/sidebar.rs:6:56
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ratatui::widgets::{Block, Borders, List, ListItem, ListState};
[INFO] [stdout]   |                                                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FlatEntry`
[INFO] [stdout]   --> src/ui/sidebar.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::files::tree::{FileTree, FlatEntry};
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Color`
[INFO] [stdout]  --> src/ui/tab_bar.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ratatui::style::{Color, Modifier, Style};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]   --> src/main.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     use std::io::Write;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lsp_types::InitializeParams::root_uri`: Use `workspace_folders` instead when possible
[INFO] [stdout]   --> src/lsp/client.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 | /             root_uri: Some(
[INFO] [stdout] 78 | |                 root_uri
[INFO] [stdout] 79 | |                     .parse::<lsp_types::Uri>()
[INFO] [stdout] 80 | |                     .map_err(|e| anyhow::anyhow!("invalid root_uri '{}': {}", root_uri, e))?,
[INFO] [stdout] 81 | |             ),
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lsp_types::InitializeParams::root_uri`: Use `workspace_folders` instead when possible
[INFO] [stdout]   --> src/lsp/client.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 | /             root_uri: Some(
[INFO] [stdout] 78 | |                 root_uri
[INFO] [stdout] 79 | |                     .parse::<lsp_types::Uri>()
[INFO] [stdout] 80 | |                     .map_err(|e| anyhow::anyhow!("invalid root_uri '{}': {}", root_uri, e))?,
[INFO] [stdout] 81 | |             ),
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `notify::Watcher`
[INFO] [stdout]  --> src/files/watcher.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use notify_debouncer_mini::{new_debouncer, notify::Watcher, DebounceEventResult, Debouncer};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uri`
[INFO] [stdout]    --> src/app.rs:902:41
[INFO] [stdout]     |
[INFO] [stdout] 902 |                 LspEvent::Diagnostics { uri, diagnostics } => {
[INFO] [stdout]     |                                         ^^^ help: try ignoring the field: `uri: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `diagnostics`
[INFO] [stdout]    --> src/app.rs:902:46
[INFO] [stdout]     |
[INFO] [stdout] 902 |                 LspEvent::Diagnostics { uri, diagnostics } => {
[INFO] [stdout]     |                                              ^^^^^^^^^^^ help: try ignoring the field: `diagnostics: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/app.rs:907:38
[INFO] [stdout]     |
[INFO] [stdout] 907 |             AppEvent::FileOpComplete(result) => {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> src/ui/buffer.rs:873:13
[INFO] [stdout]     |
[INFO] [stdout] 873 |         let text = self.document.text();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area_width`
[INFO] [stdout]    --> src/ui/buffer.rs:967:9
[INFO] [stdout]     |
[INFO] [stdout] 967 |         area_width: usize,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_area_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]     --> src/ui/buffer.rs:1277:22
[INFO] [stdout]      |
[INFO] [stdout] 1277 |     fn render(&self, frame: &mut Frame, area: Rect, focused: bool) {
[INFO] [stdout]      |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]     --> src/ui/buffer.rs:1277:41
[INFO] [stdout]      |
[INFO] [stdout] 1277 |     fn render(&self, frame: &mut Frame, area: Rect, focused: bool) {
[INFO] [stdout]      |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `focused`
[INFO] [stdout]     --> src/ui/buffer.rs:1277:53
[INFO] [stdout]      |
[INFO] [stdout] 1277 |     fn render(&self, frame: &mut Frame, area: Rect, focused: bool) {
[INFO] [stdout]      |                                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_focused`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/command_palette.rs:195:57
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub fn render(&self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stdout]     |                                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_dir`
[INFO] [stdout]    --> src/ui/sidebar.rs:293:33
[INFO] [stdout]     |
[INFO] [stdout] 293 |                     if let Some(target_dir) = self.selected_parent_dir() {
[INFO] [stdout]     |                                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `event_tx` and `bg_tx` are never read
[INFO] [stdout]   --> src/app.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct App {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub event_tx: mpsc::UnboundedSender<AppEvent>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 45 |     pub event_rx: mpsc::UnboundedReceiver<AppEvent>,
[INFO] [stdout] 46 |     pub bg_tx: mpsc::UnboundedSender<BackgroundCommand>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load_from`, `save`, and `save_to` are never used
[INFO] [stdout]    --> src/config/settings.rs:83:12
[INFO] [stdout]     |
[INFO] [stdout]  58 | impl Settings {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn load_from(path: &std::path::Path) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn save(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn save_to(&self, path: &std::path::Path) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `has_system_clipboard` is never used
[INFO] [stdout]   --> src/editor/clipboard.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Clipboard {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn has_system_clipboard(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains` is never used
[INFO] [stdout]   --> src/editor/cursor.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Selection {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn contains(&self, pos: Position) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `at`, `move_to`, `move_vertically`, `select_to`, `clear_selection`, and `has_selection` are never used
[INFO] [stdout]    --> src/editor/cursor.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  83 | impl CursorState {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn at(line: usize, col: usize) -> Self {
[INFO] [stdout]     |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn move_to(&mut self, line: usize, col: usize) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn move_vertically(&mut self, line: usize, line_len: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn select_to(&mut self, line: usize, col: usize) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn clear_selection(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub fn has_selection(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_text` and `save_as` are never used
[INFO] [stdout]   --> src/editor/document.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Document {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn from_text(text: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn save_as<P: AsRef<Path>>(&mut self, path: P) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `insert` and `delete` are never used
[INFO] [stdout]   --> src/editor/history.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Edit {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] 13 |     /// Create an Insert edit.
[INFO] [stdout] 14 |     pub fn insert(line: usize, col: usize, text: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn delete(line: usize, col: usize, text: impl Into<String>) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `begin_group`, `end_group`, `can_undo`, `can_redo`, and `clear` are never used
[INFO] [stdout]    --> src/editor/history.rs:82:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl UndoHistory {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn begin_group(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  90 |     pub fn end_group(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn can_undo(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn can_redo(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn clear(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/editor/syntax.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl HighlightStyle {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new(r: u8, g: u8, b: u8) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `detect_syntax`, `syntax_set`, and `theme_set` are never used
[INFO] [stdout]    --> src/editor/syntax.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl SyntaxHighlighter {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn detect_syntax(&self, file_path: &str) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn syntax_set(&self) -> &SyntaxSet {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn theme_set(&self) -> &ThemeSet {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `highlight_text` is never used
[INFO] [stdout]    --> src/editor/syntax.rs:170:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | pub fn highlight_text(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Input`, `FileChanged`, `FileOpComplete`, and `Tick` are never constructed
[INFO] [stdout]   --> src/events.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum AppEvent {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout]  6 |     /// Terminal input event from crossterm
[INFO] [stdout]  7 |     Input(crossterm::event::Event),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     FileChanged(FileChangeEvent),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     FileOpComplete(FileOpResult),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Tick,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Created`, `Modified`, `Deleted`, and `Renamed` are never constructed
[INFO] [stdout]   --> src/events.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum FileChangeEvent {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 24 |     Created(PathBuf),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 25 |     Modified(PathBuf),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 26 |     Deleted(PathBuf),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 27 |     Renamed { from: PathBuf, to: PathBuf },
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileChangeEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/events.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum LspEvent {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 40 |     Hover(Option<lsp_types::Hover>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     /// Go-to-definition response
[INFO] [stdout] 42 |     Definition(Option<lsp_types::GotoDefinitionResponse>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 43 |     /// References response
[INFO] [stdout] 44 |     References(Vec<lsp_types::Location>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 45 |     /// Code actions response
[INFO] [stdout] 46 |     CodeActions(Vec<lsp_types::CodeActionOrCommand>),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 47 |     /// Signature help response
[INFO] [stdout] 48 |     SignatureHelp(Option<lsp_types::SignatureHelp>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 49 |     /// Server started for a language
[INFO] [stdout] 50 |     ServerStarted(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 51 |     /// Server stopped or crashed
[INFO] [stdout] 52 |     ServerStopped(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 53 |     /// Formatting response
[INFO] [stdout] 54 |     Formatting(Vec<lsp_types::TextEdit>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 55 |     /// Rename response
[INFO] [stdout] 56 |     WorkspaceEdit(Option<lsp_types::WorkspaceEdit>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LspEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Copied`, `Moved`, `Deleted`, `Renamed`, and `Error` are never constructed
[INFO] [stdout]   --> src/events.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub enum FileOpResult {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 61 |     Copied { from: PathBuf, to: PathBuf },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 62 |     Moved { from: PathBuf, to: PathBuf },
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 63 |     Deleted(PathBuf),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 64 |     Renamed { from: PathBuf, to: PathBuf },
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 65 |     Error(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileOpResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Lsp`, `FileOp`, `WatchDir`, and `Shutdown` are never constructed
[INFO] [stdout]   --> src/events.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub enum BackgroundCommand {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] 71 |     /// Request LSP operation
[INFO] [stdout] 72 |     Lsp(LspCommand),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 73 |     /// Request file operation
[INFO] [stdout] 74 |     FileOp(FileOpCommand),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 75 |     /// Watch a new directory
[INFO] [stdout] 76 |     WatchDir(PathBuf),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 77 |     /// Shutdown all background tasks
[INFO] [stdout] 78 |     Shutdown,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BackgroundCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/events.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub enum LspCommand {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 83 |     Initialize { root_uri: String },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 84 |     Completion { uri: String, position: lsp_types::Position },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 85 |     Hover { uri: String, position: lsp_types::Position },
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 86 |     GotoDefinition { uri: String, position: lsp_types::Position },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 87 |     References { uri: String, position: lsp_types::Position },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 88 |     Rename { uri: String, position: lsp_types::Position, new_name: String },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 89 |     CodeAction { uri: String, range: lsp_types::Range },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 90 |     Format { uri: String },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 91 |     DidOpen { uri: String, language_id: String, text: String },
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 92 |     DidChange { uri: String, text: String, version: i32 },
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 93 |     DidClose { uri: String },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 94 |     SignatureHelp { uri: String, position: lsp_types::Position },
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LspCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Copy`, `Move`, `Delete`, `Rename`, `CreateFile`, and `CreateDir` are never constructed
[INFO] [stdout]    --> src/events.rs:99:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub enum FileOpCommand {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout]  99 |     Copy { from: PathBuf, to: PathBuf },
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 100 |     Move { from: PathBuf, to: PathBuf },
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 101 |     Delete(PathBuf),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 102 |     Rename { from: PathBuf, to: PathBuf },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 103 |     CreateFile(PathBuf),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 104 |     CreateDir(PathBuf),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileOpCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DropHandler` is never constructed
[INFO] [stdout]  --> src/files/drop_handler.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct DropHandler;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `parse_dropped_content` and `is_file_drop` are never used
[INFO] [stdout]   --> src/files/drop_handler.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl DropHandler {
[INFO] [stdout]    | ---------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub fn parse_dropped_content(content: &str) -> Vec<PathBuf> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn is_file_drop(content: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `looks_like_path` is never used
[INFO] [stdout]   --> src/files/drop_handler.rs:65:4
[INFO] [stdout]    |
[INFO] [stdout] 65 | fn looks_like_path(s: &str) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expand_tilde` is never used
[INFO] [stdout]   --> src/files/drop_handler.rs:85:4
[INFO] [stdout]    |
[INFO] [stdout] 85 | fn expand_tilde(path: &str) -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_conflict` is never used
[INFO] [stdout]  --> src/files/operations.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn resolve_conflict(target: &Path) -> PathBuf {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_file` is never used
[INFO] [stdout]   --> src/files/operations.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub async fn copy_file(from: &Path, to: &Path) -> Result<PathBuf> {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_dir_recursive` is never used
[INFO] [stdout]   --> src/files/operations.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 | async fn copy_dir_recursive(src: &Path, dst: &Path) -> Result<()> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `move_file` is never used
[INFO] [stdout]   --> src/files/operations.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub async fn move_file(from: &Path, to: &Path) -> Result<PathBuf> {
[INFO] [stdout]    |              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `delete_to_trash` is never used
[INFO] [stdout]    --> src/files/operations.rs:130:14
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub async fn delete_to_trash(path: &Path) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rename_file` is never used
[INFO] [stdout]    --> src/files/operations.rs:143:14
[INFO] [stdout]     |
[INFO] [stdout] 143 | pub async fn rename_file(from: &Path, new_name: &str) -> Result<PathBuf> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_file` is never used
[INFO] [stdout]    --> src/files/operations.rs:165:14
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub async fn create_file(path: &Path) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_dir` is never used
[INFO] [stdout]    --> src/files/operations.rs:178:14
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub async fn create_dir(path: &Path) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileWatcher` is never constructed
[INFO] [stdout]   --> src/files/watcher.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct FileWatcher {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `watch`, and `unwatch` are never used
[INFO] [stdout]   --> src/files/watcher.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl FileWatcher {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn new(tx: tokio::sync::mpsc::UnboundedSender<FileChangeEvent>) -> Result<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn watch(&mut self, path: &Path) -> Result<()> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn unwatch(&mut self, path: &Path) -> Result<()> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OpenFileFinder`, `HoverInfo`, `FormatDocument`, and `SignatureHelp` are never constructed
[INFO] [stdout]   --> src/input/actions.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum Action {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 12 |     OpenFileFinder,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     HoverInfo,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 78 |     FormatDocument,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 79 |     SignatureHelp,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Action` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `supports_feature` is never used
[INFO] [stdout]   --> src/lsp/capabilities.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn supports_feature(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `shutdown` is never used
[INFO] [stdout]    --> src/lsp/client.rs:135:18
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl LspClient {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 135 |     pub async fn shutdown(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_lsp_message` is never used
[INFO] [stdout]    --> src/lsp/client.rs:375:8
[INFO] [stdout]     |
[INFO] [stdout] 375 | pub fn format_lsp_message(body: &[u8]) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_content_length` is never used
[INFO] [stdout]    --> src/lsp/client.rs:385:8
[INFO] [stdout]     |
[INFO] [stdout] 385 | pub fn parse_content_length(header: &str) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `extensions` is never read
[INFO] [stdout]   --> src/lsp/registry.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct ServerConfig {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub extensions: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ServerConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `shutdown_all`, `server_count`, `active_client_count`, and `has_server_for` are never used
[INFO] [stdout]    --> src/lsp/registry.rs:171:18
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl LspRegistry {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub async fn shutdown_all(&mut self) {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn server_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn active_client_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn has_server_for(&self, ext: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `JsonRpcMessage` is never used
[INFO] [stdout]  --> src/lsp/types.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum JsonRpcMessage {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `ok` and `err` are never used
[INFO] [stdout]   --> src/lsp/types.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl JsonRpcResponse {
[INFO] [stdout]    | -------------------- associated functions in this implementation
[INFO] [stdout] 46 |     /// Create a successful response for the given request id.
[INFO] [stdout] 47 |     pub fn ok(id: i64, result: serde_json::Value) -> Self {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn err(id: i64, error: JsonRpcError) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RequestRename`, `FilePaste`, `ShowFileFinder`, and `ProjectSearch` are never constructed
[INFO] [stdout]   --> src/ui/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum AppCommand {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 42 |     RequestRename(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     FilePaste(std::path::PathBuf),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     ShowFileFinder,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 67 |     /// Project-wide search
[INFO] [stdout] 68 |     ProjectSearch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_text` is never used
[INFO] [stdout]    --> src/ui/buffer.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 107 | impl Buffer {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 125 |     pub fn from_text(text: &str) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `detail` is never read
[INFO] [stdout]   --> src/ui/completion.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct CompletionItem {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 14 |     pub label: String,
[INFO] [stdout] 15 |     pub detail: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompletionItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `handle_action` is never used
[INFO] [stdout]    --> src/ui/completion.rs:189:12
[INFO] [stdout]     |
[INFO] [stdout]  79 | impl CompletionPopup {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn handle_action(&mut self, action: &Action) -> AppCommand {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Pending` is never constructed
[INFO] [stdout]   --> src/ui/confirm_dialog.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum ConfirmResult {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 36 |     Pending,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConfirmResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total_lines` is never read
[INFO] [stdout]   --> src/ui/status_bar.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct StatusInfo {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub total_lines: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StatusInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_empty` and `len` are never used
[INFO] [stdout]   --> src/ui/tab_bar.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl TabBar {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `notify::Watcher`
[INFO] [stdout]  --> src/files/watcher.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use notify_debouncer_mini::{new_debouncer, notify::Watcher, DebounceEventResult, Debouncer};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `uri`
[INFO] [stdout]    --> src/app.rs:902:41
[INFO] [stdout]     |
[INFO] [stdout] 902 |                 LspEvent::Diagnostics { uri, diagnostics } => {
[INFO] [stdout]     |                                         ^^^ help: try ignoring the field: `uri: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `diagnostics`
[INFO] [stdout]    --> src/app.rs:902:46
[INFO] [stdout]     |
[INFO] [stdout] 902 |                 LspEvent::Diagnostics { uri, diagnostics } => {
[INFO] [stdout]     |                                              ^^^^^^^^^^^ help: try ignoring the field: `diagnostics: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/app.rs:907:38
[INFO] [stdout]     |
[INFO] [stdout] 907 |             AppEvent::FileOpComplete(result) => {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]     --> src/app.rs:1000:14
[INFO] [stdout]      |
[INFO] [stdout] 1000 |         let (tmp, app) = setup_test_app();
[INFO] [stdout]      |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]     --> src/app.rs:1008:14
[INFO] [stdout]      |
[INFO] [stdout] 1008 |         let (tmp, mut app) = setup_test_app();
[INFO] [stdout]      |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]     --> src/app.rs:1017:14
[INFO] [stdout]      |
[INFO] [stdout] 1017 |         let (tmp, mut app) = setup_test_app();
[INFO] [stdout]      |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]     --> src/app.rs:1036:14
[INFO] [stdout]      |
[INFO] [stdout] 1036 |         let (tmp, mut app) = setup_test_app();
[INFO] [stdout]      |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]     --> src/app.rs:1044:14
[INFO] [stdout]      |
[INFO] [stdout] 1044 |         let (tmp, mut app) = setup_test_app();
[INFO] [stdout]      |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]     --> src/app.rs:1051:14
[INFO] [stdout]      |
[INFO] [stdout] 1051 |         let (tmp, mut app) = setup_test_app();
[INFO] [stdout]      |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]     --> src/app.rs:1058:14
[INFO] [stdout]      |
[INFO] [stdout] 1058 |         let (tmp, mut app) = setup_test_app();
[INFO] [stdout]      |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]     --> src/app.rs:1065:14
[INFO] [stdout]      |
[INFO] [stdout] 1065 |         let (tmp, mut app) = setup_test_app();
[INFO] [stdout]      |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]     --> src/app.rs:1072:14
[INFO] [stdout]      |
[INFO] [stdout] 1072 |         let (tmp, mut app) = setup_test_app();
[INFO] [stdout]      |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]     --> src/app.rs:1083:14
[INFO] [stdout]      |
[INFO] [stdout] 1083 |         let (tmp, mut app) = setup_test_app();
[INFO] [stdout]      |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tx`
[INFO] [stdout]   --> src/files/watcher.rs:79:14
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let (tx, rx) = tokio::sync::mpsc::unbounded_channel();
[INFO] [stdout]    |              ^^ help: if this is intentional, prefix it with an underscore: `_tx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> src/ui/buffer.rs:873:13
[INFO] [stdout]     |
[INFO] [stdout] 873 |         let text = self.document.text();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area_width`
[INFO] [stdout]    --> src/ui/buffer.rs:967:9
[INFO] [stdout]     |
[INFO] [stdout] 967 |         area_width: usize,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_area_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]     --> src/ui/buffer.rs:1277:22
[INFO] [stdout]      |
[INFO] [stdout] 1277 |     fn render(&self, frame: &mut Frame, area: Rect, focused: bool) {
[INFO] [stdout]      |                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]     --> src/ui/buffer.rs:1277:41
[INFO] [stdout]      |
[INFO] [stdout] 1277 |     fn render(&self, frame: &mut Frame, area: Rect, focused: bool) {
[INFO] [stdout]      |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `focused`
[INFO] [stdout]     --> src/ui/buffer.rs:1277:53
[INFO] [stdout]      |
[INFO] [stdout] 1277 |     fn render(&self, frame: &mut Frame, area: Rect, focused: bool) {
[INFO] [stdout]      |                                                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_focused`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `theme`
[INFO] [stdout]    --> src/ui/command_palette.rs:195:57
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub fn render(&self, frame: &mut Frame, area: Rect, theme: &Theme) {
[INFO] [stdout]     |                                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `narrow_count`
[INFO] [stdout]    --> src/ui/command_palette.rs:330:13
[INFO] [stdout]     |
[INFO] [stdout] 330 |         let narrow_count = palette.filtered.len();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_narrow_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]    --> src/ui/editor.rs:473:14
[INFO] [stdout]     |
[INFO] [stdout] 473 |         let (tmp, path) = setup_test_file();
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]    --> src/ui/editor.rs:491:14
[INFO] [stdout]     |
[INFO] [stdout] 491 |         let (tmp, path) = setup_test_file();
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]    --> src/ui/editor.rs:500:14
[INFO] [stdout]     |
[INFO] [stdout] 500 |         let (tmp, path) = setup_test_file();
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]    --> src/ui/editor.rs:510:14
[INFO] [stdout]     |
[INFO] [stdout] 510 |         let (tmp, path) = setup_test_file();
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]    --> src/ui/editor.rs:548:14
[INFO] [stdout]     |
[INFO] [stdout] 548 |         let (tmp, path) = setup_test_file();
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]    --> src/ui/editor.rs:568:14
[INFO] [stdout]     |
[INFO] [stdout] 568 |         let (tmp, path) = setup_test_file();
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tmp`
[INFO] [stdout]    --> src/ui/editor.rs:588:14
[INFO] [stdout]     |
[INFO] [stdout] 588 |         let (tmp, path) = setup_test_file();
[INFO] [stdout]     |              ^^^ help: if this is intentional, prefix it with an underscore: `_tmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_dir`
[INFO] [stdout]    --> src/ui/sidebar.rs:293:33
[INFO] [stdout]     |
[INFO] [stdout] 293 |                     if let Some(target_dir) = self.selected_parent_dir() {
[INFO] [stdout]     |                                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `event_tx` and `bg_tx` are never read
[INFO] [stdout]   --> src/app.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct App {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub event_tx: mpsc::UnboundedSender<AppEvent>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 45 |     pub event_rx: mpsc::UnboundedReceiver<AppEvent>,
[INFO] [stdout] 46 |     pub bg_tx: mpsc::UnboundedSender<BackgroundCommand>,
[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 `save` is never used
[INFO] [stdout]   --> src/config/settings.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl Settings {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn save(&self) -> Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `syntax_set` and `theme_set` are never used
[INFO] [stdout]    --> src/editor/syntax.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl SyntaxHighlighter {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub fn syntax_set(&self) -> &SyntaxSet {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn theme_set(&self) -> &ThemeSet {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Input`, `FileChanged`, `FileOpComplete`, and `Tick` are never constructed
[INFO] [stdout]   --> src/events.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum AppEvent {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout]  6 |     /// Terminal input event from crossterm
[INFO] [stdout]  7 |     Input(crossterm::event::Event),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 10 |     FileChanged(FileChangeEvent),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     FileOpComplete(FileOpResult),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Tick,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `to` is never read
[INFO] [stdout]   --> src/events.rs:27:30
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Renamed { from: PathBuf, to: PathBuf },
[INFO] [stdout]    |     -------                  ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileChangeEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/events.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum LspEvent {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 40 |     Hover(Option<lsp_types::Hover>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     /// Go-to-definition response
[INFO] [stdout] 42 |     Definition(Option<lsp_types::GotoDefinitionResponse>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 43 |     /// References response
[INFO] [stdout] 44 |     References(Vec<lsp_types::Location>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 45 |     /// Code actions response
[INFO] [stdout] 46 |     CodeActions(Vec<lsp_types::CodeActionOrCommand>),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 47 |     /// Signature help response
[INFO] [stdout] 48 |     SignatureHelp(Option<lsp_types::SignatureHelp>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 49 |     /// Server started for a language
[INFO] [stdout] 50 |     ServerStarted(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 51 |     /// Server stopped or crashed
[INFO] [stdout] 52 |     ServerStopped(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 53 |     /// Formatting response
[INFO] [stdout] 54 |     Formatting(Vec<lsp_types::TextEdit>),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 55 |     /// Rename response
[INFO] [stdout] 56 |     WorkspaceEdit(Option<lsp_types::WorkspaceEdit>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LspEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Copied`, `Moved`, `Deleted`, `Renamed`, and `Error` are never constructed
[INFO] [stdout]   --> src/events.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub enum FileOpResult {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 61 |     Copied { from: PathBuf, to: PathBuf },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 62 |     Moved { from: PathBuf, to: PathBuf },
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 63 |     Deleted(PathBuf),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 64 |     Renamed { from: PathBuf, to: PathBuf },
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 65 |     Error(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileOpResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Lsp`, `FileOp`, `WatchDir`, and `Shutdown` are never constructed
[INFO] [stdout]   --> src/events.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub enum BackgroundCommand {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] 71 |     /// Request LSP operation
[INFO] [stdout] 72 |     Lsp(LspCommand),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 73 |     /// Request file operation
[INFO] [stdout] 74 |     FileOp(FileOpCommand),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 75 |     /// Watch a new directory
[INFO] [stdout] 76 |     WatchDir(PathBuf),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 77 |     /// Shutdown all background tasks
[INFO] [stdout] 78 |     Shutdown,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BackgroundCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/events.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub enum LspCommand {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 83 |     Initialize { root_uri: String },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 84 |     Completion { uri: String, position: lsp_types::Position },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 85 |     Hover { uri: String, position: lsp_types::Position },
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 86 |     GotoDefinition { uri: String, position: lsp_types::Position },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 87 |     References { uri: String, position: lsp_types::Position },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 88 |     Rename { uri: String, position: lsp_types::Position, new_name: String },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 89 |     CodeAction { uri: String, range: lsp_types::Range },
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 90 |     Format { uri: String },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 91 |     DidOpen { uri: String, language_id: String, text: String },
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 92 |     DidChange { uri: String, text: String, version: i32 },
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 93 |     DidClose { uri: String },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 94 |     SignatureHelp { uri: String, position: lsp_types::Position },
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LspCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Copy`, `Move`, `Delete`, `Rename`, `CreateFile`, and `CreateDir` are never constructed
[INFO] [stdout]    --> src/events.rs:99:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub enum FileOpCommand {
[INFO] [stdout]     |          ------------- variants in this enum
[INFO] [stdout]  99 |     Copy { from: PathBuf, to: PathBuf },
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 100 |     Move { from: PathBuf, to: PathBuf },
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 101 |     Delete(PathBuf),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 102 |     Rename { from: PathBuf, to: PathBuf },
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 103 |     CreateFile(PathBuf),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 104 |     CreateDir(PathBuf),
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FileOpCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `OpenFileFinder`, `HoverInfo`, `FormatDocument`, and `SignatureHelp` are never constructed
[INFO] [stdout]   --> src/input/actions.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum Action {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 12 |     OpenFileFinder,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     HoverInfo,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 78 |     FormatDocument,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 79 |     SignatureHelp,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Action` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `server_count` is never used
[INFO] [stdout]    --> src/lsp/registry.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout]  84 | impl LspRegistry {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn server_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RequestRename`, `FilePaste`, `ShowFileFinder`, and `ProjectSearch` are never constructed
[INFO] [stdout]   --> src/ui/mod.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub enum AppCommand {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 42 |     RequestRename(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     FilePaste(std::path::PathBuf),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 66 |     ShowFileFinder,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 67 |     /// Project-wide search
[INFO] [stdout] 68 |     ProjectSearch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `detail` is never read
[INFO] [stdout]   --> src/ui/completion.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct CompletionItem {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 14 |     pub label: String,
[INFO] [stdout] 15 |     pub detail: Option<String>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompletionItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Pending` is never constructed
[INFO] [stdout]   --> src/ui/confirm_dialog.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub enum ConfirmResult {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 36 |     Pending,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConfirmResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `total_lines` is never read
[INFO] [stdout]   --> src/ui/status_bar.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct StatusInfo {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 18 |     pub total_lines: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StatusInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.04s
[INFO] running `Command { std: "docker" "inspect" "e35558b9d76724ab13c007b8d97cdaac2f9b79679f73fe7635e27016c911df1e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e35558b9d76724ab13c007b8d97cdaac2f9b79679f73fe7635e27016c911df1e", kill_on_drop: false }`
[INFO] [stdout] e35558b9d76724ab13c007b8d97cdaac2f9b79679f73fe7635e27016c911df1e
