[INFO] cloning repository https://github.com/dheerajgopi/termide [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dheerajgopi/termide" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdheerajgopi%2Ftermide", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdheerajgopi%2Ftermide'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 72ac825b218df1b56eff4dae576d2754f781df1f [INFO] building dheerajgopi/termide against try#58b1b3c5342a414c161338871f8004258ccef2a7 for pr-149937 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdheerajgopi%2Ftermide" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/dheerajgopi/termide [INFO] finished tweaking git repo https://github.com/dheerajgopi/termide [INFO] tweaked toml for git repo https://github.com/dheerajgopi/termide written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/dheerajgopi/termide on toolchain 58b1b3c5342a414c161338871f8004258ccef2a7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/dheerajgopi/termide 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" "+58b1b3c5342a414c161338871f8004258ccef2a7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded notify-debouncer-mini v0.7.0 [INFO] [stderr] Downloaded str_indices v0.4.4 [INFO] [stderr] Downloaded indoc v2.0.7 [INFO] [stderr] Downloaded ropey v1.6.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6788081840a404d129e09a2a31b04e7500a177db428210ec2afb45105b6ff5cb [INFO] running `Command { std: "docker" "start" "-a" "6788081840a404d129e09a2a31b04e7500a177db428210ec2afb45105b6ff5cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6788081840a404d129e09a2a31b04e7500a177db428210ec2afb45105b6ff5cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6788081840a404d129e09a2a31b04e7500a177db428210ec2afb45105b6ff5cb", kill_on_drop: false }` [INFO] [stdout] 6788081840a404d129e09a2a31b04e7500a177db428210ec2afb45105b6ff5cb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ca5f4a02e9750623f233873f5956951687f5f233817282239eb3af9c12edcc05 [INFO] running `Command { std: "docker" "start" "-a" "ca5f4a02e9750623f233873f5956951687f5f233817282239eb3af9c12edcc05", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling signal-hook-registry v1.4.7 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling mio v1.1.0 [INFO] [stderr] Compiling convert_case v0.7.1 [INFO] [stderr] Compiling inotify-sys v0.1.5 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling instability v0.3.9 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling notify-types v2.0.0 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling inotify v0.11.0 [INFO] [stderr] Compiling option-ext v0.2.0 [INFO] [stderr] Compiling indoc v2.0.7 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling compact_str v0.8.1 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling lru v0.12.5 [INFO] [stderr] Compiling str_indices v0.4.4 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling notify v8.2.0 [INFO] [stderr] Compiling ropey v1.6.1 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling unicode-truncate v1.1.0 [INFO] [stderr] Compiling toml_parser v1.0.4 [INFO] [stderr] Compiling toml v0.9.8 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling notify-debouncer-mini v0.7.0 [INFO] [stderr] Compiling darling_core v0.20.11 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling derive_more v2.0.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling strum v0.26.3 [INFO] [stderr] Compiling thiserror v2.0.17 [INFO] [stderr] Compiling termide-plugin-api v0.1.0 (/opt/rustwide/workdir/crates/termide-plugin-api) [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling ratatui v0.29.0 [INFO] [stderr] Compiling termide v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `selection::Selection` [INFO] [stdout] --> src/buffer/mod.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub use selection::Selection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `renderer::Renderer` [INFO] [stdout] --> src/ui/mod.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use renderer::Renderer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Buffer` is never constructed [INFO] [stdout] --> src/buffer/buffer.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct Buffer { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/buffer/buffer.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl Buffer { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn from_str(content: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn insert_char(&mut self, ch: char, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn delete_char_at(&mut self, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn delete_forward(&mut self, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn get_line_start(&self, pos: Position) -> Position { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn get_line_end(&self, pos: Position) -> Position { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn page_up(&self, pos: Position, viewport_height: usize) -> Position { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn page_down(&self, pos: Position, viewport_height: usize) -> Position { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | fn clamp_column_to_line(&self, line: usize, column: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 278 | pub fn content(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub fn line_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | pub fn get_line(&self, line: usize) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 324 | pub fn line_len(&self, line: usize) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | pub fn is_dirty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 356 | pub fn clear_dirty(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 361 | pub fn set_dirty(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 366 | pub fn file_path(&self) -> Option<&PathBuf> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 371 | pub fn set_file_path(&mut self, path: PathBuf) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 388 | pub fn is_valid_position(&self, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 406 | pub fn clamp_position(&self, pos: Position) -> Position { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 419 | fn position_to_char_idx(&self, pos: Position) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 440 | pub fn len_chars(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 445 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Position` is never constructed [INFO] [stdout] --> src/buffer/position.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Position { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `origin` are never used [INFO] [stdout] --> src/buffer/position.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Position { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn new(line: usize, column: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn origin() -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Selection` is never constructed [INFO] [stdout] --> src/buffer/selection.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Selection { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/buffer/selection.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Selection { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn new(pos: Position) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn with_anchor_and_cursor(anchor: Position, cursor: Position) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn anchor(&self) -> Position { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn cursor(&self) -> Position { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn has_selection(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn range(&self) -> (Position, Position) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn contains(&self, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn extend_to(self, pos: Position) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn clear(self) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParseModeError` is never constructed [INFO] [stdout] --> src/editor/editor_mode.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ParseModeError { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EditorMode` is never used [INFO] [stdout] --> src/editor/editor_mode.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | pub enum EditorMode { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/editor/editor_mode.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 56 | impl EditorMode { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn to_string(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EditorState` is never constructed [INFO] [stdout] --> src/editor/editor_state.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct EditorState { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/editor/editor_state.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 56 | impl EditorState { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn from_file(path: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn buffer(&self) -> &Buffer { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn buffer_mut(&mut self) -> &mut Buffer { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn mode(&self) -> EditorMode { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn set_mode(&mut self, mode: EditorMode) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn status_message(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn set_status_message(&mut self, message: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn clear_status_message(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn should_quit(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn request_quit(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn force_quit(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | pub fn handle_char_insert(&mut self, ch: char, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn handle_char_delete(&mut self, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn set_file_path(&mut self, path: &Path) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn prompt_input(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 285 | pub fn prompt_message(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | pub fn enter_prompt(&mut self, message: String) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub fn prompt_insert_char(&mut self, ch: char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | pub fn prompt_delete_char(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 312 | pub fn accept_prompt(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 321 | pub fn cancel_prompt(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub fn save(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub fn save_as(&mut self, path: &Path) -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_file` is never used [INFO] [stdout] --> src/file_io/read.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn read_file(path: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_file` is never used [INFO] [stdout] --> src/file_io/write.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn write_file(path: &Path, content: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `register_default_bindings` is never used [INFO] [stdout] --> src/input/bindings.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn register_default_bindings(registry: &mut KeyBindingRegistry) -> Result<(), BindingError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `global_bindings` is never used [INFO] [stdout] --> src/input/bindings.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn global_bindings() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `insert_mode_bindings` is never used [INFO] [stdout] --> src/input/bindings.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn insert_mode_bindings() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normal_mode_bindings` is never used [INFO] [stdout] --> src/input/bindings.rs:261:8 [INFO] [stdout] | [INFO] [stdout] 261 | pub fn normal_mode_bindings() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prompt_mode_bindings` is never used [INFO] [stdout] --> src/input/bindings.rs:305:8 [INFO] [stdout] | [INFO] [stdout] 305 | pub fn prompt_mode_bindings() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `arrow_key_navigation` is never used [INFO] [stdout] --> src/input/bindings.rs:364:8 [INFO] [stdout] | [INFO] [stdout] 364 | pub fn arrow_key_navigation(modes: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `navigation_commands` is never used [INFO] [stdout] --> src/input/bindings.rs:431:8 [INFO] [stdout] | [INFO] [stdout] 431 | pub fn navigation_commands(modes: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EditorCommand` is never used [INFO] [stdout] --> src/input/command.rs:75:10 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum EditorCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CommandParseError` is never used [INFO] [stdout] --> src/input/command.rs:362:10 [INFO] [stdout] | [INFO] [stdout] 362 | pub enum CommandParseError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_plugin_command` is never used [INFO] [stdout] --> src/input/command.rs:540:4 [INFO] [stdout] | [INFO] [stdout] 540 | fn parse_plugin_command(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LoadResult` is never constructed [INFO] [stdout] --> src/input/config.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct LoadResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ConfigError` is never used [INFO] [stdout] --> src/input/config.rs:67:10 [INFO] [stdout] | [INFO] [stdout] 67 | pub enum ConfigError { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeybindingConfig` is never constructed [INFO] [stdout] --> src/input/config.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | pub struct KeybindingConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserBinding` is never constructed [INFO] [stdout] --> src/input/config.rs:169:12 [INFO] [stdout] | [INFO] [stdout] 169 | pub struct UserBinding { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_user_keybindings` is never used [INFO] [stdout] --> src/input/config.rs:231:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub fn load_user_keybindings( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_single_binding` is never used [INFO] [stdout] --> src/input/config.rs:295:4 [INFO] [stdout] | [INFO] [stdout] 295 | fn load_single_binding( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_mode` is never used [INFO] [stdout] --> src/input/config.rs:347:8 [INFO] [stdout] | [INFO] [stdout] 347 | pub fn parse_mode(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_parse_error` is never used [INFO] [stdout] --> src/input/config.rs:352:4 [INFO] [stdout] | [INFO] [stdout] 352 | fn format_parse_error(error: &ParseError) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_command_error` is never used [INFO] [stdout] --> src/input/config.rs:369:4 [INFO] [stdout] | [INFO] [stdout] 369 | fn format_command_error(error: &CommandParseError) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reload_user_keybindings` is never used [INFO] [stdout] --> src/input/config.rs:447:8 [INFO] [stdout] | [INFO] [stdout] 447 | pub fn reload_user_keybindings( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_config_path` is never used [INFO] [stdout] --> src/input/config.rs:486:8 [INFO] [stdout] | [INFO] [stdout] 486 | pub fn get_config_path() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/input/direction.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MatchResult` is never used [INFO] [stdout] --> src/input/input_handler.rs:175:10 [INFO] [stdout] | [INFO] [stdout] 175 | pub enum MatchResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InputHandler` is never constructed [INFO] [stdout] --> src/input/input_handler.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 216 | pub struct InputHandler { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/input/input_handler.rs:231:12 [INFO] [stdout] | [INFO] [stdout] 221 | impl InputHandler { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn with_timeout(timeout: Duration) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | pub fn register_binding(&mut self, binding: KeyBinding) -> Result<(), BindingError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn registry_mut(&mut self) -> &mut KeyBindingRegistry { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | pub fn process_key_event(&mut self, event: KeyEvent, mode: EditorMode) -> MatchResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 434 | pub fn on_mode_change(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 471 | pub fn check_timeout(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PRIMARY_MODIFIER` is never used [INFO] [stdout] --> src/input/keybinding.rs:122:11 [INFO] [stdout] | [INFO] [stdout] 122 | pub const PRIMARY_MODIFIER: KeyModifiers = KeyModifiers::CONTROL; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeyPattern` is never constructed [INFO] [stdout] --> src/input/keybinding.rs:161:12 [INFO] [stdout] | [INFO] [stdout] 161 | pub struct KeyPattern { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `matches` are never used [INFO] [stdout] --> src/input/keybinding.rs:186:12 [INFO] [stdout] | [INFO] [stdout] 168 | impl KeyPattern { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn new(code: KeyCode, modifiers: KeyModifiers) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn matches(&self, event: &KeyEvent) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeySequence` is never constructed [INFO] [stdout] --> src/input/keybinding.rs:268:12 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct KeySequence { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `len`, `is_empty`, `matches`, and `is_partial_match` are never used [INFO] [stdout] --> src/input/keybinding.rs:307:12 [INFO] [stdout] | [INFO] [stdout] 273 | impl KeySequence { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn new(patterns: Vec) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 334 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 392 | pub fn matches(&self, buffer: &[KeyPattern]) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 440 | pub fn is_partial_match(&self, buffer: &[KeyPattern]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ParseError` is never used [INFO] [stdout] --> src/input/keybinding.rs:458:10 [INFO] [stdout] | [INFO] [stdout] 458 | pub enum ParseError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_key_pattern` is never used [INFO] [stdout] --> src/input/keybinding.rs:573:4 [INFO] [stdout] | [INFO] [stdout] 573 | fn parse_key_pattern(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_modifier` is never used [INFO] [stdout] --> src/input/keybinding.rs:604:4 [INFO] [stdout] | [INFO] [stdout] 604 | fn parse_modifier(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_key_code` is never used [INFO] [stdout] --> src/input/keybinding.rs:615:4 [INFO] [stdout] | [INFO] [stdout] 615 | fn parse_key_code(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BindingContext` is never used [INFO] [stdout] --> src/input/keybinding.rs:693:10 [INFO] [stdout] | [INFO] [stdout] 693 | pub enum BindingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_active` is never used [INFO] [stdout] --> src/input/keybinding.rs:772:12 [INFO] [stdout] | [INFO] [stdout] 724 | impl BindingContext { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 772 | pub fn is_active(&self, current_mode: EditorMode) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Priority` is never used [INFO] [stdout] --> src/input/keybinding.rs:818:10 [INFO] [stdout] | [INFO] [stdout] 818 | pub enum Priority { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeyBinding` is never constructed [INFO] [stdout] --> src/input/keybinding.rs:859:12 [INFO] [stdout] | [INFO] [stdout] 859 | pub struct KeyBinding { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `sequence`, `command`, `context`, and `priority` are never used [INFO] [stdout] --> src/input/keybinding.rs:908:12 [INFO] [stdout] | [INFO] [stdout] 870 | impl KeyBinding { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 908 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 923 | pub fn sequence(&self) -> &KeySequence { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 928 | pub fn command(&self) -> &EditorCommand { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 933 | pub fn context(&self) -> &BindingContext { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 938 | pub fn priority(&self) -> Priority { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BindingError` is never used [INFO] [stdout] --> src/input/registry.rs:124:10 [INFO] [stdout] | [INFO] [stdout] 124 | pub enum BindingError { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeyBindingRegistry` is never constructed [INFO] [stdout] --> src/input/registry.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct KeyBindingRegistry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/input/registry.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 179 | impl KeyBindingRegistry { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn new(timeout: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn register(&mut self, binding: KeyBinding) -> Result<(), BindingError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn unregister(&mut self, sequence: &KeySequence, context: &BindingContext) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn unregister_by_priority(&mut self, priority: Priority) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 385 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 400 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 431 | pub fn add_to_sequence(&mut self, pattern: KeyPattern) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 484 | pub fn find_match(&self, current_mode: EditorMode) -> Option<&EditorCommand> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 542 | pub fn is_partial_match(&self, current_mode: EditorMode) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 585 | pub fn check_timeout(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 612 | pub fn clear_sequence(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_plugin_context_to_core` is never used [INFO] [stdout] --> src/input/registry.rs:755:4 [INFO] [stdout] | [INFO] [stdout] 755 | fn convert_plugin_context_to_core( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_plugin_mode_to_core` is never used [INFO] [stdout] --> src/input/registry.rs:774:4 [INFO] [stdout] | [INFO] [stdout] 774 | fn convert_plugin_mode_to_core( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConfigWatcher` is never constructed [INFO] [stdout] --> src/input/watcher.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct ConfigWatcher { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `check_for_changes` are never used [INFO] [stdout] --> src/input/watcher.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 86 | impl ConfigWatcher { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn new(config_path: &Path) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn check_for_changes(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_frame_impl` is never used [INFO] [stdout] --> src/ui/renderer.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn render_frame_impl( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text_area` is never used [INFO] [stdout] --> src/ui/renderer.rs:63:4 [INFO] [stdout] | [INFO] [stdout] 63 | fn render_text_area( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_status_bar` is never used [INFO] [stdout] --> src/ui/renderer.rs:96:4 [INFO] [stdout] | [INFO] [stdout] 96 | fn render_status_bar(frame: &mut Frame, area: Rect, state: &EditorState, cursor_pos: Position) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_cursor_screen_position` is never used [INFO] [stdout] --> src/ui/renderer.rs:163:4 [INFO] [stdout] | [INFO] [stdout] 163 | fn calculate_cursor_screen_position( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Renderer` is never constructed [INFO] [stdout] --> src/ui/renderer.rs:220:12 [INFO] [stdout] | [INFO] [stdout] 220 | pub struct Renderer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/ui/renderer.rs:250:12 [INFO] [stdout] | [INFO] [stdout] 229 | impl Renderer { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn new() -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn restore_terminal(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | pub fn render(&mut self, state: &EditorState, cursor_pos: Position) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | fn adjust_scroll(&mut self, cursor_pos: Position, terminal_height: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 364 | fn calculate_frame_hash(&self, state: &EditorState, cursor_pos: Position) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | pub fn scroll_offset(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | pub fn set_scroll_offset(&mut self, offset: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub fn force_render(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.98s [INFO] running `Command { std: "docker" "inspect" "ca5f4a02e9750623f233873f5956951687f5f233817282239eb3af9c12edcc05", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ca5f4a02e9750623f233873f5956951687f5f233817282239eb3af9c12edcc05", kill_on_drop: false }` [INFO] [stdout] ca5f4a02e9750623f233873f5956951687f5f233817282239eb3af9c12edcc05 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+58b1b3c5342a414c161338871f8004258ccef2a7" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5b317efbdaf6c2d095749dded1750e47e1c0a8a769f3f1d5915773f9d9cbe4dc [INFO] running `Command { std: "docker" "start" "-a" "5b317efbdaf6c2d095749dded1750e47e1c0a8a769f3f1d5915773f9d9cbe4dc", kill_on_drop: false }` [INFO] [stderr] Compiling termide v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `selection::Selection` [INFO] [stdout] --> src/buffer/mod.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub use selection::Selection; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `renderer::Renderer` [INFO] [stdout] --> src/ui/mod.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use renderer::Renderer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Buffer` is never constructed [INFO] [stdout] --> src/buffer/buffer.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct Buffer { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/buffer/buffer.rs:60:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl Buffer { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn from_str(content: &str) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn insert_char(&mut self, ch: char, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn delete_char_at(&mut self, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn delete_forward(&mut self, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn get_line_start(&self, pos: Position) -> Position { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn get_line_end(&self, pos: Position) -> Position { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn page_up(&self, pos: Position, viewport_height: usize) -> Position { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn page_down(&self, pos: Position, viewport_height: usize) -> Position { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | fn clamp_column_to_line(&self, line: usize, column: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 278 | pub fn content(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub fn line_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | pub fn get_line(&self, line: usize) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 324 | pub fn line_len(&self, line: usize) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | pub fn is_dirty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 356 | pub fn clear_dirty(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 361 | pub fn set_dirty(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 366 | pub fn file_path(&self) -> Option<&PathBuf> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 371 | pub fn set_file_path(&mut self, path: PathBuf) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 388 | pub fn is_valid_position(&self, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 406 | pub fn clamp_position(&self, pos: Position) -> Position { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 419 | fn position_to_char_idx(&self, pos: Position) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 440 | pub fn len_chars(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 445 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Position` is never constructed [INFO] [stdout] --> src/buffer/position.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | pub struct Position { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new` and `origin` are never used [INFO] [stdout] --> src/buffer/position.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Position { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn new(line: usize, column: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn origin() -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Selection` is never constructed [INFO] [stdout] --> src/buffer/selection.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Selection { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/buffer/selection.rs:52:12 [INFO] [stdout] | [INFO] [stdout] 36 | impl Selection { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn new(pos: Position) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn with_anchor_and_cursor(anchor: Position, cursor: Position) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn anchor(&self) -> Position { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn cursor(&self) -> Position { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn has_selection(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn range(&self) -> (Position, Position) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn contains(&self, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 196 | pub fn extend_to(self, pos: Position) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn clear(self) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ParseModeError` is never constructed [INFO] [stdout] --> src/editor/editor_mode.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ParseModeError { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EditorMode` is never used [INFO] [stdout] --> src/editor/editor_mode.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | pub enum EditorMode { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_string` is never used [INFO] [stdout] --> src/editor/editor_mode.rs:68:12 [INFO] [stdout] | [INFO] [stdout] 56 | impl EditorMode { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn to_string(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EditorState` is never constructed [INFO] [stdout] --> src/editor/editor_state.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | pub struct EditorState { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/editor/editor_state.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 56 | impl EditorState { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn from_file(path: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn buffer(&self) -> &Buffer { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn buffer_mut(&mut self) -> &mut Buffer { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn mode(&self) -> EditorMode { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn set_mode(&mut self, mode: EditorMode) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn status_message(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn set_status_message(&mut self, message: String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn clear_status_message(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn should_quit(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn request_quit(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn force_quit(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | pub fn handle_char_insert(&mut self, ch: char, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn handle_char_delete(&mut self, pos: Position) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 275 | pub fn set_file_path(&mut self, path: &Path) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | pub fn prompt_input(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 285 | pub fn prompt_message(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | pub fn enter_prompt(&mut self, message: String) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub fn prompt_insert_char(&mut self, ch: char) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | pub fn prompt_delete_char(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 312 | pub fn accept_prompt(&mut self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 321 | pub fn cancel_prompt(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub fn save(&mut self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub fn save_as(&mut self, path: &Path) -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_file` is never used [INFO] [stdout] --> src/file_io/read.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn read_file(path: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_file` is never used [INFO] [stdout] --> src/file_io/write.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn write_file(path: &Path, content: &str) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `register_default_bindings` is never used [INFO] [stdout] --> src/input/bindings.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn register_default_bindings(registry: &mut KeyBindingRegistry) -> Result<(), BindingError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `global_bindings` is never used [INFO] [stdout] --> src/input/bindings.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn global_bindings() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `insert_mode_bindings` is never used [INFO] [stdout] --> src/input/bindings.rs:178:8 [INFO] [stdout] | [INFO] [stdout] 178 | pub fn insert_mode_bindings() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normal_mode_bindings` is never used [INFO] [stdout] --> src/input/bindings.rs:261:8 [INFO] [stdout] | [INFO] [stdout] 261 | pub fn normal_mode_bindings() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `prompt_mode_bindings` is never used [INFO] [stdout] --> src/input/bindings.rs:305:8 [INFO] [stdout] | [INFO] [stdout] 305 | pub fn prompt_mode_bindings() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `arrow_key_navigation` is never used [INFO] [stdout] --> src/input/bindings.rs:364:8 [INFO] [stdout] | [INFO] [stdout] 364 | pub fn arrow_key_navigation(modes: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `navigation_commands` is never used [INFO] [stdout] --> src/input/bindings.rs:431:8 [INFO] [stdout] | [INFO] [stdout] 431 | pub fn navigation_commands(modes: Vec) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EditorCommand` is never used [INFO] [stdout] --> src/input/command.rs:75:10 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum EditorCommand { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CommandParseError` is never used [INFO] [stdout] --> src/input/command.rs:362:10 [INFO] [stdout] | [INFO] [stdout] 362 | pub enum CommandParseError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_plugin_command` is never used [INFO] [stdout] --> src/input/command.rs:540:4 [INFO] [stdout] | [INFO] [stdout] 540 | fn parse_plugin_command(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LoadResult` is never constructed [INFO] [stdout] --> src/input/config.rs:58:12 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct LoadResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ConfigError` is never used [INFO] [stdout] --> src/input/config.rs:67:10 [INFO] [stdout] | [INFO] [stdout] 67 | pub enum ConfigError { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeybindingConfig` is never constructed [INFO] [stdout] --> src/input/config.rs:130:12 [INFO] [stdout] | [INFO] [stdout] 130 | pub struct KeybindingConfig { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `UserBinding` is never constructed [INFO] [stdout] --> src/input/config.rs:169:12 [INFO] [stdout] | [INFO] [stdout] 169 | pub struct UserBinding { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_user_keybindings` is never used [INFO] [stdout] --> src/input/config.rs:231:8 [INFO] [stdout] | [INFO] [stdout] 231 | pub fn load_user_keybindings( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `load_single_binding` is never used [INFO] [stdout] --> src/input/config.rs:295:4 [INFO] [stdout] | [INFO] [stdout] 295 | fn load_single_binding( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_mode` is never used [INFO] [stdout] --> src/input/config.rs:347:8 [INFO] [stdout] | [INFO] [stdout] 347 | pub fn parse_mode(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_parse_error` is never used [INFO] [stdout] --> src/input/config.rs:352:4 [INFO] [stdout] | [INFO] [stdout] 352 | fn format_parse_error(error: &ParseError) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_command_error` is never used [INFO] [stdout] --> src/input/config.rs:369:4 [INFO] [stdout] | [INFO] [stdout] 369 | fn format_command_error(error: &CommandParseError) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reload_user_keybindings` is never used [INFO] [stdout] --> src/input/config.rs:447:8 [INFO] [stdout] | [INFO] [stdout] 447 | pub fn reload_user_keybindings( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_config_path` is never used [INFO] [stdout] --> src/input/config.rs:486:8 [INFO] [stdout] | [INFO] [stdout] 486 | pub fn get_config_path() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Direction` is never used [INFO] [stdout] --> src/input/direction.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum Direction { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `MatchResult` is never used [INFO] [stdout] --> src/input/input_handler.rs:175:10 [INFO] [stdout] | [INFO] [stdout] 175 | pub enum MatchResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InputHandler` is never constructed [INFO] [stdout] --> src/input/input_handler.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 216 | pub struct InputHandler { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/input/input_handler.rs:231:12 [INFO] [stdout] | [INFO] [stdout] 221 | impl InputHandler { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 231 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub fn with_timeout(timeout: Duration) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 297 | pub fn register_binding(&mut self, binding: KeyBinding) -> Result<(), BindingError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn registry_mut(&mut self) -> &mut KeyBindingRegistry { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 369 | pub fn process_key_event(&mut self, event: KeyEvent, mode: EditorMode) -> MatchResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 434 | pub fn on_mode_change(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 471 | pub fn check_timeout(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PRIMARY_MODIFIER` is never used [INFO] [stdout] --> src/input/keybinding.rs:122:11 [INFO] [stdout] | [INFO] [stdout] 122 | pub const PRIMARY_MODIFIER: KeyModifiers = KeyModifiers::CONTROL; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeyPattern` is never constructed [INFO] [stdout] --> src/input/keybinding.rs:161:12 [INFO] [stdout] | [INFO] [stdout] 161 | pub struct KeyPattern { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `matches` are never used [INFO] [stdout] --> src/input/keybinding.rs:186:12 [INFO] [stdout] | [INFO] [stdout] 168 | impl KeyPattern { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn new(code: KeyCode, modifiers: KeyModifiers) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn matches(&self, event: &KeyEvent) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeySequence` is never constructed [INFO] [stdout] --> src/input/keybinding.rs:268:12 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct KeySequence { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `len`, `is_empty`, `matches`, and `is_partial_match` are never used [INFO] [stdout] --> src/input/keybinding.rs:307:12 [INFO] [stdout] | [INFO] [stdout] 273 | impl KeySequence { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn new(patterns: Vec) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 334 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 392 | pub fn matches(&self, buffer: &[KeyPattern]) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 440 | pub fn is_partial_match(&self, buffer: &[KeyPattern]) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ParseError` is never used [INFO] [stdout] --> src/input/keybinding.rs:458:10 [INFO] [stdout] | [INFO] [stdout] 458 | pub enum ParseError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_key_pattern` is never used [INFO] [stdout] --> src/input/keybinding.rs:573:4 [INFO] [stdout] | [INFO] [stdout] 573 | fn parse_key_pattern(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_modifier` is never used [INFO] [stdout] --> src/input/keybinding.rs:604:4 [INFO] [stdout] | [INFO] [stdout] 604 | fn parse_modifier(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_key_code` is never used [INFO] [stdout] --> src/input/keybinding.rs:615:4 [INFO] [stdout] | [INFO] [stdout] 615 | fn parse_key_code(s: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BindingContext` is never used [INFO] [stdout] --> src/input/keybinding.rs:693:10 [INFO] [stdout] | [INFO] [stdout] 693 | pub enum BindingContext { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_active` is never used [INFO] [stdout] --> src/input/keybinding.rs:772:12 [INFO] [stdout] | [INFO] [stdout] 724 | impl BindingContext { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 772 | pub fn is_active(&self, current_mode: EditorMode) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Priority` is never used [INFO] [stdout] --> src/input/keybinding.rs:818:10 [INFO] [stdout] | [INFO] [stdout] 818 | pub enum Priority { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeyBinding` is never constructed [INFO] [stdout] --> src/input/keybinding.rs:859:12 [INFO] [stdout] | [INFO] [stdout] 859 | pub struct KeyBinding { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `sequence`, `command`, `context`, and `priority` are never used [INFO] [stdout] --> src/input/keybinding.rs:908:12 [INFO] [stdout] | [INFO] [stdout] 870 | impl KeyBinding { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 908 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 923 | pub fn sequence(&self) -> &KeySequence { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 928 | pub fn command(&self) -> &EditorCommand { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 933 | pub fn context(&self) -> &BindingContext { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 938 | pub fn priority(&self) -> Priority { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BindingError` is never used [INFO] [stdout] --> src/input/registry.rs:124:10 [INFO] [stdout] | [INFO] [stdout] 124 | pub enum BindingError { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeyBindingRegistry` is never constructed [INFO] [stdout] --> src/input/registry.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | pub struct KeyBindingRegistry { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/input/registry.rs:198:12 [INFO] [stdout] | [INFO] [stdout] 179 | impl KeyBindingRegistry { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 198 | pub fn new(timeout: Duration) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn register(&mut self, binding: KeyBinding) -> Result<(), BindingError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn unregister(&mut self, sequence: &KeySequence, context: &BindingContext) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 368 | pub fn unregister_by_priority(&mut self, priority: Priority) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 385 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 400 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 431 | pub fn add_to_sequence(&mut self, pattern: KeyPattern) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 484 | pub fn find_match(&self, current_mode: EditorMode) -> Option<&EditorCommand> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 542 | pub fn is_partial_match(&self, current_mode: EditorMode) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 585 | pub fn check_timeout(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 612 | pub fn clear_sequence(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_plugin_context_to_core` is never used [INFO] [stdout] --> src/input/registry.rs:755:4 [INFO] [stdout] | [INFO] [stdout] 755 | fn convert_plugin_context_to_core( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_plugin_mode_to_core` is never used [INFO] [stdout] --> src/input/registry.rs:774:4 [INFO] [stdout] | [INFO] [stdout] 774 | fn convert_plugin_mode_to_core( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConfigWatcher` is never constructed [INFO] [stdout] --> src/input/watcher.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct ConfigWatcher { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `check_for_changes` are never used [INFO] [stdout] --> src/input/watcher.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 86 | impl ConfigWatcher { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn new(config_path: &Path) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn check_for_changes(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_frame_impl` is never used [INFO] [stdout] --> src/ui/renderer.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn render_frame_impl( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text_area` is never used [INFO] [stdout] --> src/ui/renderer.rs:63:4 [INFO] [stdout] | [INFO] [stdout] 63 | fn render_text_area( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_status_bar` is never used [INFO] [stdout] --> src/ui/renderer.rs:96:4 [INFO] [stdout] | [INFO] [stdout] 96 | fn render_status_bar(frame: &mut Frame, area: Rect, state: &EditorState, cursor_pos: Position) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_cursor_screen_position` is never used [INFO] [stdout] --> src/ui/renderer.rs:163:4 [INFO] [stdout] | [INFO] [stdout] 163 | fn calculate_cursor_screen_position( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Renderer` is never constructed [INFO] [stdout] --> src/ui/renderer.rs:220:12 [INFO] [stdout] | [INFO] [stdout] 220 | pub struct Renderer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/ui/renderer.rs:250:12 [INFO] [stdout] | [INFO] [stdout] 229 | impl Renderer { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn new() -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn restore_terminal(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | pub fn render(&mut self, state: &EditorState, cursor_pos: Position) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | fn adjust_scroll(&mut self, cursor_pos: Position, terminal_height: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 364 | fn calculate_frame_hash(&self, state: &EditorState, cursor_pos: Position) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | pub fn scroll_offset(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | pub fn set_scroll_offset(&mut self, offset: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub fn force_render(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f_num` [INFO] [stdout] --> tests/integration_tests.rs:476:61 [INFO] [stdout] | [INFO] [stdout] 476 | for (key_str, cmd_str, _expected_plugin, _expected_cmd, f_num) in &bindings { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_f_num` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `renderer::Renderer` [INFO] [stdout] --> src/ui/mod.rs:38:9 [INFO] [stdout] | [INFO] [stdout] 38 | pub use renderer::Renderer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `set_dirty` is never used [INFO] [stdout] --> src/buffer/buffer.rs:361:12 [INFO] [stdout] | [INFO] [stdout] 48 | impl Buffer { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 361 | pub fn set_dirty(&mut self) { [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_as` is never used [INFO] [stdout] --> src/editor/editor_state.rs:379:12 [INFO] [stdout] | [INFO] [stdout] 56 | impl EditorState { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 379 | pub fn save_as(&mut self, path: &Path) -> Result<()> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PromptInsertChar` is never constructed [INFO] [stdout] --> src/input/command.rs:292:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum EditorCommand { [INFO] [stdout] | ------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 292 | PromptInsertChar(char), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EditorCommand` 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 `InvalidParameter` is never constructed [INFO] [stdout] --> src/input/command.rs:373:5 [INFO] [stdout] | [INFO] [stdout] 362 | pub enum CommandParseError { [INFO] [stdout] | ----------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 373 | InvalidParameter { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CommandParseError` 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 `warnings` is never read [INFO] [stdout] --> src/input/config.rs:62:9 [INFO] [stdout] | [INFO] [stdout] 58 | pub struct LoadResult { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 62 | pub warnings: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoadResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `BindingConflict` is never constructed [INFO] [stdout] --> src/input/config.rs:105:5 [INFO] [stdout] | [INFO] [stdout] 67 | pub enum ConfigError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 105 | BindingConflict { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConfigError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `reload_user_keybindings` is never used [INFO] [stdout] --> src/input/config.rs:447:8 [INFO] [stdout] | [INFO] [stdout] 447 | pub fn reload_user_keybindings( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_config_path` is never used [INFO] [stdout] --> src/input/config.rs:486:8 [INFO] [stdout] | [INFO] [stdout] 486 | pub fn get_config_path() -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_empty` is never used [INFO] [stdout] --> src/input/keybinding.rs:342:12 [INFO] [stdout] | [INFO] [stdout] 273 | impl KeySequence { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 342 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidSequence` and `InvalidContext` are never constructed [INFO] [stdout] --> src/input/registry.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 124 | pub enum BindingError { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 138 | InvalidSequence(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | InvalidContext(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BindingError` 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 `ConfigWatcher` is never constructed [INFO] [stdout] --> src/input/watcher.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 79 | pub struct ConfigWatcher { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `check_for_changes` are never used [INFO] [stdout] --> src/input/watcher.rs:150:12 [INFO] [stdout] | [INFO] [stdout] 86 | impl ConfigWatcher { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn new(config_path: &Path) -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn check_for_changes(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_frame_impl` is never used [INFO] [stdout] --> src/ui/renderer.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn render_frame_impl( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_text_area` is never used [INFO] [stdout] --> src/ui/renderer.rs:63:4 [INFO] [stdout] | [INFO] [stdout] 63 | fn render_text_area( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_status_bar` is never used [INFO] [stdout] --> src/ui/renderer.rs:96:4 [INFO] [stdout] | [INFO] [stdout] 96 | fn render_status_bar(frame: &mut Frame, area: Rect, state: &EditorState, cursor_pos: Position) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_cursor_screen_position` is never used [INFO] [stdout] --> src/ui/renderer.rs:163:4 [INFO] [stdout] | [INFO] [stdout] 163 | fn calculate_cursor_screen_position( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Renderer` is never constructed [INFO] [stdout] --> src/ui/renderer.rs:220:12 [INFO] [stdout] | [INFO] [stdout] 220 | pub struct Renderer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/ui/renderer.rs:250:12 [INFO] [stdout] | [INFO] [stdout] 229 | impl Renderer { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn new() -> Result { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | pub fn restore_terminal(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | pub fn render(&mut self, state: &EditorState, cursor_pos: Position) -> Result<()> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | fn adjust_scroll(&mut self, cursor_pos: Position, terminal_height: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 364 | fn calculate_frame_hash(&self, state: &EditorState, cursor_pos: Position) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 408 | pub fn scroll_offset(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | pub fn set_scroll_offset(&mut self, offset: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 418 | pub fn force_render(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 3.77s [INFO] running `Command { std: "docker" "inspect" "5b317efbdaf6c2d095749dded1750e47e1c0a8a769f3f1d5915773f9d9cbe4dc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5b317efbdaf6c2d095749dded1750e47e1c0a8a769f3f1d5915773f9d9cbe4dc", kill_on_drop: false }` [INFO] [stdout] 5b317efbdaf6c2d095749dded1750e47e1c0a8a769f3f1d5915773f9d9cbe4dc