[INFO] fetching crate pika-ide 0.1.6... [INFO] testing pika-ide-0.1.6 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate pika-ide 0.1.6 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate pika-ide 0.1.6 [INFO] finished tweaking crates.io crate pika-ide 0.1.6 [INFO] tweaked toml for crates.io crate pika-ide 0.1.6 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate pika-ide 0.1.6 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate pika-ide 0.1.6 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" "+562dee4820c458d823175268e41601d4c060588a" "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 instability v0.3.12 [INFO] [stderr] Downloaded str_indices v0.4.4 [INFO] [stderr] Downloaded windows-core v0.56.0 [INFO] [stderr] Downloaded trash v5.2.5 [INFO] [stderr] Downloaded notify-types v1.0.1 [INFO] [stderr] Downloaded notify-debouncer-mini v0.5.0 [INFO] [stderr] Downloaded fuzzy-matcher v0.3.7 [INFO] [stderr] Downloaded inotify v0.10.2 [INFO] [stderr] Downloaded notify v7.0.0 [INFO] [stderr] Downloaded ropey v1.6.1 [INFO] [stderr] Downloaded tiff v0.11.3 [INFO] [stderr] Downloaded zune-jpeg v0.5.14 [INFO] [stderr] Downloaded windows-interface v0.56.0 [INFO] [stderr] Downloaded lsp-types v0.97.0 [INFO] [stderr] Downloaded moxcms v0.8.1 [INFO] [stderr] Downloaded image v0.25.10 [INFO] [stderr] Downloaded pxfm v0.1.28 [INFO] [stderr] Downloaded libredox v0.1.14 [INFO] [stderr] Downloaded windows v0.56.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0188f149098d7ad500cd8f54f2a74a0825d1ab62d80b4909f0a26a720350e323 [INFO] running `Command { std: "docker" "start" "-a" "0188f149098d7ad500cd8f54f2a74a0825d1ab62d80b4909f0a26a720350e323", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0188f149098d7ad500cd8f54f2a74a0825d1ab62d80b4909f0a26a720350e323", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0188f149098d7ad500cd8f54f2a74a0825d1ab62d80b4909f0a26a720350e323", kill_on_drop: false }` [INFO] [stdout] 0188f149098d7ad500cd8f54f2a74a0825d1ab62d80b4909f0a26a720350e323 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f81e3491d0904a42d91b096189a5e4bdb4fda7d951c9aae386e1cf848b656086 [INFO] running `Command { std: "docker" "start" "-a" "f81e3491d0904a42d91b096189a5e4bdb4fda7d951c9aae386e1cf848b656086", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling instant v0.1.13 [INFO] [stderr] Compiling fdeflate v0.3.7 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling pxfm v0.1.28 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling instability v0.3.12 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling inotify v0.10.2 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling notify-types v1.0.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling filetime v0.2.27 [INFO] [stderr] Compiling quick-xml v0.38.4 [INFO] [stderr] Compiling hashbrown v0.15.5 [INFO] [stderr] Compiling png v0.18.1 [INFO] [stderr] Compiling x11rb-protocol v0.13.2 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling byteorder-lite v0.1.0 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling bytemuck v1.25.0 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling anyhow v1.0.102 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling notify v7.0.0 [INFO] [stderr] Compiling fluent-uri v0.1.4 [INFO] [stderr] Compiling csv-core v0.1.13 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling socket2 v0.6.3 [INFO] [stderr] Compiling cassowary v0.3.0 [INFO] [stderr] Compiling str_indices v0.4.4 [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling moxcms v0.8.1 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling ropey v1.6.1 [INFO] [stderr] Compiling csv v1.4.0 [INFO] [stderr] Compiling fuzzy-matcher v0.3.7 [INFO] [stderr] Compiling dirs v5.0.1 [INFO] [stderr] Compiling trash v5.2.5 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling fancy-regex v0.16.2 [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 serde_repr v0.1.20 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling tokio v1.50.0 [INFO] [stderr] Compiling gethostname v1.1.0 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling x11rb v0.13.2 [INFO] [stderr] Compiling notify-debouncer-mini v0.5.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling image v0.25.10 [INFO] [stderr] Compiling serde v1.0.228 [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 plist v1.8.0 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling lsp-types v0.97.0 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling syntect v5.3.0 [INFO] [stderr] Compiling arboard v3.6.1 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling 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: 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::() [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, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 45 | pub event_rx: mpsc::UnboundedReceiver, [INFO] [stdout] 46 | pub bg_tx: mpsc::UnboundedSender, [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 { [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>(&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) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn delete(line: usize, col: usize, text: impl Into) -> 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), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 41 | /// Go-to-definition response [INFO] [stdout] 42 | Definition(Option), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 43 | /// References response [INFO] [stdout] 44 | References(Vec), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 45 | /// Code actions response [INFO] [stdout] 46 | CodeActions(Vec), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 47 | /// Signature help response [INFO] [stdout] 48 | SignatureHelp(Option), [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), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 55 | /// Rename response [INFO] [stdout] 56 | WorkspaceEdit(Option), [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 { [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 { [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 { [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 { [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) -> Result { [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 { [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 { [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, [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, [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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 46.68s [INFO] running `Command { std: "docker" "inspect" "f81e3491d0904a42d91b096189a5e4bdb4fda7d951c9aae386e1cf848b656086", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f81e3491d0904a42d91b096189a5e4bdb4fda7d951c9aae386e1cf848b656086", kill_on_drop: false }` [INFO] [stdout] f81e3491d0904a42d91b096189a5e4bdb4fda7d951c9aae386e1cf848b656086 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e9e22dd01c18208ad014776185b5719c854fd0992b264bf54ed3dc071d7ce9a4 [INFO] running `Command { std: "docker" "start" "-a" "e9e22dd01c18208ad014776185b5719c854fd0992b264bf54ed3dc071d7ce9a4", kill_on_drop: false }` [INFO] [stderr] Compiling 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: 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::() [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: `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, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 45 | pub event_rx: mpsc::UnboundedReceiver, [INFO] [stdout] 46 | pub bg_tx: mpsc::UnboundedSender, [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), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 41 | /// Go-to-definition response [INFO] [stdout] 42 | Definition(Option), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 43 | /// References response [INFO] [stdout] 44 | References(Vec), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 45 | /// Code actions response [INFO] [stdout] 46 | CodeActions(Vec), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 47 | /// Signature help response [INFO] [stdout] 48 | SignatureHelp(Option), [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), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 55 | /// Rename response [INFO] [stdout] 56 | WorkspaceEdit(Option), [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, [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 `test` profile [unoptimized + debuginfo] target(s) in 9.86s [INFO] running `Command { std: "docker" "inspect" "e9e22dd01c18208ad014776185b5719c854fd0992b264bf54ed3dc071d7ce9a4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e9e22dd01c18208ad014776185b5719c854fd0992b264bf54ed3dc071d7ce9a4", kill_on_drop: false }` [INFO] [stdout] e9e22dd01c18208ad014776185b5719c854fd0992b264bf54ed3dc071d7ce9a4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 9fca956b84f7b5680a1f2f85d10ddebbe5c5e6e714b2fc398405b33b88bf1e55 [INFO] running `Command { std: "docker" "start" "-a" "9fca956b84f7b5680a1f2f85d10ddebbe5c5e6e714b2fc398405b33b88bf1e55", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `clipboard::Clipboard` [INFO] [stderr] --> src/editor/mod.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 10 | pub use clipboard::Clipboard; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `CursorState`, `Position`, and `Selection` [INFO] [stderr] --> src/editor/mod.rs:11:18 [INFO] [stderr] | [INFO] [stderr] 11 | pub use cursor::{CursorState, Position, Selection}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `document::Document` [INFO] [stderr] --> src/editor/mod.rs:12:9 [INFO] [stderr] | [INFO] [stderr] 12 | pub use document::Document; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Edit` and `UndoHistory` [INFO] [stderr] --> src/editor/mod.rs:13:19 [INFO] [stderr] | [INFO] [stderr] 13 | pub use history::{Edit, UndoHistory}; [INFO] [stderr] | ^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HighlightStyle`, `HighlightedSpan`, and `SyntaxHighlighter` [INFO] [stderr] --> src/editor/mod.rs:14:18 [INFO] [stderr] | [INFO] [stderr] 14 | pub use syntax::{HighlightStyle, HighlightedSpan, SyntaxHighlighter}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `drop_handler::DropHandler` [INFO] [stderr] --> src/files/mod.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 6 | pub use drop_handler::DropHandler; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `copy_file`, `create_dir`, `create_file`, `delete_to_trash`, `move_file`, and `rename_file` [INFO] [stderr] --> src/files/mod.rs:7:22 [INFO] [stderr] | [INFO] [stderr] 7 | pub use operations::{copy_file, create_dir, create_file, delete_to_trash, move_file, rename_file}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `FileNode`, `FileTree`, `FlatEntry`, and `build_tree` [INFO] [stderr] --> src/files/mod.rs:8:16 [INFO] [stderr] | [INFO] [stderr] 8 | pub use tree::{build_tree, FileNode, FileTree, FlatEntry}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `watcher::FileWatcher` [INFO] [stderr] --> src/files/mod.rs:9:9 [INFO] [stderr] | [INFO] [stderr] 9 | pub use watcher::FileWatcher; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `anyhow::Result` [INFO] [stderr] --> src/lsp/registry.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use anyhow::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `client::LspClient` [INFO] [stderr] --> src/lsp/mod.rs:6:9 [INFO] [stderr] | [INFO] [stderr] 6 | pub use client::LspClient; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `LspRegistry` and `ServerConfig` [INFO] [stderr] --> src/lsp/mod.rs:7:20 [INFO] [stderr] | [INFO] [stderr] 7 | pub use registry::{LspRegistry, ServerConfig}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PathBuf` [INFO] [stderr] --> src/ui/buffer.rs:1:23 [INFO] [stderr] | [INFO] [stderr] 1 | use std::path::{Path, PathBuf}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Block`, `Borders`, `Paragraph`, and `Wrap` [INFO] [stderr] --> src/ui/buffer.rs:6:24 [INFO] [stderr] | [INFO] [stderr] 6 | use ratatui::widgets::{Block, Borders, Paragraph, Wrap}; [INFO] [stderr] | ^^^^^ ^^^^^^^ ^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Wrap` [INFO] [stderr] --> src/ui/shortcuts_help.rs:4:58 [INFO] [stderr] | [INFO] [stderr] 4 | use ratatui::widgets::{Block, Borders, Clear, Paragraph, Wrap}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ListState` [INFO] [stderr] --> src/ui/sidebar.rs:6:56 [INFO] [stderr] | [INFO] [stderr] 6 | use ratatui::widgets::{Block, Borders, List, ListItem, ListState}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `FlatEntry` [INFO] [stderr] --> src/ui/sidebar.rs:10:36 [INFO] [stderr] | [INFO] [stderr] 10 | use crate::files::tree::{FileTree, FlatEntry}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Color` [INFO] [stderr] --> src/ui/tab_bar.rs:2:22 [INFO] [stderr] | [INFO] [stderr] 2 | use ratatui::style::{Color, Modifier, Style}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Write` [INFO] [stderr] --> src/main.rs:14:9 [INFO] [stderr] | [INFO] [stderr] 14 | use std::io::Write; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated field `lsp_types::InitializeParams::root_uri`: Use `workspace_folders` instead when possible [INFO] [stderr] --> src/lsp/client.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | / root_uri: Some( [INFO] [stderr] 78 | | root_uri [INFO] [stderr] 79 | | .parse::() [INFO] [stderr] 80 | | .map_err(|e| anyhow::anyhow!("invalid root_uri '{}': {}", root_uri, e))?, [INFO] [stderr] 81 | | ), [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `notify::Watcher` [INFO] [stderr] --> src/files/watcher.rs:5:44 [INFO] [stderr] | [INFO] [stderr] 5 | use notify_debouncer_mini::{new_debouncer, notify::Watcher, DebounceEventResult, Debouncer}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `uri` [INFO] [stderr] --> src/app.rs:902:41 [INFO] [stderr] | [INFO] [stderr] 902 | LspEvent::Diagnostics { uri, diagnostics } => { [INFO] [stderr] | ^^^ help: try ignoring the field: `uri: _` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `diagnostics` [INFO] [stderr] --> src/app.rs:902:46 [INFO] [stderr] | [INFO] [stderr] 902 | LspEvent::Diagnostics { uri, diagnostics } => { [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `diagnostics: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/app.rs:907:38 [INFO] [stderr] | [INFO] [stderr] 907 | AppEvent::FileOpComplete(result) => { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/app.rs:1000:14 [INFO] [stderr] | [INFO] [stderr] 1000 | let (tmp, app) = setup_test_app(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/app.rs:1008:14 [INFO] [stderr] | [INFO] [stderr] 1008 | let (tmp, mut app) = setup_test_app(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/app.rs:1017:14 [INFO] [stderr] | [INFO] [stderr] 1017 | let (tmp, mut app) = setup_test_app(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/app.rs:1036:14 [INFO] [stderr] | [INFO] [stderr] 1036 | let (tmp, mut app) = setup_test_app(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/app.rs:1044:14 [INFO] [stderr] | [INFO] [stderr] 1044 | let (tmp, mut app) = setup_test_app(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/app.rs:1051:14 [INFO] [stderr] | [INFO] [stderr] 1051 | let (tmp, mut app) = setup_test_app(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/app.rs:1058:14 [INFO] [stderr] | [INFO] [stderr] 1058 | let (tmp, mut app) = setup_test_app(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/app.rs:1065:14 [INFO] [stderr] | [INFO] [stderr] 1065 | let (tmp, mut app) = setup_test_app(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/app.rs:1072:14 [INFO] [stderr] | [INFO] [stderr] 1072 | let (tmp, mut app) = setup_test_app(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/app.rs:1083:14 [INFO] [stderr] | [INFO] [stderr] 1083 | let (tmp, mut app) = setup_test_app(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tx` [INFO] [stderr] --> src/files/watcher.rs:79:14 [INFO] [stderr] | [INFO] [stderr] 79 | let (tx, rx) = tokio::sync::mpsc::unbounded_channel(); [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_tx` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `text` [INFO] [stderr] --> src/ui/buffer.rs:873:13 [INFO] [stderr] | [INFO] [stderr] 873 | let text = self.document.text(); [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_text` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `area_width` [INFO] [stderr] --> src/ui/buffer.rs:967:9 [INFO] [stderr] | [INFO] [stderr] 967 | area_width: usize, [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_area_width` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `frame` [INFO] [stderr] --> src/ui/buffer.rs:1277:22 [INFO] [stderr] | [INFO] [stderr] 1277 | fn render(&self, frame: &mut Frame, area: Rect, focused: bool) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `area` [INFO] [stderr] --> src/ui/buffer.rs:1277:41 [INFO] [stderr] | [INFO] [stderr] 1277 | fn render(&self, frame: &mut Frame, area: Rect, focused: bool) { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_area` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `focused` [INFO] [stderr] --> src/ui/buffer.rs:1277:53 [INFO] [stderr] | [INFO] [stderr] 1277 | fn render(&self, frame: &mut Frame, area: Rect, focused: bool) { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_focused` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `theme` [INFO] [stderr] --> src/ui/command_palette.rs:195:57 [INFO] [stderr] | [INFO] [stderr] 195 | pub fn render(&self, frame: &mut Frame, area: Rect, theme: &Theme) { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_theme` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `narrow_count` [INFO] [stderr] --> src/ui/command_palette.rs:330:13 [INFO] [stderr] | [INFO] [stderr] 330 | let narrow_count = palette.filtered.len(); [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_narrow_count` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/ui/editor.rs:473:14 [INFO] [stderr] | [INFO] [stderr] 473 | let (tmp, path) = setup_test_file(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/ui/editor.rs:491:14 [INFO] [stderr] | [INFO] [stderr] 491 | let (tmp, path) = setup_test_file(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/ui/editor.rs:500:14 [INFO] [stderr] | [INFO] [stderr] 500 | let (tmp, path) = setup_test_file(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/ui/editor.rs:510:14 [INFO] [stderr] | [INFO] [stderr] 510 | let (tmp, path) = setup_test_file(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/ui/editor.rs:548:14 [INFO] [stderr] | [INFO] [stderr] 548 | let (tmp, path) = setup_test_file(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/ui/editor.rs:568:14 [INFO] [stderr] | [INFO] [stderr] 568 | let (tmp, path) = setup_test_file(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `tmp` [INFO] [stderr] --> src/ui/editor.rs:588:14 [INFO] [stderr] | [INFO] [stderr] 588 | let (tmp, path) = setup_test_file(); [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_tmp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `target_dir` [INFO] [stderr] --> src/ui/sidebar.rs:293:33 [INFO] [stderr] | [INFO] [stderr] 293 | if let Some(target_dir) = self.selected_parent_dir() { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_dir` [INFO] [stderr] [INFO] [stderr] warning: fields `event_tx` and `bg_tx` are never read [INFO] [stderr] --> src/app.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 31 | pub struct App { [INFO] [stderr] | --- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 44 | pub event_tx: mpsc::UnboundedSender, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 45 | pub event_rx: mpsc::UnboundedReceiver, [INFO] [stderr] 46 | pub bg_tx: mpsc::UnboundedSender, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `save` is never used [INFO] [stderr] --> src/config/settings.rs:93:12 [INFO] [stderr] | [INFO] [stderr] 58 | impl Settings { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 93 | pub fn save(&self) -> Result<()> { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `syntax_set` and `theme_set` are never used [INFO] [stderr] --> src/editor/syntax.rs:152:12 [INFO] [stderr] | [INFO] [stderr] 45 | impl SyntaxHighlighter { [INFO] [stderr] | ---------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 152 | pub fn syntax_set(&self) -> &SyntaxSet { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 157 | pub fn theme_set(&self) -> &ThemeSet { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Input`, `FileChanged`, `FileOpComplete`, and `Tick` are never constructed [INFO] [stderr] --> src/events.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 5 | pub enum AppEvent { [INFO] [stderr] | -------- variants in this enum [INFO] [stderr] 6 | /// Terminal input event from crossterm [INFO] [stderr] 7 | Input(crossterm::event::Event), [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 10 | FileChanged(FileChangeEvent), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 16 | FileOpComplete(FileOpResult), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 19 | Tick, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AppEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `to` is never read [INFO] [stderr] --> src/events.rs:27:30 [INFO] [stderr] | [INFO] [stderr] 27 | Renamed { from: PathBuf, to: PathBuf }, [INFO] [stderr] | ------- ^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `FileChangeEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple variants are never constructed [INFO] [stderr] --> src/events.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 31 | pub enum LspEvent { [INFO] [stderr] | -------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 40 | Hover(Option), [INFO] [stderr] | ^^^^^ [INFO] [stderr] 41 | /// Go-to-definition response [INFO] [stderr] 42 | Definition(Option), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 43 | /// References response [INFO] [stderr] 44 | References(Vec), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 45 | /// Code actions response [INFO] [stderr] 46 | CodeActions(Vec), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 47 | /// Signature help response [INFO] [stderr] 48 | SignatureHelp(Option), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 49 | /// Server started for a language [INFO] [stderr] 50 | ServerStarted(String), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 51 | /// Server stopped or crashed [INFO] [stderr] 52 | ServerStopped(String), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 53 | /// Formatting response [INFO] [stderr] 54 | Formatting(Vec), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 55 | /// Rename response [INFO] [stderr] 56 | WorkspaceEdit(Option), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `LspEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variants `Copied`, `Moved`, `Deleted`, `Renamed`, and `Error` are never constructed [INFO] [stderr] --> src/events.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 60 | pub enum FileOpResult { [INFO] [stderr] | ------------ variants in this enum [INFO] [stderr] 61 | Copied { from: PathBuf, to: PathBuf }, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 62 | Moved { from: PathBuf, to: PathBuf }, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 63 | Deleted(PathBuf), [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 64 | Renamed { from: PathBuf, to: PathBuf }, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 65 | Error(String), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `FileOpResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variants `Lsp`, `FileOp`, `WatchDir`, and `Shutdown` are never constructed [INFO] [stderr] --> src/events.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 70 | pub enum BackgroundCommand { [INFO] [stderr] | ----------------- variants in this enum [INFO] [stderr] 71 | /// Request LSP operation [INFO] [stderr] 72 | Lsp(LspCommand), [INFO] [stderr] | ^^^ [INFO] [stderr] 73 | /// Request file operation [INFO] [stderr] 74 | FileOp(FileOpCommand), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 75 | /// Watch a new directory [INFO] [stderr] 76 | WatchDir(PathBuf), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 77 | /// Shutdown all background tasks [INFO] [stderr] 78 | Shutdown, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `BackgroundCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: multiple variants are never constructed [INFO] [stderr] --> src/events.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 82 | pub enum LspCommand { [INFO] [stderr] | ---------- variants in this enum [INFO] [stderr] 83 | Initialize { root_uri: String }, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 84 | Completion { uri: String, position: lsp_types::Position }, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 85 | Hover { uri: String, position: lsp_types::Position }, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 86 | GotoDefinition { uri: String, position: lsp_types::Position }, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 87 | References { uri: String, position: lsp_types::Position }, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 88 | Rename { uri: String, position: lsp_types::Position, new_name: String }, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 89 | CodeAction { uri: String, range: lsp_types::Range }, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 90 | Format { uri: String }, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 91 | DidOpen { uri: String, language_id: String, text: String }, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 92 | DidChange { uri: String, text: String, version: i32 }, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 93 | DidClose { uri: String }, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 94 | SignatureHelp { uri: String, position: lsp_types::Position }, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `LspCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variants `Copy`, `Move`, `Delete`, `Rename`, `CreateFile`, and `CreateDir` are never constructed [INFO] [stderr] --> src/events.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 98 | pub enum FileOpCommand { [INFO] [stderr] | ------------- variants in this enum [INFO] [stderr] 99 | Copy { from: PathBuf, to: PathBuf }, [INFO] [stderr] | ^^^^ [INFO] [stderr] 100 | Move { from: PathBuf, to: PathBuf }, [INFO] [stderr] | ^^^^ [INFO] [stderr] 101 | Delete(PathBuf), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 102 | Rename { from: PathBuf, to: PathBuf }, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 103 | CreateFile(PathBuf), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] 104 | CreateDir(PathBuf), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `FileOpCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variants `OpenFileFinder`, `HoverInfo`, `FormatDocument`, and `SignatureHelp` are never constructed [INFO] [stderr] --> src/input/actions.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub enum Action { [INFO] [stderr] | ------ variants in this enum [INFO] [stderr] ... [INFO] [stderr] 12 | OpenFileFinder, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 77 | HoverInfo, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 78 | FormatDocument, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 79 | SignatureHelp, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Action` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `server_count` is never used [INFO] [stderr] --> src/lsp/registry.rs:182:12 [INFO] [stderr] | [INFO] [stderr] 84 | impl LspRegistry { [INFO] [stderr] | ---------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 182 | pub fn server_count(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `RequestRename`, `FilePaste`, `ShowFileFinder`, and `ProjectSearch` are never constructed [INFO] [stderr] --> src/ui/mod.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 20 | pub enum AppCommand { [INFO] [stderr] | ---------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 42 | RequestRename(String), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 54 | FilePaste(std::path::PathBuf), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 66 | ShowFileFinder, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] 67 | /// Project-wide search [INFO] [stderr] 68 | ProjectSearch, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `AppCommand` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `detail` is never read [INFO] [stderr] --> src/ui/completion.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 13 | pub struct CompletionItem { [INFO] [stderr] | -------------- field in this struct [INFO] [stderr] 14 | pub label: String, [INFO] [stderr] 15 | pub detail: Option, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `CompletionItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variant `Pending` is never constructed [INFO] [stderr] --> src/ui/confirm_dialog.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 32 | pub enum ConfirmResult { [INFO] [stderr] | ------------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 36 | Pending, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ConfirmResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `total_lines` is never read [INFO] [stderr] --> src/ui/status_bar.rs:18:9 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct StatusInfo { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 18 | pub total_lines: usize, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `StatusInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: `pika-ide` (bin "pika" test) generated 66 warnings (run `cargo fix --bin "pika" -p pika-ide --tests` to apply 48 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/pika-39490ebf67e9c474) [INFO] [stdout] [INFO] [stdout] running 507 tests [INFO] [stdout] test config::settings::tests::test_config_dir_ends_with_pika ... ok [INFO] [stdout] test config::settings::tests::test_default_lsp_settings ... ok [INFO] [stdout] test config::settings::tests::test_default_settings ... ok [INFO] [stdout] test config::settings::tests::test_load_malformed_file_returns_error ... ok [INFO] [stdout] test config::settings::tests::test_lsp_settings_serialize_roundtrip ... ok [INFO] [stdout] test config::settings::tests::test_lsp_server_config_equality ... ok [INFO] [stdout] test config::settings::tests::test_load_missing_file_returns_default ... ok [INFO] [stdout] test config::settings::tests::test_settings_partial_toml ... ok [INFO] [stdout] test config::settings::tests::test_settings_serialization_roundtrip ... ok [INFO] [stdout] test config::settings::tests::test_settings_with_lsp_server ... ok [INFO] [stdout] test config::theme::tests::test_all_theme_colors_convert_to_ratatui ... ok [INFO] [stdout] test config::theme::tests::test_color_boundary_values ... ok [INFO] [stdout] test config::theme::tests::test_color_clone ... ok [INFO] [stdout] test config::theme::tests::test_color_debug ... ok [INFO] [stdout] test config::settings::tests::test_save_creates_parent_dirs ... ok [INFO] [stdout] test config::settings::tests::test_save_and_load_via_tempfile ... ok [INFO] [stdout] test config::theme::tests::test_color_equality ... ok [INFO] [stdout] test config::theme::tests::test_color_to_ratatui ... ok [INFO] [stdout] test config::theme::tests::test_color_serialization_roundtrip ... ok [INFO] [stdout] test config::theme::tests::test_theme_clone ... ok [INFO] [stdout] test config::theme::tests::test_theme_default_creates_valid_theme ... ok [INFO] [stdout] test config::theme::tests::test_color_new ... ok [INFO] [stdout] test editor::clipboard::tests::debug_impl ... ok [INFO] [stdout] test editor::clipboard::tests::default_trait ... ok [INFO] [stdout] test config::settings::tests::test_settings_with_custom_theme ... ok [INFO] [stdout] test editor::clipboard::tests::fallback_empty_initially ... ok [INFO] [stdout] test editor::clipboard::tests::fallback_multiline_text ... ok [INFO] [stdout] test editor::clipboard::tests::fallback_empty_string ... ok [INFO] [stdout] test editor::clipboard::tests::fallback_set_and_get ... ok [INFO] [stdout] test config::theme::tests::test_theme_partial_deserialization ... ok [INFO] [stdout] test editor::clipboard::tests::has_system_clipboard_fallback ... ok [INFO] [stdout] test editor::clipboard::tests::fallback_unicode ... ok [INFO] [stdout] test editor::clipboard::tests::new_does_not_panic ... ok [INFO] [stdout] test editor::clipboard::tests::system_clipboard_if_available ... ok [INFO] [stdout] test editor::cursor::tests::cursor_state_at ... ok [INFO] [stdout] test editor::cursor::tests::cursor_state_clear_selection ... ok [INFO] [stdout] test editor::cursor::tests::cursor_state_default ... ok [INFO] [stdout] test editor::cursor::tests::cursor_state_default_trait ... ok [INFO] [stdout] test editor::clipboard::tests::fallback_overwrite ... ok [INFO] [stdout] test editor::cursor::tests::cursor_state_move_to ... ok [INFO] [stdout] test editor::cursor::tests::cursor_state_has_selection_false_for_empty ... ok [INFO] [stdout] test config::theme::tests::test_theme_serialization_roundtrip ... ok [INFO] [stdout] test editor::cursor::tests::cursor_state_move_vertically_clears_selection ... ok [INFO] [stdout] test editor::cursor::tests::cursor_state_move_vertically_preserves_desired_col ... ok [INFO] [stdout] test editor::cursor::tests::cursor_state_select_to_creates_selection ... ok [INFO] [stdout] test editor::cursor::tests::cursor_state_select_to_extends_selection ... ok [INFO] [stdout] test editor::cursor::tests::position_eq ... ok [INFO] [stdout] test editor::cursor::tests::position_new_and_zero ... ok [INFO] [stdout] test editor::cursor::tests::position_ordering_same_line ... ok [INFO] [stdout] test editor::cursor::tests::position_ordering ... ok [INFO] [stdout] test editor::cursor::tests::selection_contains_backward_selection ... ok [INFO] [stdout] test editor::cursor::tests::selection_contains_excludes_end ... ok [INFO] [stdout] test editor::cursor::tests::selection_contains_inside ... ok [INFO] [stdout] test editor::cursor::tests::selection_contains_multiline ... ok [INFO] [stdout] test editor::cursor::tests::selection_ordered_forward ... ok [INFO] [stdout] test editor::cursor::tests::selection_contains_outside ... ok [INFO] [stdout] test editor::cursor::tests::selection_is_empty ... ok [INFO] [stdout] test editor::cursor::tests::selection_ordered_backward ... ok [INFO] [stdout] test editor::document::tests::char_at_out_of_bounds ... ok [INFO] [stdout] test editor::document::tests::delete_range_empty_is_noop ... ok [INFO] [stdout] test editor::document::tests::delete_range_single_line ... ok [INFO] [stdout] test editor::document::tests::detect_language_go ... ok [INFO] [stdout] test editor::document::tests::char_at_valid ... ok [INFO] [stdout] test editor::document::tests::delete_range_multiline ... ok [INFO] [stdout] test editor::document::tests::detect_language_python ... ok [INFO] [stdout] test editor::document::tests::detect_language_javascript ... ok [INFO] [stdout] test editor::document::tests::detect_language_tsx ... ok [INFO] [stdout] test editor::document::tests::detect_language_no_extension ... ok [INFO] [stdout] test editor::document::tests::detect_language_shell ... ok [INFO] [stdout] test editor::document::tests::detect_language_unknown ... ok [INFO] [stdout] test editor::document::tests::detect_language_rust ... ok [INFO] [stdout] test editor::document::tests::from_text_basic ... ok [INFO] [stdout] test editor::document::tests::detect_language_typescript ... ok [INFO] [stdout] test editor::document::tests::insert_char_at_start ... ok [INFO] [stdout] test editor::document::tests::insert_char_at_end ... ok [INFO] [stdout] test editor::document::tests::insert_char_newline ... ok [INFO] [stdout] test editor::document::tests::insert_text_middle ... ok [INFO] [stdout] test editor::document::tests::line_len_excludes_newline ... ok [INFO] [stdout] test editor::document::tests::line_len_out_of_bounds ... ok [INFO] [stdout] test editor::document::tests::line_out_of_bounds_returns_empty ... ok [INFO] [stdout] test editor::document::tests::multibyte_chars ... ok [INFO] [stdout] test editor::document::tests::insert_text_multiline ... ok [INFO] [stdout] test editor::document::tests::line_len_last_line_no_newline ... ok [INFO] [stdout] test editor::document::tests::open_nonexistent_file_errors ... ok [INFO] [stdout] test editor::document::tests::rope_returns_reference ... ok [INFO] [stdout] test editor::document::tests::from_text_empty ... ok [INFO] [stdout] test editor::document::tests::save_as_updates_language_id ... ok [INFO] [stdout] test editor::document::tests::save_as_new_path ... ok [INFO] [stdout] test editor::document::tests::save_without_path_errors ... ok [INFO] [stdout] test editor::document::tests::unicode_insert_and_query ... ok [INFO] [stdout] test editor::document::tests::open_and_read ... ok [INFO] [stdout] test editor::history::tests::clear_aborts_open_group ... ok [INFO] [stdout] test editor::document::tests::save_to_existing_path ... ok [INFO] [stdout] test editor::history::tests::edit_delete_constructor ... ok [INFO] [stdout] test editor::history::tests::default_trait ... ok [INFO] [stdout] test editor::document::tests::version_increments_on_save ... ok [INFO] [stdout] test editor::history::tests::edit_invert_delete_to_insert ... ok [INFO] [stdout] test editor::history::tests::edit_insert_constructor ... ok [INFO] [stdout] test editor::history::tests::edit_double_invert_is_identity ... ok [INFO] [stdout] test editor::history::tests::edit_invert_insert_to_delete ... ok [INFO] [stdout] test editor::history::tests::clear_removes_all_history ... ok [INFO] [stdout] test editor::history::tests::empty_group_not_pushed ... ok [INFO] [stdout] test editor::history::tests::empty_history ... ok [INFO] [stdout] test editor::history::tests::end_group_without_begin_is_noop ... ok [INFO] [stdout] test editor::history::tests::grouped_edits_redo_together ... ok [INFO] [stdout] test editor::history::tests::grouped_edits_undo_together ... ok [INFO] [stdout] test editor::history::tests::mixed_grouped_and_ungrouped ... ok [INFO] [stdout] test editor::history::tests::multiple_undo_redo ... ok [INFO] [stdout] test editor::history::tests::new_edit_clears_redo ... ok [INFO] [stdout] test editor::history::tests::record_single_edit_creates_own_group ... ok [INFO] [stdout] test editor::history::tests::redo_returns_original_edit ... ok [INFO] [stdout] test editor::history::tests::undo_on_empty_returns_none ... ok [INFO] [stdout] test editor::history::tests::redo_on_empty_returns_none ... ok [INFO] [stdout] test editor::history::tests::nested_begin_group_is_noop ... ok [INFO] [stdout] test editor::history::tests::undo_returns_inverted_edit ... ok [INFO] [stdout] test editor::syntax::tests::detect_syntax_javascript ... ok [INFO] [stdout] test app::tests::test_focus_cycling ... ok [INFO] [stdout] test app::tests::test_open_file ... ok [INFO] [stdout] test app::tests::test_quit ... ok [INFO] [stdout] test app::tests::test_close_tab_empty ... ok [INFO] [stdout] test app::tests::test_dispatch_action ... ok [INFO] [stdout] test app::tests::test_dispatch_none_action ... ok [INFO] [stdout] test app::tests::test_toggle_sidebar ... ok [INFO] [stdout] test app::tests::test_app_new ... ok [INFO] [stdout] test editor::syntax::tests::default_trait ... ok [INFO] [stdout] test app::tests::test_command_palette_show ... ok [INFO] [stdout] test app::tests::test_sidebar_hidden_focus_stays_editor ... ok [INFO] [stdout] test app::tests::test_save_no_buffer ... ok [INFO] [stdout] test editor::syntax::tests::highlight_style_from_syntect ... ok [INFO] [stdout] test editor::syntax::tests::highlight_style_new ... ok [INFO] [stdout] test editor::syntax::tests::detect_syntax_no_extension ... ok [INFO] [stdout] test editor::syntax::tests::highlighted_span_new ... ok [INFO] [stdout] test events::tests::test_background_command_is_send ... ok [INFO] [stdout] test events::tests::test_app_event_is_send ... ok [INFO] [stdout] test events::tests::test_file_change_event_variants ... ok [INFO] [stdout] test files::drop_handler::tests::test_drop_handler_is_constructible ... ok [INFO] [stdout] test files::drop_handler::tests::test_expand_tilde_just_tilde ... ok [INFO] [stdout] test editor::syntax::tests::detect_syntax_path_with_dirs ... ok [INFO] [stdout] test files::drop_handler::tests::test_expand_tilde_with_subpath ... ok [INFO] [stdout] test files::drop_handler::tests::test_expand_tilde_no_tilde ... ok [INFO] [stdout] test files::drop_handler::tests::test_is_file_drop_false_for_code ... ok [INFO] [stdout] test files::drop_handler::tests::test_is_file_drop_false_for_empty ... ok [INFO] [stdout] test files::drop_handler::tests::test_is_file_drop_false_mixed ... ok [INFO] [stdout] test files::drop_handler::tests::test_is_file_drop_false_paths_not_existing ... ok [INFO] [stdout] test files::drop_handler::tests::test_is_file_drop_multiple_paths ... ok [INFO] [stdout] test files::drop_handler::tests::test_is_file_drop_tilde_path ... ok [INFO] [stdout] test files::drop_handler::tests::test_looks_like_path_absolute_unix ... ok [INFO] [stdout] test files::drop_handler::tests::test_looks_like_path_not_a_path ... ok [INFO] [stdout] test files::drop_handler::tests::test_is_file_drop_true ... ok [INFO] [stdout] test files::drop_handler::tests::test_looks_like_path_tilde ... ok [INFO] [stdout] test files::drop_handler::tests::test_looks_like_path_windows ... ok [INFO] [stdout] test files::drop_handler::tests::test_parse_dropped_content_empty ... ok [INFO] [stdout] test files::drop_handler::tests::test_parse_dropped_content_directories ... ok [INFO] [stdout] test files::drop_handler::tests::test_parse_dropped_content_existing_files ... ok [INFO] [stdout] test files::drop_handler::tests::test_parse_dropped_content_skips_nonexistent ... ok [INFO] [stdout] test files::drop_handler::tests::test_parse_dropped_content_whitespace_only ... ok [INFO] [stdout] test files::drop_handler::tests::test_parse_dropped_content_trims_whitespace ... ok [INFO] [stdout] test files::operations::tests::test_copy_file_basic ... ok [INFO] [stdout] test files::operations::tests::test_copy_directory ... ok [INFO] [stdout] test files::operations::tests::test_create_dir_basic ... ok [INFO] [stdout] test files::operations::tests::test_copy_file_into_dir ... ok [INFO] [stdout] test files::operations::tests::test_copy_file_conflict ... ok [INFO] [stdout] test files::operations::tests::test_create_dir_nested ... ok [INFO] [stdout] test files::operations::tests::test_create_dir_conflict ... ok [INFO] [stdout] test files::operations::tests::test_create_file_basic ... ok [INFO] [stdout] test files::operations::tests::test_delete_to_trash ... ok [INFO] [stdout] test files::operations::tests::test_create_file_nested ... ok [INFO] [stdout] test files::operations::tests::test_create_file_conflict ... ok [INFO] [stdout] test files::operations::tests::test_delete_to_trash_nonexistent ... ok [INFO] [stdout] test files::operations::tests::test_move_file_conflict ... ok [INFO] [stdout] test files::operations::tests::test_move_file_into_dir ... ok [INFO] [stdout] test files::operations::tests::test_rename_directory ... ok [INFO] [stdout] test files::operations::tests::test_move_file_basic ... ok [INFO] [stdout] test files::operations::tests::test_rename_file_basic ... ok [INFO] [stdout] test files::operations::tests::test_resolve_conflict_first_collision ... ok [INFO] [stdout] test files::operations::tests::test_resolve_conflict_multiple_collisions ... ok [INFO] [stdout] test files::operations::tests::test_resolve_conflict_no_conflict ... ok [INFO] [stdout] test files::operations::tests::test_resolve_conflict_no_extension ... ok [INFO] [stdout] test files::tree::tests::test_build_tree_basic ... ok [INFO] [stdout] test files::tree::tests::test_build_tree_depth ... ok [INFO] [stdout] test files::tree::tests::test_build_tree_hidden_files_skipped ... ok [INFO] [stdout] test files::operations::tests::test_rename_file_conflict ... ok [INFO] [stdout] test files::tree::tests::test_build_tree_alphabetical_order ... ok [INFO] [stdout] test files::tree::tests::test_build_tree_max_depth ... ok [INFO] [stdout] test files::tree::tests::test_build_tree_root_expanded ... ok [INFO] [stdout] test files::tree::tests::test_build_tree_nested ... ok [INFO] [stdout] test files::tree::tests::test_build_tree_sorts_dirs_first ... ok [INFO] [stdout] test files::tree::tests::test_case_insensitive_sort ... ok [INFO] [stdout] test files::tree::tests::test_empty_directory ... ok [INFO] [stdout] test files::tree::tests::test_file_node_path_is_absolute ... ok [INFO] [stdout] test files::tree::tests::test_file_tree_flatten_includes_root ... ok [INFO] [stdout] test files::tree::tests::test_build_tree_non_root_collapsed ... ok [INFO] [stdout] test files::tree::tests::test_flat_entry_fields ... ok [INFO] [stdout] test editor::syntax::tests::detect_syntax_python ... ok [INFO] [stdout] test files::tree::tests::test_nonexistent_path_errors ... ok [INFO] [stdout] test files::tree::tests::test_refresh ... ok [INFO] [stdout] test files::tree::tests::test_file_tree_from_path ... ok [INFO] [stdout] test files::tree::tests::test_refresh_preserves_expanded ... ok [INFO] [stdout] test editor::syntax::tests::detect_syntax_rust ... ok [INFO] [stdout] test files::tree::tests::test_select_next ... ok [INFO] [stdout] test files::tree::tests::test_select_next_clamps ... ok [INFO] [stdout] test files::tree::tests::test_refresh_clamps_index ... ok [INFO] [stdout] test files::tree::tests::test_selected_entry ... ok [INFO] [stdout] test files::tree::tests::test_selected_entry_none_on_empty ... ok [INFO] [stdout] test files::tree::tests::test_select_previous_clamps_at_zero ... ok [INFO] [stdout] test files::tree::tests::test_select_previous ... ok [INFO] [stdout] test files::tree::tests::test_toggle_expand_file_is_noop ... ok [INFO] [stdout] test files::tree::tests::test_toggle_expand_dir ... ok [INFO] [stdout] test files::watcher::tests::test_multiple_watches ... ok [INFO] [stdout] test files::watcher::tests::test_watcher_creation ... ok [INFO] [stdout] test files::watcher::tests::test_watch_nonexistent_path ... ok [INFO] [stdout] test files::watcher::tests::test_unwatch_without_watch ... ok [INFO] [stdout] test input::actions::tests::test_action_clone_eq ... ok [INFO] [stdout] test input::actions::tests::test_file_drop_action ... ok [INFO] [stdout] test input::actions::tests::test_focus_area_copy ... ok [INFO] [stdout] test input::handler::tests::test_arrow_keys_cursor_movement ... ok [INFO] [stdout] test input::handler::tests::test_backspace_deletes ... ok [INFO] [stdout] test files::watcher::tests::test_watch_valid_path ... ok [INFO] [stdout] test input::handler::tests::test_completion_dismiss_esc ... ok [INFO] [stdout] test input::handler::tests::test_completion_up_down ... ok [INFO] [stdout] test input::handler::tests::test_completion_accept_enter ... ok [INFO] [stdout] test files::watcher::tests::test_unwatch_after_watch ... ok [INFO] [stdout] test input::handler::tests::test_ctrl_z_undo ... ok [INFO] [stdout] test input::handler::tests::test_ctrl_q_quits_from_any_focus ... ok [INFO] [stdout] test input::handler::tests::test_ctrl_s_saves ... ok [INFO] [stdout] test input::handler::tests::test_default_handler ... ok [INFO] [stdout] test input::handler::tests::test_enter_inserts_newline ... ok [INFO] [stdout] test input::handler::tests::test_handler_clone ... ok [INFO] [stdout] test input::handler::tests::test_f12_goto_definition ... ok [INFO] [stdout] test input::handler::tests::test_key_release_ignored ... ok [INFO] [stdout] test input::handler::tests::test_palette_backspace ... ok [INFO] [stdout] test input::handler::tests::test_palette_char_input ... ok [INFO] [stdout] test input::handler::tests::test_palette_esc_dismisses ... ok [INFO] [stdout] test input::handler::tests::test_focus_specific_overrides_global ... ok [INFO] [stdout] test input::handler::tests::test_palette_shift_char ... ok [INFO] [stdout] test input::handler::tests::test_paste_empty ... ok [INFO] [stdout] test input::handler::tests::test_paste_text ... ok [INFO] [stdout] test input::handler::tests::test_paste_file_paths ... ok [INFO] [stdout] test input::handler::tests::test_resize_returns_none ... ok [INFO] [stdout] test input::handler::tests::test_sidebar_arrows_navigate ... ok [INFO] [stdout] test input::handler::tests::test_shift_char_inserts_uppercase ... ok [INFO] [stdout] test input::handler::tests::test_plain_char_inserts_in_editor ... ok [INFO] [stdout] test input::handler::tests::test_sidebar_enter_opens ... ok [INFO] [stdout] test input::handler::tests::test_sidebar_r_triggers_file_rename ... ok [INFO] [stdout] test input::handler::tests::test_sidebar_unbound_char_produces_insert_char ... ok [INFO] [stdout] test input::handler::tests::test_sidebar_n_new_file ... ok [INFO] [stdout] test input::keymap::tests::test_completion_dismiss ... ok [INFO] [stdout] test input::handler::tests::test_unbound_key_returns_none ... ok [INFO] [stdout] test input::keymap::tests::test_completion_accept ... ok [INFO] [stdout] test input::keymap::tests::test_completion_navigation ... ok [INFO] [stdout] test input::keymap::tests::test_custom_bind_overrides ... ok [INFO] [stdout] test input::keymap::tests::test_editor_arrow_keys ... ok [INFO] [stdout] test input::keymap::tests::test_editor_ctrl_arrow_word_movement ... ok [INFO] [stdout] test input::keymap::tests::test_editor_find_replace ... ok [INFO] [stdout] test input::keymap::tests::test_editor_clipboard ... ok [INFO] [stdout] test input::keymap::tests::test_editor_goto_line ... ok [INFO] [stdout] test input::keymap::tests::test_editor_home_end ... ok [INFO] [stdout] test input::keymap::tests::test_editor_lsp_bindings ... ok [INFO] [stdout] test input::keymap::tests::test_editor_page_up_down ... ok [INFO] [stdout] test input::keymap::tests::test_editor_select_all ... ok [INFO] [stdout] test input::keymap::tests::test_editor_select_next_occurrence ... ok [INFO] [stdout] test input::keymap::tests::test_editor_shift_selection ... ok [INFO] [stdout] test input::keymap::tests::test_editor_text_editing_keys ... ok [INFO] [stdout] test input::keymap::tests::test_editor_undo_redo ... ok [INFO] [stdout] test input::keymap::tests::test_global_alt_left_previous_tab ... ok [INFO] [stdout] test input::keymap::tests::test_global_alt_right_next_tab ... ok [INFO] [stdout] test input::keymap::tests::test_global_ctrl_b_toggles_sidebar ... ok [INFO] [stdout] test input::keymap::tests::test_global_ctrl_p_command_palette ... ok [INFO] [stdout] test input::keymap::tests::test_global_ctrl_q_quits ... ok [INFO] [stdout] test input::keymap::tests::test_global_ctrl_s_saves ... ok [INFO] [stdout] test input::keymap::tests::test_global_ctrl_shift_f_project_search ... ok [INFO] [stdout] test input::keymap::tests::test_global_ctrl_w_close_tab ... ok [INFO] [stdout] test input::keymap::tests::test_keymap_for_returns_correct_map ... ok [INFO] [stdout] test editor::syntax::tests::highlight_unknown_syntax_returns_single_span ... ok [INFO] [stdout] test input::keymap::tests::test_keymap_get_missing_returns_none ... ok [INFO] [stdout] test input::keymap::tests::test_keymap_set_clone ... ok [INFO] [stdout] test input::keymap::tests::test_palette_backspace ... ok [INFO] [stdout] test input::keymap::tests::test_palette_navigation ... ok [INFO] [stdout] test input::keymap::tests::test_sidebar_navigation ... ok [INFO] [stdout] test input::keymap::tests::test_palette_accept_dismiss ... ok [INFO] [stdout] test input::keymap::tests::test_sidebar_clipboard ... ok [INFO] [stdout] test input::keymap::tests::test_sidebar_file_operations ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_code_action_kinds ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_did_change_configuration ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_has_definition ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_has_formatting ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_has_hover ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_has_publish_diagnostics ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_has_completion ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_has_code_action ... ok [INFO] [stdout] test files::watcher::tests::test_watcher_receives_events ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_has_references ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_has_rename ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_has_signature_help ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_has_workspace ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_serialization ... ok [INFO] [stdout] test lsp::capabilities::tests::test_supports_feature_code_action ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_workspace_edit ... ok [INFO] [stdout] test lsp::capabilities::tests::test_supports_feature_completion ... ok [INFO] [stdout] test lsp::capabilities::tests::test_supports_feature_definition ... ok [INFO] [stdout] test lsp::capabilities::tests::test_supports_feature_formatting ... ok [INFO] [stdout] test lsp::capabilities::tests::test_supports_feature_diagnostics_always_true ... ok [INFO] [stdout] test lsp::capabilities::tests::test_supports_feature_hover ... ok [INFO] [stdout] test lsp::capabilities::tests::test_supports_feature_references ... ok [INFO] [stdout] test lsp::capabilities::tests::test_supports_feature_rename ... ok [INFO] [stdout] test lsp::client::tests::test_atomic_id_generation ... ok [INFO] [stdout] test lsp::client::tests::test_dispatch_notification_diagnostics_bad_params ... ok [INFO] [stdout] test editor::syntax::tests::new_does_not_panic ... ok [INFO] [stdout] test lsp::capabilities::tests::test_client_capabilities_has_text_document ... ok [INFO] [stdout] test lsp::capabilities::tests::test_supports_feature_signature_help ... ok [INFO] [stdout] test lsp::capabilities::tests::test_supports_feature_unknown_returns_false ... ok [INFO] [stdout] test lsp::client::tests::test_dispatch_notification_diagnostics ... ok [INFO] [stdout] test lsp::client::tests::test_dispatch_notification_unknown_method ... ok [INFO] [stdout] test lsp::client::tests::test_format_lsp_message_empty_body ... ok [INFO] [stdout] test lsp::client::tests::test_notification_message_format ... ok [INFO] [stdout] test lsp::client::tests::test_format_lsp_message_json_body ... ok [INFO] [stdout] test lsp::client::tests::test_parse_content_length_empty ... ok [INFO] [stdout] test lsp::client::tests::test_parse_content_length_invalid_value ... ok [INFO] [stdout] test lsp::client::tests::test_parse_content_length_no_header ... ok [INFO] [stdout] test lsp::client::tests::test_format_lsp_message_simple ... ok [INFO] [stdout] test lsp::client::tests::test_parse_content_length_valid ... ok [INFO] [stdout] test lsp::client::tests::test_parse_content_length_with_whitespace ... ok [INFO] [stdout] test lsp::client::tests::test_read_content_length_eof ... ok [INFO] [stdout] test lsp::client::tests::test_read_content_length_missing_header ... ok [INFO] [stdout] test lsp::client::tests::test_read_content_length_valid ... ok [INFO] [stdout] test lsp::client::tests::test_read_full_message_roundtrip ... ok [INFO] [stdout] test lsp::client::tests::test_read_multiple_messages ... ok [INFO] [stdout] test lsp::client::tests::test_read_content_length_with_extra_headers ... ok [INFO] [stdout] test lsp::client::tests::test_response_deserialization ... ok [INFO] [stdout] test lsp::client::tests::test_response_error_deserialization ... ok [INFO] [stdout] test files::watcher::tests::test_watcher_detects_deletion ... ok [INFO] [stdout] test lsp::client::tests::test_request_message_format ... ok [INFO] [stdout] test lsp::registry::tests::test_binary_exists_known_binary ... ok [INFO] [stdout] test lsp::registry::tests::test_known_servers_count ... ok [INFO] [stdout] test lsp::registry::tests::test_known_servers_clangd ... ok [INFO] [stdout] test lsp::registry::tests::test_known_servers_gopls ... ok [INFO] [stdout] test editor::syntax::tests::detect_syntax_unknown_extension ... ok [INFO] [stdout] test lsp::registry::tests::test_binary_exists_unknown_binary ... ok [INFO] [stdout] test lsp::registry::tests::test_known_servers_lua ... ok [INFO] [stdout] test lsp::registry::tests::test_known_servers_not_empty ... ok [INFO] [stdout] test lsp::registry::tests::test_known_servers_pyright ... ok [INFO] [stdout] test lsp::registry::tests::test_known_servers_rust_analyzer ... ok [INFO] [stdout] test lsp::registry::tests::test_known_servers_typescript ... ok [INFO] [stdout] test lsp::registry::tests::test_known_servers_zls ... ok [INFO] [stdout] test lsp::registry::tests::test_client_for_extension_returns_none_for_unknown ... ok [INFO] [stdout] test lsp::registry::tests::test_known_servers_jdtls ... ok [INFO] [stdout] test lsp::registry::tests::test_server_config_clone ... ok [INFO] [stdout] test lsp::registry::tests::test_server_config_debug ... ok [INFO] [stdout] test lsp::registry::tests::test_registry_new_with_user_config ... ok [INFO] [stdout] test lsp::types::tests::test_error_serialization_with_data ... ok [INFO] [stdout] test lsp::registry::tests::test_discover_returns_hashmap ... ok [INFO] [stdout] test lsp::types::tests::test_json_rpc_message_deserialize_notification ... ok [INFO] [stdout] test lsp::types::tests::test_json_rpc_message_deserialize_request ... ok [INFO] [stdout] test lsp::types::tests::test_json_rpc_message_deserialize_response ... ok [INFO] [stdout] test lsp::types::tests::test_notification_clone ... ok [INFO] [stdout] test lsp::types::tests::test_notification_new ... ok [INFO] [stdout] test lsp::types::tests::test_notification_new_no_params ... ok [INFO] [stdout] test lsp::types::tests::test_notification_params_none_omitted_in_json ... ok [INFO] [stdout] test lsp::types::tests::test_error_serialization_without_data ... ok [INFO] [stdout] test lsp::types::tests::test_notification_serialization_roundtrip ... ok [INFO] [stdout] test lsp::types::tests::test_request_clone ... ok [INFO] [stdout] test lsp::types::tests::test_request_new_no_params ... ok [INFO] [stdout] test lsp::registry::tests::test_registry_user_config_overrides_discovered ... ok [INFO] [stdout] test lsp::types::tests::test_request_params_none_omitted_in_json ... ok [INFO] [stdout] test lsp::types::tests::test_request_new ... ok [INFO] [stdout] test lsp::types::tests::test_request_serialization_roundtrip ... ok [INFO] [stdout] test lsp::types::tests::test_response_err ... ok [INFO] [stdout] test lsp::registry::tests::test_registry_multiple_extensions_same_server ... ok [INFO] [stdout] test lsp::types::tests::test_response_error_with_response_ok_fields ... ok [INFO] [stdout] test lsp::types::tests::test_response_ok ... ok [INFO] [stdout] test lsp::types::tests::test_response_serialization_roundtrip ... ok [INFO] [stdout] test ui::buffer::tests::test_backspace_deletes_selection ... ok [INFO] [stdout] test ui::buffer::tests::test_buffer_from_text ... ok [INFO] [stdout] test lsp::registry::tests::test_registry_new_empty_user_config ... ok [INFO] [stdout] test ui::buffer::tests::test_copy_paste ... ok [INFO] [stdout] test ui::buffer::tests::test_cursor_line_boundaries ... ok [INFO] [stdout] test ui::buffer::tests::test_cursor_movement ... ok [INFO] [stdout] test ui::buffer::tests::test_cursor_word_movement ... ok [INFO] [stdout] test ui::buffer::tests::test_cut ... ok [INFO] [stdout] test lsp::registry::tests::test_registry_no_server_for_unknown_extension ... ok [INFO] [stdout] test ui::buffer::tests::test_delete_backward ... ok [INFO] [stdout] test ui::buffer::tests::test_cursor_screen_position ... ok [INFO] [stdout] test ui::buffer::tests::test_file_start_end ... ok [INFO] [stdout] test ui::buffer::tests::test_handle_action_returns_command ... ok [INFO] [stdout] test ui::buffer::tests::test_gutter_width ... ok [INFO] [stdout] test ui::buffer::tests::test_insert_char ... ok [INFO] [stdout] test ui::buffer::tests::test_insert_newline ... ok [INFO] [stdout] test ui::buffer::tests::test_paste_multiline ... ok [INFO] [stdout] test ui::buffer::tests::test_name_untitled ... ok [INFO] [stdout] test ui::buffer::tests::test_page_up_down ... ok [INFO] [stdout] test ui::buffer::tests::test_delete_backward_at_line_start ... ok [INFO] [stdout] test ui::buffer::tests::test_paste_replaces_selection ... ok [INFO] [stdout] test lsp::registry::tests::test_shutdown_all_with_no_clients ... ok [INFO] [stdout] test ui::buffer::tests::test_scroll_on_cursor_movement ... ok [INFO] [stdout] test ui::buffer::tests::test_search_activate_and_dismiss ... ok [INFO] [stdout] test ui::buffer::tests::test_select_all ... ok [INFO] [stdout] test ui::buffer::tests::test_search_case_insensitive ... ok [INFO] [stdout] test ui::buffer::tests::test_select_down ... ok [INFO] [stdout] test ui::buffer::tests::test_search_ctrl_f_toggles ... ok [INFO] [stdout] test ui::buffer::tests::test_select_get_text ... ok [INFO] [stdout] test ui::buffer::tests::test_search_finds_matches ... ok [INFO] [stdout] test ui::buffer::tests::test_search_navigate_matches ... ok [INFO] [stdout] test ui::buffer::tests::test_select_line_end ... ok [INFO] [stdout] test ui::buffer::tests::test_select_collapses_to_none ... ok [INFO] [stdout] test ui::buffer::tests::test_select_multiline ... ok [INFO] [stdout] test ui::buffer::tests::test_search_typing_updates_query ... ok [INFO] [stdout] test ui::buffer::tests::test_select_right ... ok [INFO] [stdout] test ui::buffer::tests::test_select_then_move_clears ... ok [INFO] [stdout] test ui::buffer::tests::test_select_up ... ok [INFO] [stdout] test ui::buffer::tests::test_select_word_right ... ok [INFO] [stdout] test ui::buffer::tests::test_undo_redo ... ok [INFO] [stdout] test ui::buffer::tests::test_select_left ... ok [INFO] [stdout] test ui::command_palette::tests::test_handle_action_dismiss ... ok [INFO] [stdout] test ui::command_palette::tests::test_fuzzy_filter ... ok [INFO] [stdout] test ui::buffer::tests::test_type_replaces_selection ... ok [INFO] [stdout] test ui::command_palette::tests::test_backspace ... ok [INFO] [stdout] test ui::command_palette::tests::test_accept_empty ... ok [INFO] [stdout] test ui::command_palette::tests::test_accept ... ok [INFO] [stdout] test ui::command_palette::tests::test_new_palette ... ok [INFO] [stdout] test ui::command_palette::tests::test_navigation ... ok [INFO] [stdout] test ui::command_palette::tests::test_hide ... ok [INFO] [stdout] test ui::command_palette::tests::test_handle_action_accept ... ok [INFO] [stdout] test ui::completion::tests::test_accept ... ok [INFO] [stdout] test ui::completion::tests::test_completion_kind_icon ... ok [INFO] [stdout] test ui::command_palette::tests::test_show_collects_files ... ok [INFO] [stdout] test ui::completion::tests::test_from_lsp_kind ... ok [INFO] [stdout] test ui::completion::tests::test_accept_empty ... ok [INFO] [stdout] test ui::completion::tests::test_hide ... ok [INFO] [stdout] test ui::completion::tests::test_navigation ... ok [INFO] [stdout] test ui::command_palette::tests::test_skips_hidden_files ... ok [INFO] [stdout] test ui::completion::tests::test_new_popup ... ok [INFO] [stdout] test ui::completion::tests::test_show_empty_hides ... ok [INFO] [stdout] test ui::completion::tests::test_handle_dismiss ... ok [INFO] [stdout] test ui::completion::tests::test_show_from_lsp ... ok [INFO] [stdout] test ui::completion::tests::test_show_popup ... ok [INFO] [stdout] test ui::confirm_dialog::tests::test_accept ... ok [INFO] [stdout] test ui::confirm_dialog::tests::test_navigation ... ok [INFO] [stdout] test ui::confirm_dialog::tests::test_new ... ok [INFO] [stdout] test ui::csv_view::tests::test_col_widths ... ok [INFO] [stdout] test ui::confirm_dialog::tests::test_show_hide ... ok [INFO] [stdout] test ui::csv_view::tests::test_delete_clears_cell ... ok [INFO] [stdout] test ui::confirm_dialog::tests::test_show_defaults_to_save ... ok [INFO] [stdout] test ui::csv_view::tests::test_navigate_right_left ... ok [INFO] [stdout] test ui::csv_view::tests::test_page_up_down ... ok [INFO] [stdout] test ui::csv_view::tests::test_edit_and_confirm ... ok [INFO] [stdout] test ui::csv_view::tests::test_initial_cursor ... ok [INFO] [stdout] test ui::csv_view::tests::test_edit_cancel_with_undo ... ok [INFO] [stdout] test ui::csv_view::tests::test_navigate_down_up ... ok [INFO] [stdout] test ui::csv_view::tests::test_enter_edit_mode ... ok [INFO] [stdout] test ui::csv_view::tests::test_save_roundtrip ... ok [INFO] [stdout] test ui::csv_view::tests::test_tab_moves_to_next_col ... ok [INFO] [stdout] test ui::csv_view::tests::test_type_to_start_edit ... ok [INFO] [stdout] test ui::csv_view::tests::test_parse_simple_csv ... ok [INFO] [stdout] test ui::editor::tests::test_csv_navigation_via_pane ... ok [INFO] [stdout] test ui::editor::tests::test_close_active_tab ... ok [INFO] [stdout] test ui::editor::tests::test_editor_pane_new ... ok [INFO] [stdout] test ui::editor::tests::test_open_csv_file ... ok [INFO] [stdout] test ui::editor::tests::test_next_previous_tab ... ok [INFO] [stdout] test ui::editor::tests::test_handle_edit_action ... ok [INFO] [stdout] test ui::editor::tests::test_active_buffer_text ... ok [INFO] [stdout] test ui::editor::tests::test_open_file ... ok [INFO] [stdout] test ui::editor::tests::test_active_buffer_csv_returns_none ... ok [INFO] [stdout] test ui::shortcuts_help::tests::test_build_lines_not_empty ... ok [INFO] [stdout] test ui::shortcuts_help::tests::test_handle_action_esc_hides ... ok [INFO] [stdout] test ui::shortcuts_help::tests::test_handle_action_page_down ... ok [INFO] [stdout] test ui::shortcuts_help::tests::test_handle_action_quit_doesnt_consume ... ok [INFO] [stdout] test ui::shortcuts_help::tests::test_handle_action_scroll_down ... ok [INFO] [stdout] test ui::shortcuts_help::tests::test_hide_resets_scroll ... ok [INFO] [stdout] test ui::shortcuts_help::tests::test_scroll ... ok [INFO] [stdout] test ui::shortcuts_help::tests::test_new ... ok [INFO] [stdout] test ui::shortcuts_help::tests::test_toggle ... ok [INFO] [stdout] test ui::sidebar::tests::test_delete_returns_command ... ok [INFO] [stdout] test ui::sidebar::tests::test_file_clipboard ... ok [INFO] [stdout] test ui::sidebar::tests::test_file_cut ... ok [INFO] [stdout] test ui::sidebar::tests::test_new_dir_mode ... ok [INFO] [stdout] test ui::sidebar::tests::test_navigation ... ok [INFO] [stdout] test ui::sidebar::tests::test_new_file_mode ... ok [INFO] [stdout] test ui::sidebar::tests::test_rename_mode ... ok [INFO] [stdout] test ui::sidebar::tests::test_rename_mode_can_type_r ... ok [INFO] [stdout] test ui::sidebar::tests::test_sidebar_new ... ok [INFO] [stdout] test ui::sidebar::tests::test_toggle_visibility ... ok [INFO] [stdout] test ui::status_bar::tests::test_status_info_clone ... ok [INFO] [stdout] test ui::status_bar::tests::test_status_info_default ... ok [INFO] [stdout] test ui::status_bar::tests::test_status_info_with_values ... ok [INFO] [stdout] test ui::tab_bar::tests::test_add_tab ... ok [INFO] [stdout] test ui::tab_bar::tests::test_close_middle_tab ... ok [INFO] [stdout] test ui::tab_bar::tests::test_close_nonexistent_tab ... ok [INFO] [stdout] test ui::tab_bar::tests::test_close_tab ... ok [INFO] [stdout] test ui::tab_bar::tests::test_find_tab ... ok [INFO] [stdout] test ui::tab_bar::tests::test_new_tab_bar ... ok [INFO] [stdout] test ui::tab_bar::tests::test_next_previous_tab ... ok [INFO] [stdout] test ui::tab_bar::tests::test_update_tab ... ok [INFO] [stdout] test ui::editor::tests::test_open_same_file_twice ... ok [INFO] [stdout] test ui::sidebar::tests::test_tree_open_file ... ok [INFO] [stdout] test editor::syntax::tests::highlight_python_line ... ok [INFO] [stdout] test ui::editor::tests::test_status_info_empty ... ok [INFO] [stdout] test ui::editor::tests::test_save_active_tab_text ... ok [INFO] [stdout] test editor::syntax::tests::highlight_empty_line ... ok [INFO] [stdout] test ui::editor::tests::test_status_info_csv ... ok [INFO] [stdout] test ui::editor::tests::test_status_info_text ... ok [INFO] [stdout] test editor::syntax::tests::highlight_line_with_existing_newline ... ok [INFO] [stdout] test lsp::client::tests::test_rust_analyzer_completion ... ok [INFO] [stdout] test editor::syntax::tests::highlight_text_single_line_no_trailing_newline ... ok [INFO] [stdout] test editor::syntax::tests::highlight_text_multiline ... ok [INFO] [stdout] test editor::syntax::tests::highlight_rust_line ... ok [INFO] [stdout] test editor::syntax::tests::rust_keyword_has_nonzero_color ... ok [INFO] [stdout] test app::tests::test_lsp_flow_with_runtime ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 507 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 15.33s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "9fca956b84f7b5680a1f2f85d10ddebbe5c5e6e714b2fc398405b33b88bf1e55", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9fca956b84f7b5680a1f2f85d10ddebbe5c5e6e714b2fc398405b33b88bf1e55", kill_on_drop: false }` [INFO] [stdout] 9fca956b84f7b5680a1f2f85d10ddebbe5c5e6e714b2fc398405b33b88bf1e55