[INFO] cloning repository https://github.com/Braden-Griebel/trout [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Braden-Griebel/trout" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBraden-Griebel%2Ftrout", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBraden-Griebel%2Ftrout'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 46ed656cfd9d6473f91708b36017308f938629e4 [INFO] checking Braden-Griebel/trout/46ed656cfd9d6473f91708b36017308f938629e4 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBraden-Griebel%2Ftrout" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Braden-Griebel/trout on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Braden-Griebel/trout [INFO] finished tweaking git repo https://github.com/Braden-Griebel/trout [INFO] tweaked toml for git repo https://github.com/Braden-Griebel/trout written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Braden-Griebel/trout 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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f475ae4425c9c43f3cb81d8551be9dc812beda5953f06b32b4e8fb525a7ba0fd [INFO] running `Command { std: "docker" "start" "-a" "f475ae4425c9c43f3cb81d8551be9dc812beda5953f06b32b4e8fb525a7ba0fd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f475ae4425c9c43f3cb81d8551be9dc812beda5953f06b32b4e8fb525a7ba0fd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f475ae4425c9c43f3cb81d8551be9dc812beda5953f06b32b4e8fb525a7ba0fd", kill_on_drop: false }` [INFO] [stdout] f475ae4425c9c43f3cb81d8551be9dc812beda5953f06b32b4e8fb525a7ba0fd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 558de7eb84c7b8f37e16b780b5e15a493d1ced3053731d6a717d3c0d1e4022b0 [INFO] running `Command { std: "docker" "start" "-a" "558de7eb84c7b8f37e16b780b5e15a493d1ced3053731d6a717d3c0d1e4022b0", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Compiling serde v1.0.204 [INFO] [stderr] Compiling cc v1.1.5 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Compiling serde_json v1.0.120 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Checking signal-hook v0.3.17 [INFO] [stderr] Checking miniz_oxide v0.7.4 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking unicode-width v0.1.13 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking flate2 v1.0.30 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking quick-xml v0.32.0 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking indexmap v2.2.6 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Compiling onig_sys v69.8.1 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling syn v2.0.71 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking plist v1.7.0 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling serde_derive v1.0.204 [INFO] [stderr] Checking regex v1.10.5 [INFO] [stderr] Checking onig v6.4.0 [INFO] [stderr] Checking syntect v5.2.0 [INFO] [stderr] Checking trout v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::textbuffer::buffer::Buffer` [INFO] [stdout] --> src/view/modes/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::textbuffer::buffer::Buffer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::command::CommandViewer` [INFO] [stdout] --> src/view/modes/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::view::modes::command::CommandViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::find::FindViewer` [INFO] [stdout] --> src/view/modes/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::view::modes::find::FindViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::insert::InsertViewer` [INFO] [stdout] --> src/view/modes/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::view::modes::insert::InsertViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::jump::JumpViewer` [INFO] [stdout] --> src/view/modes/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::view::modes::jump::JumpViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::normal::NormalViewer` [INFO] [stdout] --> src/view/modes/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::view::modes::normal::NormalViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::open::OpenViewer` [INFO] [stdout] --> src/view/modes/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::view::modes::open::OpenViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::textbuffer::buffer::Buffer` [INFO] [stdout] --> src/view/modes/mod.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::textbuffer::buffer::Buffer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::command::CommandViewer` [INFO] [stdout] --> src/view/modes/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::view::modes::command::CommandViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::find::FindViewer` [INFO] [stdout] --> src/view/modes/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::view::modes::find::FindViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::insert::InsertViewer` [INFO] [stdout] --> src/view/modes/mod.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::view::modes::insert::InsertViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::jump::JumpViewer` [INFO] [stdout] --> src/view/modes/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::view::modes::jump::JumpViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::search::SearchViewer` [INFO] [stdout] --> src/view/modes/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::view::modes::search::SearchViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::normal::NormalViewer` [INFO] [stdout] --> src/view/modes/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::view::modes::normal::NormalViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::open::OpenViewer` [INFO] [stdout] --> src/view/modes/mod.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::view::modes::open::OpenViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::search::SearchViewer` [INFO] [stdout] --> src/view/modes/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::view::modes::search::SearchViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::select::SelectViewer` [INFO] [stdout] --> src/view/modes/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::view::modes::select::SelectViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::welcome_screen::WelcomeViewer` [INFO] [stdout] --> src/view/modes/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::view::modes::welcome_screen::WelcomeViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::screen::Boundary` [INFO] [stdout] --> src/view/modes/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::view::screen::Boundary; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::select::SelectViewer` [INFO] [stdout] --> src/view/modes/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::view::modes::select::SelectViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::modes::welcome_screen::WelcomeViewer` [INFO] [stdout] --> src/view/modes/mod.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::view::modes::welcome_screen::WelcomeViewer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> src/view/modes/normal.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::view::screen::Boundary` [INFO] [stdout] --> src/view/modes/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::view::screen::Boundary; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Enumerate` [INFO] [stdout] --> src/view/modes/normal.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::iter::Enumerate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Match` [INFO] [stdout] --> src/textbuffer/buffer.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | use regex::{Match, Regex}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/input/keyboard.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event` and `read` [INFO] [stdout] --> src/input/keyboard.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use crossterm::event::{Event, KeyCode, KeyEvent, KeyModifiers, ModifierKeyCode, read}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cmp::min` [INFO] [stdout] --> src/view/modes/normal.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cmp::min; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::Enumerate` [INFO] [stdout] --> src/view/modes/normal.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::iter::Enumerate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Match` [INFO] [stdout] --> src/textbuffer/buffer.rs:4:13 [INFO] [stdout] | [INFO] [stdout] 4 | use regex::{Match, Regex}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/input/keyboard.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event` and `read` [INFO] [stdout] --> src/input/keyboard.rs:5:24 [INFO] [stdout] | [INFO] [stdout] 5 | use crossterm::event::{Event, KeyCode, KeyEvent, KeyModifiers, ModifierKeyCode, read}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/editor.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(path: Option<&Path>)-> Editor{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row` [INFO] [stdout] --> src/view/modes/normal.rs:112:31 [INFO] [stdout] | [INFO] [stdout] 112 | Event::Resize(row, col) => {} // Nothing yet, but should resize the screen bounds [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/view/modes/normal.rs:112:36 [INFO] [stdout] | [INFO] [stdout] 112 | Event::Resize(row, col) => {} // Nothing yet, but should resize the screen bounds [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `screen` [INFO] [stdout] --> src/view/modes/insert.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn enter(screen: &mut Screen){ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_screen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `highlighted` [INFO] [stdout] --> src/textbuffer/buffer.rs:142:23 [INFO] [stdout] | [INFO] [stdout] 142 | highlighted: bool)->&str{ [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_highlighted` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/editor.rs:17:16 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn new(path: Option<&Path>)-> Editor{ [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row` [INFO] [stdout] --> src/view/modes/normal.rs:112:31 [INFO] [stdout] | [INFO] [stdout] 112 | Event::Resize(row, col) => {} // Nothing yet, but should resize the screen bounds [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `col` [INFO] [stdout] --> src/view/modes/normal.rs:112:36 [INFO] [stdout] | [INFO] [stdout] 112 | Event::Resize(row, col) => {} // Nothing yet, but should resize the screen bounds [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_col` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_event` [INFO] [stdout] --> src/input/keyboard.rs:96:31 [INFO] [stdout] | [INFO] [stdout] 96 | fn insert_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_event` [INFO] [stdout] --> src/input/keyboard.rs:98:29 [INFO] [stdout] | [INFO] [stdout] 98 | fn jump_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_event` [INFO] [stdout] --> src/input/keyboard.rs:100:32 [INFO] [stdout] | [INFO] [stdout] 100 | fn command_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_event` [INFO] [stdout] --> src/input/keyboard.rs:102:29 [INFO] [stdout] | [INFO] [stdout] 102 | fn find_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_event` [INFO] [stdout] --> src/input/keyboard.rs:104:29 [INFO] [stdout] | [INFO] [stdout] 104 | fn open_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_event` [INFO] [stdout] --> src/input/keyboard.rs:106:31 [INFO] [stdout] | [INFO] [stdout] 106 | fn select_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `screen` [INFO] [stdout] --> src/view/modes/insert.rs:8:18 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn enter(screen: &mut Screen){ [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_screen` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/input/keymap.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | let mut jump:HashMap = HashMap::new(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/input/keymap.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | let mut command :HashMap = HashMap::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/input/keymap.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let mut find :HashMap = HashMap::new(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/input/keymap.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | let mut open:HashMap = HashMap::new(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/input/keymap.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | let mut select: HashMap = HashMap::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Editor` is never constructed [INFO] [stdout] --> src/editor.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | pub(crate) struct Editor { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `open_file` are never used [INFO] [stdout] --> src/editor.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Editor { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(path: Option<&Path>)-> Editor{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn open_file(&mut self, file_path:PathBuf){ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EditorAction` is never used [INFO] [stdout] --> src/editor.rs:42:10 [INFO] [stdout] | [INFO] [stdout] 42 | pub enum EditorAction { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Screen` is never constructed [INFO] [stdout] --> src/view/screen.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Screen { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `highlighted` [INFO] [stdout] --> src/textbuffer/buffer.rs:142:23 [INFO] [stdout] | [INFO] [stdout] 142 | highlighted: bool)->&str{ [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_highlighted` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/view/screen.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Screen { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 35 | /// Create a default instance of Screen [INFO] [stdout] 36 | pub fn default() -> Screen { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn welcome()->Screen{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn load_file(&mut self, file_path:PathBuf){ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn run(&mut self)->EditorAction{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn move_up(&mut self)-> Result<(), Error>{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn move_down(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn sync_text_position_byte_to_grapheme(&mut self){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn move_left(&mut self)-> Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn move_right(&mut self)-> Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn move_end_line(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn move_start_line(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn move_first_line(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn move_last_line(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | pub fn move_next_word(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn move_prev_word(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn scroll_into_view(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub fn delete_grapheme(&mut self, location: TextPosition){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | fn scroll_horizontal(&mut self){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | fn scroll_vertical(&mut self){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | fn sync_screen_position(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | pub fn view_width(&self)->usize{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn view_height(&self)->usize{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Boundary` is never constructed [INFO] [stdout] --> src/view/screen.rs:299:12 [INFO] [stdout] | [INFO] [stdout] 299 | pub struct Boundary { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/view/screen.rs:307:12 [INFO] [stdout] | [INFO] [stdout] 306 | impl Boundary { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 307 | pub fn default()-> Boundary{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Mode` is never used [INFO] [stdout] --> src/view/screen.rs:319:10 [INFO] [stdout] | [INFO] [stdout] 319 | pub enum Mode { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ScreenAction` is never used [INFO] [stdout] --> src/view/screen.rs:331:10 [INFO] [stdout] | [INFO] [stdout] 331 | pub enum ScreenAction { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScreenAction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NormalViewer` is never constructed [INFO] [stdout] --> src/view/modes/normal.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct NormalViewer<'a> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `enter`, `run`, `draw`, `draw_text`, `draw_line`, and `draw_empty_line` are never used [INFO] [stdout] --> src/view/modes/normal.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl<'a> NormalViewer<'a> { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn enter(screen: &'a mut Screen) ->ScreenAction{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn run(&mut self) -> ScreenAction{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn draw(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | fn draw_text(&mut self){ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | fn draw_line(&mut self, screen_row: usize, text_line: usize){ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | fn draw_empty_line(&self, screen_row: usize){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JumpViewer` is never constructed [INFO] [stdout] --> src/view/modes/jump.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct JumpViewer { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SearchViewer` is never constructed [INFO] [stdout] --> src/view/modes/search.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct SearchViewer{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InsertViewer` is never constructed [INFO] [stdout] --> src/view/modes/insert.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct InsertViewer{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `enter`, `draw`, and `exit` are never used [INFO] [stdout] --> src/view/modes/insert.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl InsertViewer { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 8 | pub fn enter(screen: &mut Screen){ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn draw(){ [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn exit(){ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommandViewer` is never constructed [INFO] [stdout] --> src/view/modes/command.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct CommandViewer { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FindViewer` is never constructed [INFO] [stdout] --> src/view/modes/find.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct FindViewer { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OpenViewer` is never constructed [INFO] [stdout] --> src/view/modes/open.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct OpenViewer{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SelectViewer` is never constructed [INFO] [stdout] --> src/view/modes/select.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct SelectViewer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WelcomeViewer` is never constructed [INFO] [stdout] --> src/view/modes/welcome_screen.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct WelcomeViewer { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SplashArt` is never constructed [INFO] [stdout] --> src/view/splash_art.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct SplashArt { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/view/splash_art.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl SplashArt { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 8 | pub fn default()->SplashArt{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `extension` and `path` are never read [INFO] [stdout] --> src/textbuffer/buffer.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Buffer { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | pub extension: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 14 | /// Path to where to output the buffer [INFO] [stdout] 15 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/textbuffer/buffer.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl Buffer { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 36 | /// Create an empty buffer [INFO] [stdout] 37 | pub fn empty()->Buffer{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn from_file(file_path: PathBuf)->Buffer{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn write_file(&self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn insert_char(&mut self, line:usize, grapheme_index: usize, character:char){ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn delete_char(&mut self, line:usize, grapheme_index: usize){ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn new_line(&mut self, line:usize, grapheme_index: usize){ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn copy_text(&self, start_position: TextPosition, end_position: TextPosition)->String{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn paste_text(&mut self, start_position:TextPosition, insert_str: &str){ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn print_line(&mut self, line: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | fn fix_newlines(&mut self){ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn lines_to_str(&self)-> String{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/textbuffer/lines.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Line { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 19 | pub fn from_string(in_string: &str) -> Line { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub fn insert_char(&mut self, grapheme_index: usize, character: char) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | pub fn insert_str(&mut self, grapheme_index: usize, insert_str: &str) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn delete_grapheme(&mut self, grapheme_index: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn grapheme_start(&self, grapheme_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn grapheme_end(&self, grapheme_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn next_grapheme_start(&self, grapheme_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn prev_grapheme_start(&self, grapheme_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn next_grapheme_end(&self, grapheme_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn prev_grapheme_end(&self, grapheme_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 201 | pub fn text_index_to_grapheme_range(&mut self, text_index: usize) -> Range { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub fn text_index_to_grapheme(&self, text_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | pub fn split_line(&mut self, index: usize) -> Line { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | pub fn split_line_grapheme(&mut self, grapheme_index: usize) -> Line { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TextPosition` is never constructed [INFO] [stdout] --> src/textbuffer/text_location.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct TextPosition { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TextPosition` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/textbuffer/text_location.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl TextPosition { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 11 | pub fn default()-> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ActionType` is never used [INFO] [stdout] --> src/commands/actions.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum ActionType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ActionType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Action` is never constructed [INFO] [stdout] --> src/commands/actions.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Action { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ActionParam` is never used [INFO] [stdout] --> src/commands/actions.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 31 | pub enum ActionParam { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Size` is never constructed [INFO] [stdout] --> src/terminal/controls.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Size { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Size` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Terminal` is never constructed [INFO] [stdout] --> src/terminal/controls.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Terminal; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/terminal/controls.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Terminal { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 21 | /// End the current terminal session, leaving alternate screen, and ensuring caret isn't hidden [INFO] [stdout] 22 | pub fn terminate() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn initialize() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn clear_screen() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn clear_line() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn clear_to_line_end()->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn move_caret_to(position: ScreenLocation)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn enter_alternate_screen() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn leave_alternate_screen() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn hide_caret() ->Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn show_caret() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn print(string: &str) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn print_row(row:usize, line_text: &str)->Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn size() -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn bar_cursor()->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn blinking_block_cursor()-> Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn execute() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | fn queue_command(command:T) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/terminal/screen_location.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl ScreenLocation { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 33 | pub fn default()->Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeyReader` is never constructed [INFO] [stdout] --> src/input/keyboard.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct KeyReader { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/input/keyboard.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl KeyReader { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 14 | pub fn read_input(&mut self, key_event: KeyEvent, mode: Mode) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fn normal_mode(&mut self, key_event: KeyEvent) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn insert_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 97 | [INFO] [stdout] 98 | fn jump_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 99 | [INFO] [stdout] 100 | fn command_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 101 | [INFO] [stdout] 102 | fn find_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 103 | [INFO] [stdout] 104 | fn open_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 105 | [INFO] [stdout] 106 | fn select_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 107 | [INFO] [stdout] 108 | fn clear_input_buffer(&mut self){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | fn strip_digits(in_string: &str) -> (u16, &str) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `KeyMap` is never constructed [INFO] [stdout] --> src/input/keymap.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct KeyMap { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/input/keymap.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl KeyMap { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 15 | fn default()-> KeyMap { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/main.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 13 | let word_regex = Regex::new(r"\w|[(){}\-+&=]").unwrap(); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 14 | let test = "fn test_function{println!(\"Hello World\")}"; [INFO] [stdout] 15 | match word_regex.find_iter(test).last(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/view/screen.rs:185:54 [INFO] [stdout] | [INFO] [stdout] 185 | static WORD_REGEX:Lazy = Lazy::new(|| Regex::new(r"\w|[(){}\-+&=]").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/view/screen.rs:217:54 [INFO] [stdout] | [INFO] [stdout] 217 | static WORD_REGEX:Lazy = Lazy::new(|| Regex::new(r"\w|[(){}\-+&=]").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 71 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `trout` (bin "trout") due to 4 previous errors; 71 warnings emitted [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/textbuffer/lines.rs:385:13 [INFO] [stdout] | [INFO] [stdout] 385 | let mut test_line = Line::from_string("€£𐍈ế"); // lengths are 3 2 4 3 [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `key_event` [INFO] [stdout] --> src/input/keyboard.rs:96:31 [INFO] [stdout] | [INFO] [stdout] 96 | fn insert_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_event` [INFO] [stdout] --> src/input/keyboard.rs:98:29 [INFO] [stdout] | [INFO] [stdout] 98 | fn jump_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_event` [INFO] [stdout] --> src/input/keyboard.rs:100:32 [INFO] [stdout] | [INFO] [stdout] 100 | fn command_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_event` [INFO] [stdout] --> src/input/keyboard.rs:102:29 [INFO] [stdout] | [INFO] [stdout] 102 | fn find_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_event` [INFO] [stdout] --> src/input/keyboard.rs:104:29 [INFO] [stdout] | [INFO] [stdout] 104 | fn open_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `key_event` [INFO] [stdout] --> src/input/keyboard.rs:106:31 [INFO] [stdout] | [INFO] [stdout] 106 | fn select_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_key_event` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/input/keymap.rs:18:13 [INFO] [stdout] | [INFO] [stdout] 18 | let mut jump:HashMap = HashMap::new(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/input/keymap.rs:19:13 [INFO] [stdout] | [INFO] [stdout] 19 | let mut command :HashMap = HashMap::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/input/keymap.rs:20:13 [INFO] [stdout] | [INFO] [stdout] 20 | let mut find :HashMap = HashMap::new(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/input/keymap.rs:21:13 [INFO] [stdout] | [INFO] [stdout] 21 | let mut open:HashMap = HashMap::new(); [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/input/keymap.rs:22:13 [INFO] [stdout] | [INFO] [stdout] 22 | let mut select: HashMap = HashMap::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Editor` is never constructed [INFO] [stdout] --> src/editor.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 9 | pub(crate) struct Editor { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `open_file` are never used [INFO] [stdout] --> src/editor.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl Editor { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(path: Option<&Path>)-> Editor{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn open_file(&mut self, file_path:PathBuf){ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EditorAction` is never used [INFO] [stdout] --> src/editor.rs:42:10 [INFO] [stdout] | [INFO] [stdout] 42 | pub enum EditorAction { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Screen` is never constructed [INFO] [stdout] --> src/view/screen.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Screen { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/view/screen.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl Screen { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 35 | /// Create a default instance of Screen [INFO] [stdout] 36 | pub fn default() -> Screen { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn welcome()->Screen{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn load_file(&mut self, file_path:PathBuf){ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn run(&mut self)->EditorAction{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn move_up(&mut self)-> Result<(), Error>{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn move_down(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn sync_text_position_byte_to_grapheme(&mut self){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn move_left(&mut self)-> Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn move_right(&mut self)-> Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn move_end_line(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn move_start_line(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn move_first_line(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn move_last_line(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | pub fn move_next_word(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn move_prev_word(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn scroll_into_view(&mut self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 258 | pub fn delete_grapheme(&mut self, location: TextPosition){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | fn scroll_horizontal(&mut self){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | fn scroll_vertical(&mut self){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 282 | fn sync_screen_position(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 287 | pub fn view_width(&self)->usize{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn view_height(&self)->usize{ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Boundary` is never constructed [INFO] [stdout] --> src/view/screen.rs:299:12 [INFO] [stdout] | [INFO] [stdout] 299 | pub struct Boundary { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/view/screen.rs:307:12 [INFO] [stdout] | [INFO] [stdout] 306 | impl Boundary { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 307 | pub fn default()-> Boundary{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Mode` is never used [INFO] [stdout] --> src/view/screen.rs:319:10 [INFO] [stdout] | [INFO] [stdout] 319 | pub enum Mode { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mode` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ScreenAction` is never used [INFO] [stdout] --> src/view/screen.rs:331:10 [INFO] [stdout] | [INFO] [stdout] 331 | pub enum ScreenAction { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScreenAction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NormalViewer` is never constructed [INFO] [stdout] --> src/view/modes/normal.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct NormalViewer<'a> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `enter`, `run`, `draw`, `draw_text`, `draw_line`, and `draw_empty_line` are never used [INFO] [stdout] --> src/view/modes/normal.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl<'a> NormalViewer<'a> { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 16 | pub fn enter(screen: &'a mut Screen) ->ScreenAction{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn run(&mut self) -> ScreenAction{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn draw(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | fn draw_text(&mut self){ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | fn draw_line(&mut self, screen_row: usize, text_line: usize){ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | fn draw_empty_line(&self, screen_row: usize){ [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JumpViewer` is never constructed [INFO] [stdout] --> src/view/modes/jump.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct JumpViewer { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SearchViewer` is never constructed [INFO] [stdout] --> src/view/modes/search.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct SearchViewer{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InsertViewer` is never constructed [INFO] [stdout] --> src/view/modes/insert.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct InsertViewer{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `enter`, `draw`, and `exit` are never used [INFO] [stdout] --> src/view/modes/insert.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl InsertViewer { [INFO] [stdout] | ----------------- associated functions in this implementation [INFO] [stdout] 8 | pub fn enter(screen: &mut Screen){ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn draw(){ [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | pub fn exit(){ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommandViewer` is never constructed [INFO] [stdout] --> src/view/modes/command.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct CommandViewer { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FindViewer` is never constructed [INFO] [stdout] --> src/view/modes/find.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct FindViewer { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OpenViewer` is never constructed [INFO] [stdout] --> src/view/modes/open.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct OpenViewer{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SelectViewer` is never constructed [INFO] [stdout] --> src/view/modes/select.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct SelectViewer { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `WelcomeViewer` is never constructed [INFO] [stdout] --> src/view/modes/welcome_screen.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct WelcomeViewer { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SplashArt` is never constructed [INFO] [stdout] --> src/view/splash_art.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct SplashArt { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/view/splash_art.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 7 | impl SplashArt { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] 8 | pub fn default()->SplashArt{ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `extension` and `path` are never read [INFO] [stdout] --> src/textbuffer/buffer.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Buffer { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 13 | pub extension: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 14 | /// Path to where to output the buffer [INFO] [stdout] 15 | pub path: PathBuf, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/textbuffer/buffer.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl Buffer { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 36 | /// Create an empty buffer [INFO] [stdout] 37 | pub fn empty()->Buffer{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn from_file(file_path: PathBuf)->Buffer{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn write_file(&self)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn insert_char(&mut self, line:usize, grapheme_index: usize, character:char){ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn delete_char(&mut self, line:usize, grapheme_index: usize){ [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn new_line(&mut self, line:usize, grapheme_index: usize){ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn copy_text(&self, start_position: TextPosition, end_position: TextPosition)->String{ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn paste_text(&mut self, start_position:TextPosition, insert_str: &str){ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn print_line(&mut self, line: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | fn fix_newlines(&mut self){ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | fn lines_to_str(&self)-> String{ [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `grapheme_start`, `grapheme_end`, `next_grapheme_start`, `prev_grapheme_start`, `next_grapheme_end`, and `prev_grapheme_end` are never used [INFO] [stdout] --> src/textbuffer/lines.rs:141:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl Line { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn grapheme_start(&self, grapheme_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 151 | pub fn grapheme_end(&self, grapheme_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn next_grapheme_start(&self, grapheme_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn prev_grapheme_start(&self, grapheme_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn next_grapheme_end(&self, grapheme_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn prev_grapheme_end(&self, grapheme_index: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TextPosition` is never constructed [INFO] [stdout] --> src/textbuffer/text_location.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct TextPosition { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TextPosition` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/textbuffer/text_location.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl TextPosition { [INFO] [stdout] | ----------------- associated function in this implementation [INFO] [stdout] 11 | pub fn default()-> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/commands/actions.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum ActionType { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 8 | // Basic Movement Controls [INFO] [stdout] 9 | MoveRight, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 10 | MoveLeft, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | MoveUp, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 12 | MoveDown, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 13 | // Change Mode Controls [INFO] [stdout] 14 | EnterNormal, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 15 | EnterInsert, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 16 | EnterJump, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 17 | EnterCommand, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 18 | EnterFind, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 19 | EnterOpen, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 20 | // Insert Character [INFO] [stdout] 21 | InsertChar, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 22 | // Cancel current action [INFO] [stdout] 23 | Cancel, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ActionType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Action` is never constructed [INFO] [stdout] --> src/commands/actions.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct Action { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ActionParam` is never used [INFO] [stdout] --> src/commands/actions.rs:31:10 [INFO] [stdout] | [INFO] [stdout] 31 | pub enum ActionParam { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Size` is never constructed [INFO] [stdout] --> src/terminal/controls.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Size { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Size` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Terminal` is never constructed [INFO] [stdout] --> src/terminal/controls.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct Terminal; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> src/terminal/controls.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl Terminal { [INFO] [stdout] | ------------- associated functions in this implementation [INFO] [stdout] 21 | /// End the current terminal session, leaving alternate screen, and ensuring caret isn't hidden [INFO] [stdout] 22 | pub fn terminate() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn initialize() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn clear_screen() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn clear_line() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn clear_to_line_end()->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn move_caret_to(position: ScreenLocation)->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn enter_alternate_screen() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn leave_alternate_screen() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn hide_caret() ->Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | pub fn show_caret() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn print(string: &str) -> Result<(), Error> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn print_row(row:usize, line_text: &str)->Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn size() -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn bar_cursor()->Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn blinking_block_cursor()-> Result<(), Error>{ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn execute() -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | fn queue_command(command:T) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/terminal/screen_location.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 32 | impl ScreenLocation { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 33 | pub fn default()->Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `key_map` and `input_buffer` are never read [INFO] [stdout] --> src/input/keyboard.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | struct KeyReader { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 9 | key_map: KeyMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 10 | input_buffer: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/input/keyboard.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl KeyReader { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 14 | pub fn read_input(&mut self, key_event: KeyEvent, mode: Mode) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | fn normal_mode(&mut self, key_event: KeyEvent) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn insert_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 97 | [INFO] [stdout] 98 | fn jump_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 99 | [INFO] [stdout] 100 | fn command_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 101 | [INFO] [stdout] 102 | fn find_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 103 | [INFO] [stdout] 104 | fn open_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 105 | [INFO] [stdout] 106 | fn select_mode(&mut self, key_event: KeyEvent)-> Option{None} [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 107 | [INFO] [stdout] 108 | fn clear_input_buffer(&mut self){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/input/keymap.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct KeyMap { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 5 | pub normal: HashMap, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 6 | pub insert: HashMap, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 7 | pub jump: HashMap, [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | pub command: HashMap, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 9 | pub find: HashMap, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | pub open: HashMap, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | pub select: HashMap, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `default` is never used [INFO] [stdout] --> src/input/keymap.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl KeyMap { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 15 | fn default()-> KeyMap { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/main.rs:15:11 [INFO] [stdout] | [INFO] [stdout] 13 | let word_regex = Regex::new(r"\w|[(){}\-+&=]").unwrap(); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 14 | let test = "fn test_function{println!(\"Hello World\")}"; [INFO] [stdout] 15 | match word_regex.find_iter(test).last(){ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/view/screen.rs:185:54 [INFO] [stdout] | [INFO] [stdout] 185 | static WORD_REGEX:Lazy = Lazy::new(|| Regex::new(r"\w|[(){}\-+&=]").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/view/screen.rs:217:54 [INFO] [stdout] | [INFO] [stdout] 217 | static WORD_REGEX:Lazy = Lazy::new(|| Regex::new(r"\w|[(){}\-+&=]").unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 72 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `trout` (bin "trout" test) due to 4 previous errors; 72 warnings emitted [INFO] running `Command { std: "docker" "inspect" "558de7eb84c7b8f37e16b780b5e15a493d1ced3053731d6a717d3c0d1e4022b0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "558de7eb84c7b8f37e16b780b5e15a493d1ced3053731d6a717d3c0d1e4022b0", kill_on_drop: false }` [INFO] [stdout] 558de7eb84c7b8f37e16b780b5e15a493d1ced3053731d6a717d3c0d1e4022b0