[INFO] updating cached repository cfoust/byt [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/cfoust/byt [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/cfoust/byt" "work/ex/clippy-test-run/sources/stable/gh/cfoust/byt"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/cfoust/byt'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/cfoust/byt" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/cfoust/byt"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/cfoust/byt'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 7fbf668fed1b1731e40d614d8f194f92f6b81e90 [INFO] sha for GitHub repo cfoust/byt: 7fbf668fed1b1731e40d614d8f194f92f6b81e90 [INFO] validating manifest of cfoust/byt on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of cfoust/byt on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing cfoust/byt [INFO] finished frobbing cfoust/byt [INFO] frobbed toml for cfoust/byt written to work/ex/clippy-test-run/sources/stable/gh/cfoust/byt/Cargo.toml [INFO] started frobbing cfoust/byt [INFO] finished frobbing cfoust/byt [INFO] frobbed toml for cfoust/byt written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/cfoust/byt/Cargo.toml [INFO] crate cfoust/byt has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting cfoust/byt against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/cfoust/byt:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dclippy::into_iter_on_array" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] b15866d0e56eba91a10835bdbf9f9a9b70cceecfb8863e9f8e4537d76f358d0d [INFO] running `"docker" "start" "-a" "b15866d0e56eba91a10835bdbf9f9a9b70cceecfb8863e9f8e4537d76f358d0d"` [INFO] [stderr] Checking termion v1.5.1 [INFO] [stderr] Checking regex v0.2.2 [INFO] [stderr] Checking byt v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | / write!(f, "op={:?} {}+{} down={} up={}\n", [INFO] [stderr] 104 | | self.op, [INFO] [stderr] 105 | | self.offset, [INFO] [stderr] 106 | | self.length, [INFO] [stderr] 107 | | self.merge_down, [INFO] [stderr] 108 | | self.merge_up); [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | write!(f, "action pieces\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | write!(f, "{}\n", piece); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | write!(f, "end of action pieces\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | write!(f, "PieceFile\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | write!(f, "history_offset={}\n", self.history_offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:143:9 [INFO] [stderr] | [INFO] [stderr] 143 | write!(f, "length={}\n", self.length); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | write!(f, "offset={}\n", self.offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | write!(f, "piece_table len({})\n", self.piece_table.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | write!(f, "{}\n", piece); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/byt/io/file/mod.rs:196:17 [INFO] [stderr] | [INFO] [stderr] 196 | length : length, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `length` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | / write!(f, "op={:?} {}+{} down={} up={}\n", [INFO] [stderr] 104 | | self.op, [INFO] [stderr] 105 | | self.offset, [INFO] [stderr] 106 | | self.length, [INFO] [stderr] 107 | | self.merge_down, [INFO] [stderr] 108 | | self.merge_up); [INFO] [stderr] | |_____________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | write!(f, "action pieces\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | write!(f, "{}\n", piece); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:113:9 [INFO] [stderr] | [INFO] [stderr] 113 | write!(f, "end of action pieces\n") [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | write!(f, "PieceFile\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | write!(f, "history_offset={}\n", self.history_offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:143:9 [INFO] [stderr] | [INFO] [stderr] 143 | write!(f, "length={}\n", self.length); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | write!(f, "offset={}\n", self.offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | write!(f, "piece_table len({})\n", self.piece_table.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | write!(f, "{}\n", piece); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/byt/io/file/mod.rs:196:17 [INFO] [stderr] | [INFO] [stderr] 196 | length : length, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `length` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unused import: `termion::cursor::Goto` [INFO] [stderr] --> src/byt/mod.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use termion::cursor::Goto; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ErrorKind`, `Error` [INFO] [stderr] --> src/byt/editor/mod.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Error, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 11 | ErrorKind [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::vec::Drain` [INFO] [stderr] --> src/byt/editor/mod.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::vec::Drain; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::vec::Drain` [INFO] [stderr] --> src/byt/editor/mutator.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::vec::Drain; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::DerefMut` [INFO] [stderr] --> src/byt/editor/mutator.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::ops::DerefMut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `byt::editor::Action` [INFO] [stderr] --> src/byt/events.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use byt::editor::Action; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Result` [INFO] [stderr] --> src/byt/io/file/mod.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | Result, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/byt/io/file/mod.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | return (offset - self.logical_offset) + self.file_offset; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset - self.logical_offset) + self.file_offset` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `Arrow` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:25:22 [INFO] [stderr] | [INFO] [stderr] 25 | use byt::io::binds::{Arrow, Keymaster, KeyInput}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ErrorKind`, `Error` [INFO] [stderr] --> src/byt/render/terminal.rs:8:22 [INFO] [stderr] | [INFO] [stderr] 8 | use std::io::{Write, ErrorKind, Error, Result}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/byt/views/file/mod.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs` [INFO] [stderr] --> src/byt/views/file/mod.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::fs; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Seek` [INFO] [stderr] --> src/byt/views/file/mod.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::io::Seek; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::SeekFrom` [INFO] [stderr] --> src/byt/views/file/mod.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use std::io::SeekFrom; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `ErrorKind`, `Error` [INFO] [stderr] --> src/byt/views/file/mod.rs:19:15 [INFO] [stderr] | [INFO] [stderr] 19 | use std::io::{BufReader, ErrorKind, Error, Result}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/byt/views/file/mod.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/byt/views/file/tests.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `mutator` [INFO] [stderr] --> src/byt/views/file/mod.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | mutator [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `termion::cursor::Goto` [INFO] [stderr] --> src/byt/mod.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use termion::cursor::Goto; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ErrorKind`, `Error` [INFO] [stderr] --> src/byt/editor/mod.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Error, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 11 | ErrorKind [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::vec::Drain` [INFO] [stderr] --> src/byt/editor/mod.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | use std::vec::Drain; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::vec::Drain` [INFO] [stderr] --> src/byt/editor/mutator.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::vec::Drain; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::DerefMut` [INFO] [stderr] --> src/byt/editor/mutator.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::ops::DerefMut; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/byt/editor/tests.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::mutator::Scope` [INFO] [stderr] --> src/byt/editor/tests.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use super::mutator::Scope; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `byt::editor::Action` [INFO] [stderr] --> src/byt/events.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use byt::editor::Action; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/byt/io/binds/tests.rs:7:9 [INFO] [stderr] | [INFO] [stderr] 7 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Result` [INFO] [stderr] --> src/byt/io/file/mod.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | Result, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/byt/io/file/mod.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | return (offset - self.logical_offset) + self.file_offset; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(offset - self.logical_offset) + self.file_offset` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/byt/views/file/mod.rs:211:9 [INFO] [stderr] | [INFO] [stderr] 211 | return &self.lines[0]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.lines[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/byt/views/file/mod.rs:338:30 [INFO] [stderr] | [INFO] [stderr] 338 | let num_lines = (self.lines.len() as i64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: this looks like an `else if` but the `else` is missing [INFO] [stderr] --> src/byt/views/file/mod.rs:442:10 [INFO] [stderr] | [INFO] [stderr] 442 | } if line > viewport_end { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::suspicious_else_formatting)] on by default [INFO] [stderr] = note: to remove this lint, add the missing `else` or add a new line before the second `if` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stderr] [INFO] [stderr] warning: unused import: `byt::io::file` [INFO] [stderr] --> src/byt/mod.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | use byt::io::file; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Arrow` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:25:22 [INFO] [stderr] | [INFO] [stderr] 25 | use byt::io::binds::{Arrow, Keymaster, KeyInput}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `ErrorKind`, `Error` [INFO] [stderr] --> src/byt/render/terminal.rs:8:22 [INFO] [stderr] | [INFO] [stderr] 8 | use std::io::{Write, ErrorKind, Error, Result}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/byt/views/file/mod.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs` [INFO] [stderr] --> src/byt/views/file/mod.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use std::fs; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::Seek` [INFO] [stderr] --> src/byt/views/file/mod.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::io::Seek; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::SeekFrom` [INFO] [stderr] --> src/byt/views/file/mod.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use std::io::SeekFrom; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufReader`, `ErrorKind`, `Error` [INFO] [stderr] --> src/byt/views/file/mod.rs:19:15 [INFO] [stderr] | [INFO] [stderr] 19 | use std::io::{BufReader, ErrorKind, Error, Result}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io` [INFO] [stderr] --> src/byt/views/file/mod.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use std::io; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `mutator` [INFO] [stderr] --> src/byt/views/file/mod.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | mutator [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/byt/views/file/mod.rs:211:9 [INFO] [stderr] | [INFO] [stderr] 211 | return &self.lines[0]; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `&self.lines[0]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/byt/views/file/mod.rs:338:30 [INFO] [stderr] | [INFO] [stderr] 338 | let num_lines = (self.lines.len() as i64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: this looks like an `else if` but the `else` is missing [INFO] [stderr] --> src/byt/views/file/mod.rs:442:10 [INFO] [stderr] | [INFO] [stderr] 442 | } if line > viewport_end { [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::suspicious_else_formatting)] on by default [INFO] [stderr] = note: to remove this lint, add the missing `else` or add a new line before the second `if` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_else_formatting [INFO] [stderr] [INFO] [stderr] warning: unused import: `byt::io::file` [INFO] [stderr] --> src/byt/mod.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | use byt::io::file; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: private type `byt::io::file::Action` in public interface (error E0446) [INFO] [stderr] --> src/byt/io/file/mod.rs:317:5 [INFO] [stderr] | [INFO] [stderr] 317 | / pub fn _insert(&mut self, text : &str, offset : usize) -> Action { [INFO] [stderr] 318 | | let length = text.len() as usize; [INFO] [stderr] 319 | | let append_offset = self.append_file.len() as usize; [INFO] [stderr] 320 | | [INFO] [stderr] ... | [INFO] [stderr] 397 | | action [INFO] [stderr] 398 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(private_in_public)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:38:33 [INFO] [stderr] | [INFO] [stderr] 38 | rust.register("vym.right", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:38:48 [INFO] [stderr] | [INFO] [stderr] 38 | rust.register("vym.right", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:43:32 [INFO] [stderr] | [INFO] [stderr] 43 | rust.register("vym.left", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:43:47 [INFO] [stderr] | [INFO] [stderr] 43 | rust.register("vym.left", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:48:32 [INFO] [stderr] | [INFO] [stderr] 48 | rust.register("vym.down", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:48:47 [INFO] [stderr] | [INFO] [stderr] 48 | rust.register("vym.down", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:53:30 [INFO] [stderr] | [INFO] [stderr] 53 | rust.register("vym.up", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:53:45 [INFO] [stderr] | [INFO] [stderr] 53 | rust.register("vym.up", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:59:49 [INFO] [stderr] | [INFO] [stderr] 59 | rust.register("vym.append", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:66:50 [INFO] [stderr] | [INFO] [stderr] 66 | rust.register("vym.prepend", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:73:29 [INFO] [stderr] | [INFO] [stderr] 73 | rust.register("vym.0", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:73:44 [INFO] [stderr] | [INFO] [stderr] 73 | rust.register("vym.0", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:79:29 [INFO] [stderr] | [INFO] [stderr] 79 | rust.register("vym.$", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:79:44 [INFO] [stderr] | [INFO] [stderr] 79 | rust.register("vym.$", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:85:39 [INFO] [stderr] | [INFO] [stderr] 85 | rust.register("vym.viewport_up", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:85:54 [INFO] [stderr] | [INFO] [stderr] 85 | rust.register("vym.viewport_up", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:90:41 [INFO] [stderr] | [INFO] [stderr] 90 | rust.register("vym.viewport_down", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:90:56 [INFO] [stderr] | [INFO] [stderr] 90 | rust.register("vym.viewport_down", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:95:39 [INFO] [stderr] | [INFO] [stderr] 95 | rust.register("vym.to_file_end", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:95:54 [INFO] [stderr] | [INFO] [stderr] 95 | rust.register("vym.to_file_end", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:100:41 [INFO] [stderr] | [INFO] [stderr] 100 | rust.register("vym.to_file_start", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:100:56 [INFO] [stderr] | [INFO] [stderr] 100 | rust.register("vym.to_file_start", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:106:39 [INFO] [stderr] | [INFO] [stderr] 106 | rust.register("vym.delete_line", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:106:54 [INFO] [stderr] | [INFO] [stderr] 106 | rust.register("vym.delete_line", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `target` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:114:41 [INFO] [stderr] | [INFO] [stderr] 114 | rust.register("vym.insert", |state, target, key| { [INFO] [stderr] | ^^^^^^ help: consider using `_target` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:114:49 [INFO] [stderr] | [INFO] [stderr] 114 | rust.register("vym.insert", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:118:39 [INFO] [stderr] | [INFO] [stderr] 118 | rust.register("vym.insert_char", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `target` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:129:41 [INFO] [stderr] | [INFO] [stderr] 129 | rust.register("vym.normal", |state, target, key| { [INFO] [stderr] | ^^^^^^ help: consider using `_target` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:129:49 [INFO] [stderr] | [INFO] [stderr] 129 | rust.register("vym.normal", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:144:37 [INFO] [stderr] | [INFO] [stderr] 144 | rust.register("vym.backspace", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:144:52 [INFO] [stderr] | [INFO] [stderr] 144 | rust.register("vym.backspace", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sender` [INFO] [stderr] --> src/byt/mod.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | let sender = sender.clone(); [INFO] [stderr] | ^^^^^^ help: consider using `_sender` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/io/binds/mod.rs:323:21 [INFO] [stderr] | [INFO] [stderr] 323 | for key in rest.iter() { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `last` [INFO] [stderr] --> src/byt/io/binds/mod.rs:387:22 [INFO] [stderr] | [INFO] [stderr] 387 | let (prefix, last) = sequence.split_at(sequence.len() - 1); [INFO] [stderr] | ^^^^ help: consider using `_last` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `delete_size` [INFO] [stderr] --> src/byt/io/file/mod.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | let delete_size = ((end_index - start_index) as usize) + 1; [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_delete_size` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `piece_start_offset` [INFO] [stderr] --> src/byt/io/file/mod.rs:404:13 [INFO] [stderr] | [INFO] [stderr] 404 | let piece_start_offset = piece.logical_offset; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using `_piece_start_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `last_index` [INFO] [stderr] --> src/byt/io/file/mod.rs:724:13 [INFO] [stderr] | [INFO] [stderr] 724 | let last_index = index + action.pieces.len() - 1; [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_last_index` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rows` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:210:14 [INFO] [stderr] | [INFO] [stderr] 210 | let (rows, cols) = size; [INFO] [stderr] | ^^^^ help: consider using `_rows` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cols` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:210:20 [INFO] [stderr] | [INFO] [stderr] 210 | let (rows, cols) = size; [INFO] [stderr] | ^^^^ help: consider using `_cols` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `renderer` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:209:26 [INFO] [stderr] | [INFO] [stderr] 209 | fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^ help: consider using `_renderer` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/byt/views/file/mod.rs:142:14 [INFO] [stderr] | [INFO] [stderr] 142 | for (index, byte) in text.char_indices() { [INFO] [stderr] | ^^^^^ help: consider using `_index` instead [INFO] [stderr] [INFO] [stderr] warning: variable `index` is assigned to, but never used [INFO] [stderr] --> src/byt/views/file/mod.rs:200:17 [INFO] [stderr] | [INFO] [stderr] 200 | let mut index = 0; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_index` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offset` [INFO] [stderr] --> src/byt/views/file/mod.rs:235:17 [INFO] [stderr] | [INFO] [stderr] 235 | let mut offset : usize; [INFO] [stderr] | ^^^^^^ help: consider using `_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `length` [INFO] [stderr] --> src/byt/views/file/mod.rs:236:17 [INFO] [stderr] | [INFO] [stderr] 236 | let mut length : usize; [INFO] [stderr] | ^^^^^^ help: consider using `_length` instead [INFO] [stderr] [INFO] [stderr] warning: variable `offset` is assigned to, but never used [INFO] [stderr] --> src/byt/views/file/mod.rs:316:17 [INFO] [stderr] | [INFO] [stderr] 316 | let mut offset = self.cursor_offset; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `last_end_chars` [INFO] [stderr] --> src/byt/views/file/mod.rs:344:13 [INFO] [stderr] | [INFO] [stderr] 344 | let last_end_chars = self.lines[last].line_ending_length; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using `_last_end_chars` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `last_end` [INFO] [stderr] --> src/byt/views/file/mod.rs:345:13 [INFO] [stderr] | [INFO] [stderr] 345 | let last_end = self.lines[last].end(); [INFO] [stderr] | ^^^^^^^^ help: consider using `_last_end` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/views/file/mod.rs:478:27 [INFO] [stderr] | [INFO] [stderr] 478 | fn consume(&mut self, key : Key) -> Option<()> { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cols` [INFO] [stderr] --> src/byt/views/file/mod.rs:485:14 [INFO] [stderr] | [INFO] [stderr] 485 | let (cols, rows) = size; [INFO] [stderr] | ^^^^ help: consider using `_cols` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bottom` [INFO] [stderr] --> src/byt/views/file/mod.rs:487:13 [INFO] [stderr] | [INFO] [stderr] 487 | let bottom = cmp::min(top + (rows as usize) - 1, self.lines.len()); [INFO] [stderr] | ^^^^^^ help: consider using `_bottom` instead [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/mod.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | let mut stdout = stdout().into_raw_mode().unwrap(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/editor/mod.rs:97:17 [INFO] [stderr] | [INFO] [stderr] 97 | let mut file = self.current_file().unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/editor/mutator.rs:136:13 [INFO] [stderr] | [INFO] [stderr] 136 | let mut mutator = self.mutators [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/io/binds/mod.rs:479:13 [INFO] [stderr] | [INFO] [stderr] 479 | let mut action : Arrow; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/io/file/mod.rs:527:13 [INFO] [stderr] | [INFO] [stderr] 527 | let mut text : Box; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/io/file/mod.rs:601:13 [INFO] [stderr] | [INFO] [stderr] 601 | let mut num_bytes = num_bytes; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | let mut normal = &mut vym.normal; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | let mut insert = &mut vym.insert; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | let mut rust = &mut vym.rust; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/views/file/mod.rs:235:13 [INFO] [stderr] | [INFO] [stderr] 235 | let mut offset : usize; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/views/file/mod.rs:236:13 [INFO] [stderr] | [INFO] [stderr] 236 | let mut length : usize; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/views/file/mod.rs:492:13 [INFO] [stderr] | [INFO] [stderr] 492 | let mut cursor_offset = self.cursor_offset; [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `state_mut` [INFO] [stderr] --> src/byt/editor/mutator.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn state_mut(&mut self) -> &mut S { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `target` [INFO] [stderr] --> src/byt/editor/mutator.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | pub fn target(&self) -> &T { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `There` [INFO] [stderr] --> src/byt/editor/mod.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | There(String), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `mutators` [INFO] [stderr] --> src/byt/editor/mod.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | mutators : Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `should_render` [INFO] [stderr] --> src/byt/editor/mod.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | should_render : bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Nothing` [INFO] [stderr] --> src/byt/events.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | Nothing [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Root` [INFO] [stderr] --> src/byt/io/binds/mod.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | Root, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/byt/io/binds/mod.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn new(key : Key, result : Arrow) -> Binding { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_id` [INFO] [stderr] --> src/byt/io/binds/mod.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | fn get_id(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unbind` [INFO] [stderr] --> src/byt/io/binds/mod.rs:116:5 [INFO] [stderr] | [INFO] [stderr] 116 | pub fn unbind(&mut self, key : Key) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `len` [INFO] [stderr] --> src/byt/io/binds/mod.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_prefix` [INFO] [stderr] --> src/byt/io/binds/mod.rs:201:5 [INFO] [stderr] | [INFO] [stderr] 201 | fn get_prefix>(&mut self, sequence : T) -> Option<&mut BindingTable> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bind_wildcard` [INFO] [stderr] --> src/byt/io/binds/mod.rs:385:5 [INFO] [stderr] | [INFO] [stderr] 385 | pub fn bind_wildcard>(&mut self, sequence : T, action : &str) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unbind` [INFO] [stderr] --> src/byt/io/binds/mod.rs:398:5 [INFO] [stderr] | [INFO] [stderr] 398 | pub fn unbind>(&mut self, sequence : T) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_arrow` [INFO] [stderr] --> src/byt/io/binds/mod.rs:436:5 [INFO] [stderr] | [INFO] [stderr] 436 | pub fn get_arrow>(&mut self, sequence : T) -> Option<&Arrow> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `save` [INFO] [stderr] --> src/byt/io/file/mod.rs:522:5 [INFO] [stderr] | [INFO] [stderr] 522 | pub fn save(&mut self) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `save_as` [INFO] [stderr] --> src/byt/io/file/mod.rs:541:5 [INFO] [stderr] | [INFO] [stderr] 541 | pub fn save_as(&mut self, filename : &str) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_empty` [INFO] [stderr] --> src/byt/io/file/mod.rs:556:5 [INFO] [stderr] | [INFO] [stderr] 556 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `merge_pieces` [INFO] [stderr] --> src/byt/io/file/mod.rs:692:5 [INFO] [stderr] | [INFO] [stderr] 692 | fn merge_pieces(&mut self, index : usize) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `redo` [INFO] [stderr] --> src/byt/io/file/mod.rs:716:5 [INFO] [stderr] | [INFO] [stderr] 716 | pub fn redo(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `undo` [INFO] [stderr] --> src/byt/io/file/mod.rs:755:5 [INFO] [stderr] | [INFO] [stderr] 755 | pub fn undo(&mut self) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_file` [INFO] [stderr] --> src/byt/mutators/vym/tests.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | fn make_file() -> MutatePair { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Point` [INFO] [stderr] --> src/byt/render/mod.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Point { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_file` [INFO] [stderr] --> src/byt/views/file/tests.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | fn make_file() -> FileView { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `path` [INFO] [stderr] --> src/byt/views/file/mod.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | path : Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `keys` [INFO] [stderr] --> src/byt/views/file/mod.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | keys : Keymaster, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `file` [INFO] [stderr] --> src/byt/views/file/mod.rs:269:5 [INFO] [stderr] | [INFO] [stderr] 269 | pub fn file(&self) -> &PieceFile { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `file_mut` [INFO] [stderr] --> src/byt/views/file/mod.rs:275:5 [INFO] [stderr] | [INFO] [stderr] 275 | pub fn file_mut(&mut self) -> &mut PieceFile { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_line` [INFO] [stderr] --> src/byt/views/file/mod.rs:281:5 [INFO] [stderr] | [INFO] [stderr] 281 | pub fn get_line(&self, number : usize) -> Option<&Line> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `insert_str` [INFO] [stderr] --> src/byt/views/file/mod.rs:313:5 [INFO] [stderr] | [INFO] [stderr] 313 | pub fn insert_str>(&mut self, text: N) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `len` [INFO] [stderr] --> src/byt/views/file/mod.rs:324:5 [INFO] [stderr] | [INFO] [stderr] 324 | pub fn len(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/byt/editor/mutator.rs:48:11 [INFO] [stderr] | [INFO] [stderr] 48 | map : HashMap>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/editor/mutator.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | self.target.render(renderer, size); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/editor/mutator.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | mutator.render(renderer, size); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/editor/mod.rs:103:25 [INFO] [stderr] | [INFO] [stderr] 103 | file.call_action(name.as_str(), key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/byt/io/binds/mod.rs:208:13 [INFO] [stderr] | [INFO] [stderr] 208 | / if binding.is_none() { [INFO] [stderr] 209 | | return None; [INFO] [stderr] 210 | | } [INFO] [stderr] | |_____________^ help: replace_it_with: `binding?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/byt/io/binds/mod.rs:258:24 [INFO] [stderr] | [INFO] [stderr] 258 | if let Some(_) = self.get_table_by_id(id) { [INFO] [stderr] | _________________- ^^^^^^^ [INFO] [stderr] 259 | | self.current_table = id; [INFO] [stderr] 260 | | } [INFO] [stderr] | |_________________- help: try this: `if self.get_table_by_id(id).is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/byt/io/binds/mod.rs:291:16 [INFO] [stderr] | [INFO] [stderr] 291 | if prefix.as_ref().len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `prefix.as_ref().is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/binds/mod.rs:330:21 [INFO] [stderr] | [INFO] [stderr] 330 | table.bind(*key, Arrow::Table(current)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/byt/io/binds/mod.rs:407:34 [INFO] [stderr] | [INFO] [stderr] 407 | let table = if prefix.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!prefix.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/binds/mod.rs:419:13 [INFO] [stderr] | [INFO] [stderr] 419 | table.unbind(key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/byt/io/binds/mod.rs:441:9 [INFO] [stderr] | [INFO] [stderr] 441 | / if table.is_none() { [INFO] [stderr] 442 | | return None; [INFO] [stderr] 443 | | } [INFO] [stderr] | |_________^ help: replace_it_with: `table?;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/byt/io/binds/mod.rs:454:20 [INFO] [stderr] | [INFO] [stderr] 454 | pub fn to_root(&mut self) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/byt/io/binds/mod.rs:488:13 [INFO] [stderr] | [INFO] [stderr] 488 | / if result.is_none() { [INFO] [stderr] 489 | | return None [INFO] [stderr] 490 | | } [INFO] [stderr] | |_____________^ help: replace_it_with: `result?;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | / write!(f, "op={:?} {}+{} down={} up={}\n", [INFO] [stderr] 104 | | self.op, [INFO] [stderr] 105 | | self.offset, [INFO] [stderr] 106 | | self.length, [INFO] [stderr] 107 | | self.merge_down, [INFO] [stderr] 108 | | self.merge_up); [INFO] [stderr] | |______________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | write!(f, "action pieces\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | write!(f, "{}\n", piece); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | write!(f, "PieceFile\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | write!(f, "history_offset={}\n", self.history_offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:143:9 [INFO] [stderr] | [INFO] [stderr] 143 | write!(f, "length={}\n", self.length); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | write!(f, "offset={}\n", self.offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | write!(f, "piece_table len({})\n", self.piece_table.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | write!(f, "{}\n", piece); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/byt/io/file/mod.rs:308:12 [INFO] [stderr] | [INFO] [stderr] 308 | if self.piece_table.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.piece_table.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/byt/io/file/mod.rs:420:32 [INFO] [stderr] | [INFO] [stderr] 420 | let byte = append_bytes.get(append_start_offset).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `append_bytes[append_start_offset]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/byt/io/file/mod.rs:423:40 [INFO] [stderr] | [INFO] [stderr] 423 | let append_slice = append_bytes [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 424 | | .get(append_start_offset .. [INFO] [stderr] 425 | | append_end_offset) [INFO] [stderr] 426 | | .unwrap(); [INFO] [stderr] | |_________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 423 | let append_slice = append_bytes[append_start_offset .. [INFO] [stderr] 424 | append_end_offset]; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:432:17 [INFO] [stderr] | [INFO] [stderr] 432 | reader.seek(SeekFrom::Start(piece.logical_to_file(offset) as u64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:433:17 [INFO] [stderr] | [INFO] [stderr] 433 | reader.read(buf.as_mut_slice()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:686:9 [INFO] [stderr] | [INFO] [stderr] 686 | self.seek(SeekFrom::Start(offset as u64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/byt/io/file/mod.rs:717:12 [INFO] [stderr] | [INFO] [stderr] 717 | if self.actions.len() == 0 || self.history_offset == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.actions.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/byt/io/file/mod.rs:756:12 [INFO] [stderr] | [INFO] [stderr] 756 | if self.actions.len() == 0 || [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.actions.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/tests.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | file.register_mutator(Box::new(Vym::new())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | normal.bind_action([Key::Char('l')], "vym.right"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | normal.bind_action([Key::Char('h')], "vym.left"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | normal.bind_action([Key::Char('j')], "vym.down"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | normal.bind_action([Key::Char('k')], "vym.up"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | normal.bind_action([Key::Char('A')], "vym.append"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | normal.bind_action([Key::Char('I')], "vym.prepend"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | normal.bind_action([Key::Char('0')], "vym.0"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | normal.bind_action([Key::Char('$')], "vym.$"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | normal.bind_action([Key::Ctrl('y')], "vym.viewport_up"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | normal.bind_action([Key::Ctrl('e')], "vym.viewport_down"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | normal.bind_action([Key::Char('G')], "vym.to_file_end"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | normal.bind_action([Key::Char('g'), Key::Char('g')], "vym.to_file_start"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | normal.bind_action([Key::Char('d'), Key::Char('d')], "vym.delete_line"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | normal.bind_action([Key::Char('i')], "vym.insert"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:141:5 [INFO] [stderr] | [INFO] [stderr] 141 | insert.bind_action([Key::Ctrl('c')], "vym.normal"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | insert.bind_action([Key::Esc], "vym.normal"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | insert.bind_action([Key::Backspace], "vym.backspace"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: the variable `offset` is used as a loop counter. Consider using `for (offset, item) in text.char_indices().enumerate()` or similar iterators [INFO] [stderr] --> src/byt/views/file/mod.rs:142:30 [INFO] [stderr] | [INFO] [stderr] 142 | for (index, byte) in text.char_indices() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: the variable `index` is used as a loop counter. Consider using `for (index, item) in self.lines.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/byt/views/file/mod.rs:202:21 [INFO] [stderr] | [INFO] [stderr] 202 | for line in self.lines.iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/byt/views/file/mod.rs:216:12 [INFO] [stderr] | [INFO] [stderr] 216 | if offset < 0 || [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_comparisons)] on by default [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/byt/views/file/mod.rs:216:12 [INFO] [stderr] | [INFO] [stderr] 216 | if offset < 0 || [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, this comparison is always false [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:225:13 [INFO] [stderr] | [INFO] [stderr] 225 | self.set_cursor(cursor - cmp::min(num_bytes, cursor - (offset + num_bytes))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:292:9 [INFO] [stderr] | [INFO] [stderr] 292 | self.set_cursor(offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:298:9 [INFO] [stderr] | [INFO] [stderr] 298 | self.set_cursor(offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:308:9 [INFO] [stderr] | [INFO] [stderr] 308 | self.set_cursor(offset + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:352:9 [INFO] [stderr] | [INFO] [stderr] 352 | self.set_cursor(dest_column + line_start); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:369:9 [INFO] [stderr] | [INFO] [stderr] 369 | self.set_cursor(current - 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:381:9 [INFO] [stderr] | [INFO] [stderr] 381 | self.set_cursor(current + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/byt/views/file/mod.rs:391:23 [INFO] [stderr] | [INFO] [stderr] 391 | let change = (-1 * (self.current_line().number() as i64)) + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:406:9 [INFO] [stderr] | [INFO] [stderr] 406 | self.set_viewport_top(dest_index); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:500:13 [INFO] [stderr] | [INFO] [stderr] 500 | renderer.write(format!("{}", termion::clear::All).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:533:17 [INFO] [stderr] | [INFO] [stderr] 533 | renderer.move_cursor(line_number as u16, 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:535:17 [INFO] [stderr] | [INFO] [stderr] 535 | renderer.write(&text); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/byt/views/file/mod.rs:541:25 [INFO] [stderr] | [INFO] [stderr] 541 | for line in next_line .. rows + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: use: `next_line..=rows` [INFO] [stderr] warning: private type `byt::io::file::Action` in public interface (error E0446) [INFO] [stderr] --> src/byt/io/file/mod.rs:317:5 [INFO] [stderr] | [INFO] [stderr] 317 | / pub fn _insert(&mut self, text : &str, offset : usize) -> Action { [INFO] [stderr] 318 | | let length = text.len() as usize; [INFO] [stderr] 319 | | let append_offset = self.append_file.len() as usize; [INFO] [stderr] 320 | | [INFO] [stderr] ... | [INFO] [stderr] 397 | | action [INFO] [stderr] 398 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(private_in_public)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:542:17 [INFO] [stderr] | [INFO] [stderr] 542 | renderer.move_cursor(line, 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:543:17 [INFO] [stderr] | [INFO] [stderr] 543 | renderer.write("~"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:550:9 [INFO] [stderr] | [INFO] [stderr] 550 | renderer.move_cursor(cursor_row, cursor_col); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mod.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | editor.render(&mut renderer, size); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:38:33 [INFO] [stderr] | [INFO] [stderr] 38 | rust.register("vym.right", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:38:48 [INFO] [stderr] | [INFO] [stderr] 38 | rust.register("vym.right", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:43:32 [INFO] [stderr] | [INFO] [stderr] 43 | rust.register("vym.left", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:43:47 [INFO] [stderr] | [INFO] [stderr] 43 | rust.register("vym.left", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:48:32 [INFO] [stderr] | [INFO] [stderr] 48 | rust.register("vym.down", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:48:47 [INFO] [stderr] | [INFO] [stderr] 48 | rust.register("vym.down", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:53:30 [INFO] [stderr] | [INFO] [stderr] 53 | rust.register("vym.up", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:53:45 [INFO] [stderr] | [INFO] [stderr] 53 | rust.register("vym.up", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:59:49 [INFO] [stderr] | [INFO] [stderr] 59 | rust.register("vym.append", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:66:50 [INFO] [stderr] | [INFO] [stderr] 66 | rust.register("vym.prepend", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:73:29 [INFO] [stderr] | [INFO] [stderr] 73 | rust.register("vym.0", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:73:44 [INFO] [stderr] | [INFO] [stderr] 73 | rust.register("vym.0", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mod.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | editor.target_mut().open(arguments.nth(1).unwrap().as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:79:29 [INFO] [stderr] | [INFO] [stderr] 79 | rust.register("vym.$", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:79:44 [INFO] [stderr] | [INFO] [stderr] 79 | rust.register("vym.$", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mod.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | editor.target_mut().open_empty(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mod.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | / editor [INFO] [stderr] 68 | | .target_mut() [INFO] [stderr] 69 | | .current_file() [INFO] [stderr] 70 | | .unwrap() [INFO] [stderr] 71 | | .register_mutator(Box::new(Vym::new())); [INFO] [stderr] | |________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:85:39 [INFO] [stderr] | [INFO] [stderr] 85 | rust.register("vym.viewport_up", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:85:54 [INFO] [stderr] | [INFO] [stderr] 85 | rust.register("vym.viewport_up", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:90:41 [INFO] [stderr] | [INFO] [stderr] 90 | rust.register("vym.viewport_down", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:90:56 [INFO] [stderr] | [INFO] [stderr] 90 | rust.register("vym.viewport_down", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:95:39 [INFO] [stderr] | [INFO] [stderr] 95 | rust.register("vym.to_file_end", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:95:54 [INFO] [stderr] | [INFO] [stderr] 95 | rust.register("vym.to_file_end", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:100:41 [INFO] [stderr] | [INFO] [stderr] 100 | rust.register("vym.to_file_start", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:100:56 [INFO] [stderr] | [INFO] [stderr] 100 | rust.register("vym.to_file_start", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:106:39 [INFO] [stderr] | [INFO] [stderr] 106 | rust.register("vym.delete_line", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:106:54 [INFO] [stderr] | [INFO] [stderr] 106 | rust.register("vym.delete_line", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `target` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:114:41 [INFO] [stderr] | [INFO] [stderr] 114 | rust.register("vym.insert", |state, target, key| { [INFO] [stderr] | ^^^^^^ help: consider using `_target` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:114:49 [INFO] [stderr] | [INFO] [stderr] 114 | rust.register("vym.insert", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:118:39 [INFO] [stderr] | [INFO] [stderr] 118 | rust.register("vym.insert_char", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mod.rs:105:21 [INFO] [stderr] | [INFO] [stderr] 105 | editor.call_action(name.as_str(), key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused variable: `target` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:129:41 [INFO] [stderr] | [INFO] [stderr] 129 | rust.register("vym.normal", |state, target, key| { [INFO] [stderr] | ^^^^^^ help: consider using `_target` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:129:49 [INFO] [stderr] | [INFO] [stderr] 129 | rust.register("vym.normal", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:144:37 [INFO] [stderr] | [INFO] [stderr] 144 | rust.register("vym.backspace", |state, target, key| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:144:52 [INFO] [stderr] | [INFO] [stderr] 144 | rust.register("vym.backspace", |state, target, key| { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sender` [INFO] [stderr] --> src/byt/mod.rs:89:13 [INFO] [stderr] | [INFO] [stderr] 89 | let sender = sender.clone(); [INFO] [stderr] | ^^^^^^ help: consider using `_sender` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `state` [INFO] [stderr] --> src/byt/editor/tests.rs:13:27 [INFO] [stderr] | [INFO] [stderr] 13 | rust.register("foo", |state, target, c| { [INFO] [stderr] | ^^^^^ help: consider using `_state` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/byt/editor/tests.rs:13:42 [INFO] [stderr] | [INFO] [stderr] 13 | rust.register("foo", |state, target, c| { [INFO] [stderr] | ^ help: consider using `_c` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `target` [INFO] [stderr] --> src/byt/editor/tests.rs:26:34 [INFO] [stderr] | [INFO] [stderr] 26 | rust.register("foo", |state, target, c| { [INFO] [stderr] | ^^^^^^ help: consider using `_target` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `c` [INFO] [stderr] --> src/byt/editor/tests.rs:26:42 [INFO] [stderr] | [INFO] [stderr] 26 | rust.register("foo", |state, target, c| { [INFO] [stderr] | ^ help: consider using `_c` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `file` [INFO] [stderr] --> src/byt/mutators/vym/tests.rs:21:13 [INFO] [stderr] | [INFO] [stderr] 21 | let mut file = make_file(); [INFO] [stderr] | ^^^^ help: consider using `_file` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/io/binds/mod.rs:323:21 [INFO] [stderr] | [INFO] [stderr] 323 | for key in rest.iter() { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `last` [INFO] [stderr] --> src/byt/io/binds/mod.rs:387:22 [INFO] [stderr] | [INFO] [stderr] 387 | let (prefix, last) = sequence.split_at(sequence.len() - 1); [INFO] [stderr] | ^^^^ help: consider using `_last` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `delete_size` [INFO] [stderr] --> src/byt/io/file/mod.rs:169:13 [INFO] [stderr] | [INFO] [stderr] 169 | let delete_size = ((end_index - start_index) as usize) + 1; [INFO] [stderr] | ^^^^^^^^^^^ help: consider using `_delete_size` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `piece_start_offset` [INFO] [stderr] --> src/byt/io/file/mod.rs:404:13 [INFO] [stderr] | [INFO] [stderr] 404 | let piece_start_offset = piece.logical_offset; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider using `_piece_start_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `last_index` [INFO] [stderr] --> src/byt/io/file/mod.rs:724:13 [INFO] [stderr] | [INFO] [stderr] 724 | let last_index = index + action.pieces.len() - 1; [INFO] [stderr] | ^^^^^^^^^^ help: consider using `_last_index` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rows` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:210:14 [INFO] [stderr] | [INFO] [stderr] 210 | let (rows, cols) = size; [INFO] [stderr] | ^^^^ help: consider using `_rows` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cols` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:210:20 [INFO] [stderr] | [INFO] [stderr] 210 | let (rows, cols) = size; [INFO] [stderr] | ^^^^ help: consider using `_cols` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `renderer` [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:209:26 [INFO] [stderr] | [INFO] [stderr] 209 | fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^ help: consider using `_renderer` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/byt/views/file/mod.rs:142:14 [INFO] [stderr] | [INFO] [stderr] 142 | for (index, byte) in text.char_indices() { [INFO] [stderr] | ^^^^^ help: consider using `_index` instead [INFO] [stderr] [INFO] [stderr] warning: variable `index` is assigned to, but never used [INFO] [stderr] --> src/byt/views/file/mod.rs:200:17 [INFO] [stderr] | [INFO] [stderr] 200 | let mut index = 0; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_index` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `offset` [INFO] [stderr] --> src/byt/views/file/mod.rs:235:17 [INFO] [stderr] | [INFO] [stderr] 235 | let mut offset : usize; [INFO] [stderr] | ^^^^^^ help: consider using `_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `length` [INFO] [stderr] --> src/byt/views/file/mod.rs:236:17 [INFO] [stderr] | [INFO] [stderr] 236 | let mut length : usize; [INFO] [stderr] | ^^^^^^ help: consider using `_length` instead [INFO] [stderr] [INFO] [stderr] warning: variable `offset` is assigned to, but never used [INFO] [stderr] --> src/byt/views/file/mod.rs:316:17 [INFO] [stderr] | [INFO] [stderr] 316 | let mut offset = self.cursor_offset; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_offset` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `last_end_chars` [INFO] [stderr] --> src/byt/views/file/mod.rs:344:13 [INFO] [stderr] | [INFO] [stderr] 344 | let last_end_chars = self.lines[last].line_ending_length; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using `_last_end_chars` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `last_end` [INFO] [stderr] --> src/byt/views/file/mod.rs:345:13 [INFO] [stderr] | [INFO] [stderr] 345 | let last_end = self.lines[last].end(); [INFO] [stderr] | ^^^^^^^^ help: consider using `_last_end` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `key` [INFO] [stderr] --> src/byt/views/file/mod.rs:478:27 [INFO] [stderr] | [INFO] [stderr] 478 | fn consume(&mut self, key : Key) -> Option<()> { [INFO] [stderr] | ^^^ help: consider using `_key` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `cols` [INFO] [stderr] --> src/byt/views/file/mod.rs:485:14 [INFO] [stderr] | [INFO] [stderr] 485 | let (cols, rows) = size; [INFO] [stderr] | ^^^^ help: consider using `_cols` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bottom` [INFO] [stderr] --> src/byt/views/file/mod.rs:487:13 [INFO] [stderr] | [INFO] [stderr] 487 | let bottom = cmp::min(top + (rows as usize) - 1, self.lines.len()); [INFO] [stderr] | ^^^^^^ help: consider using `_bottom` instead [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `byt`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/mod.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | let mut stdout = stdout().into_raw_mode().unwrap(); [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/editor/mod.rs:97:17 [INFO] [stderr] | [INFO] [stderr] 97 | let mut file = self.current_file().unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/editor/mutator.rs:136:13 [INFO] [stderr] | [INFO] [stderr] 136 | let mut mutator = self.mutators [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/io/binds/mod.rs:479:13 [INFO] [stderr] | [INFO] [stderr] 479 | let mut action : Arrow; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/io/binds/tests.rs:11:13 [INFO] [stderr] | [INFO] [stderr] 11 | let mut table = BindingTable::new(0); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/io/file/mod.rs:527:13 [INFO] [stderr] | [INFO] [stderr] 527 | let mut text : Box; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/io/file/mod.rs:601:13 [INFO] [stderr] | [INFO] [stderr] 601 | let mut num_bytes = num_bytes; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | let mut normal = &mut vym.normal; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | let mut insert = &mut vym.insert; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | let mut rust = &mut vym.rust; [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/mutators/vym/tests.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | let mut file = make_file(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/views/file/mod.rs:235:13 [INFO] [stderr] | [INFO] [stderr] 235 | let mut offset : usize; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/views/file/mod.rs:236:13 [INFO] [stderr] | [INFO] [stderr] 236 | let mut length : usize; [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/views/file/mod.rs:492:13 [INFO] [stderr] | [INFO] [stderr] 492 | let mut cursor_offset = self.cursor_offset; [INFO] [stderr] | ----^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/byt/views/file/tests.rs:221:9 [INFO] [stderr] | [INFO] [stderr] 221 | let mut file = FileView::new("testfiles/no_line_ending.txt").unwrap(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `state_mut` [INFO] [stderr] --> src/byt/editor/mutator.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn state_mut(&mut self) -> &mut S { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `target` [INFO] [stderr] --> src/byt/editor/mutator.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | pub fn target(&self) -> &T { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `There` [INFO] [stderr] --> src/byt/editor/mod.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | There(String), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `mutators` [INFO] [stderr] --> src/byt/editor/mod.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | mutators : Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `should_render` [INFO] [stderr] --> src/byt/editor/mod.rs:59:5 [INFO] [stderr] | [INFO] [stderr] 59 | should_render : bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Nothing` [INFO] [stderr] --> src/byt/events.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | Nothing [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Root` [INFO] [stderr] --> src/byt/io/binds/mod.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | Root, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/byt/io/binds/mod.rs:54:5 [INFO] [stderr] | [INFO] [stderr] 54 | pub fn new(key : Key, result : Arrow) -> Binding { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_id` [INFO] [stderr] --> src/byt/io/binds/mod.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | fn get_id(&self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bind_wildcard` [INFO] [stderr] --> src/byt/io/binds/mod.rs:385:5 [INFO] [stderr] | [INFO] [stderr] 385 | pub fn bind_wildcard>(&mut self, sequence : T, action : &str) -> io::Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_arrow` [INFO] [stderr] --> src/byt/io/binds/mod.rs:436:5 [INFO] [stderr] | [INFO] [stderr] 436 | pub fn get_arrow>(&mut self, sequence : T) -> Option<&Arrow> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `save` [INFO] [stderr] --> src/byt/io/file/mod.rs:522:5 [INFO] [stderr] | [INFO] [stderr] 522 | pub fn save(&mut self) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `save_as` [INFO] [stderr] --> src/byt/io/file/mod.rs:541:5 [INFO] [stderr] | [INFO] [stderr] 541 | pub fn save_as(&mut self, filename : &str) -> io::Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_empty` [INFO] [stderr] --> src/byt/io/file/mod.rs:556:5 [INFO] [stderr] | [INFO] [stderr] 556 | pub fn is_empty(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Point` [INFO] [stderr] --> src/byt/render/mod.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Point { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `path` [INFO] [stderr] --> src/byt/views/file/mod.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | path : Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `keys` [INFO] [stderr] --> src/byt/views/file/mod.rs:120:5 [INFO] [stderr] | [INFO] [stderr] 120 | keys : Keymaster, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `file` [INFO] [stderr] --> src/byt/views/file/mod.rs:269:5 [INFO] [stderr] | [INFO] [stderr] 269 | pub fn file(&self) -> &PieceFile { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `file_mut` [INFO] [stderr] --> src/byt/views/file/mod.rs:275:5 [INFO] [stderr] | [INFO] [stderr] 275 | pub fn file_mut(&mut self) -> &mut PieceFile { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_line` [INFO] [stderr] --> src/byt/views/file/mod.rs:281:5 [INFO] [stderr] | [INFO] [stderr] 281 | pub fn get_line(&self, number : usize) -> Option<&Line> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: very complex type used. Consider factoring parts into `type` definitions [INFO] [stderr] --> src/byt/editor/mutator.rs:48:11 [INFO] [stderr] | [INFO] [stderr] 48 | map : HashMap>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::type_complexity)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/editor/mutator.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | self.target.render(renderer, size); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/editor/mutator.rs:186:13 [INFO] [stderr] | [INFO] [stderr] 186 | mutator.render(renderer, size); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> src/byt/editor/tests.rs:10:13 [INFO] [stderr] | [INFO] [stderr] 10 | let mut bar = 0; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::blacklisted_name)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/editor/tests.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | rust.call("foo", &mut bar, Key::Char('a')); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: use of a blacklisted/placeholder name `bar` [INFO] [stderr] --> src/byt/editor/tests.rs:23:13 [INFO] [stderr] | [INFO] [stderr] 23 | let mut bar = 0; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#blacklisted_name [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/editor/tests.rs:30:5 [INFO] [stderr] | [INFO] [stderr] 30 | rust.call("foo", &mut bar, Key::Char('a')); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/editor/mod.rs:103:25 [INFO] [stderr] | [INFO] [stderr] 103 | file.call_action(name.as_str(), key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/binds/tests.rs:28:9 [INFO] [stderr] | [INFO] [stderr] 28 | table.bind(Key::Char('a'), Arrow::Nothing); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/binds/tests.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | / master [INFO] [stderr] 39 | | .get_root() [INFO] [stderr] 40 | | .bind(Key::Char('a'), Arrow::Nothing); [INFO] [stderr] | |______________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/binds/tests.rs:61:5 [INFO] [stderr] | [INFO] [stderr] 61 | master.bind(seq, Arrow::Table(0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/binds/tests.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | master.bind(seq, Arrow::Table(0)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/binds/tests.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | / master [INFO] [stderr] 109 | | .get_table_by_id(id) [INFO] [stderr] 110 | | .unwrap() [INFO] [stderr] 111 | | .bind(Key::Char('r'), Arrow::Function(Action::Mutator(String::from("Blah")))); [INFO] [stderr] | |______________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/byt/io/binds/mod.rs:208:13 [INFO] [stderr] | [INFO] [stderr] 208 | / if binding.is_none() { [INFO] [stderr] 209 | | return None; [INFO] [stderr] 210 | | } [INFO] [stderr] | |_____________^ help: replace_it_with: `binding?;` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::question_mark)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_some()` [INFO] [stderr] --> src/byt/io/binds/mod.rs:258:24 [INFO] [stderr] | [INFO] [stderr] 258 | if let Some(_) = self.get_table_by_id(id) { [INFO] [stderr] | _________________- ^^^^^^^ [INFO] [stderr] 259 | | self.current_table = id; [INFO] [stderr] 260 | | } [INFO] [stderr] | |_________________- help: try this: `if self.get_table_by_id(id).is_some()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/byt/io/binds/mod.rs:291:16 [INFO] [stderr] | [INFO] [stderr] 291 | if prefix.as_ref().len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `prefix.as_ref().is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/binds/mod.rs:330:21 [INFO] [stderr] | [INFO] [stderr] 330 | table.bind(*key, Arrow::Table(current)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/byt/io/binds/mod.rs:407:34 [INFO] [stderr] | [INFO] [stderr] 407 | let table = if prefix.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!prefix.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/binds/mod.rs:419:13 [INFO] [stderr] | [INFO] [stderr] 419 | table.unbind(key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/byt/io/binds/mod.rs:441:9 [INFO] [stderr] | [INFO] [stderr] 441 | / if table.is_none() { [INFO] [stderr] 442 | | return None; [INFO] [stderr] 443 | | } [INFO] [stderr] | |_________^ help: replace_it_with: `table?;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/byt/io/binds/mod.rs:454:20 [INFO] [stderr] | [INFO] [stderr] 454 | pub fn to_root(&mut self) { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: this block may be rewritten with the `?` operator [INFO] [stderr] --> src/byt/io/binds/mod.rs:488:13 [INFO] [stderr] | [INFO] [stderr] 488 | / if result.is_none() { [INFO] [stderr] 489 | | return None [INFO] [stderr] 490 | | } [INFO] [stderr] | |_____________^ help: replace_it_with: `result?;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:103:9 [INFO] [stderr] | [INFO] [stderr] 103 | / write!(f, "op={:?} {}+{} down={} up={}\n", [INFO] [stderr] 104 | | self.op, [INFO] [stderr] 105 | | self.offset, [INFO] [stderr] 106 | | self.length, [INFO] [stderr] 107 | | self.merge_down, [INFO] [stderr] 108 | | self.merge_up); [INFO] [stderr] | |______________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:109:9 [INFO] [stderr] | [INFO] [stderr] 109 | write!(f, "action pieces\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:111:13 [INFO] [stderr] | [INFO] [stderr] 111 | write!(f, "{}\n", piece); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:141:9 [INFO] [stderr] | [INFO] [stderr] 141 | write!(f, "PieceFile\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:142:9 [INFO] [stderr] | [INFO] [stderr] 142 | write!(f, "history_offset={}\n", self.history_offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:143:9 [INFO] [stderr] | [INFO] [stderr] 143 | write!(f, "length={}\n", self.length); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:144:9 [INFO] [stderr] | [INFO] [stderr] 144 | write!(f, "offset={}\n", self.offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:145:9 [INFO] [stderr] | [INFO] [stderr] 145 | write!(f, "piece_table len({})\n", self.piece_table.len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | write!(f, "{}\n", piece); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/byt/io/file/mod.rs:308:12 [INFO] [stderr] | [INFO] [stderr] 308 | if self.piece_table.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.piece_table.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/byt/io/file/mod.rs:420:32 [INFO] [stderr] | [INFO] [stderr] 420 | let byte = append_bytes.get(append_start_offset).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `append_bytes[append_start_offset]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a slice. Using `[]` is more clear and more concise [INFO] [stderr] --> src/byt/io/file/mod.rs:423:40 [INFO] [stderr] | [INFO] [stderr] 423 | let append_slice = append_bytes [INFO] [stderr] | ________________________________________^ [INFO] [stderr] 424 | | .get(append_start_offset .. [INFO] [stderr] 425 | | append_end_offset) [INFO] [stderr] 426 | | .unwrap(); [INFO] [stderr] | |_________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 423 | let append_slice = append_bytes[append_start_offset .. [INFO] [stderr] 424 | append_end_offset]; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:432:17 [INFO] [stderr] | [INFO] [stderr] 432 | reader.seek(SeekFrom::Start(piece.logical_to_file(offset) as u64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error: handle read amount returned or use `Read::read_exact` instead [INFO] [stderr] --> src/byt/io/file/mod.rs:433:17 [INFO] [stderr] | [INFO] [stderr] 433 | reader.read(buf.as_mut_slice()).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/io/file/mod.rs:686:9 [INFO] [stderr] | [INFO] [stderr] 686 | self.seek(SeekFrom::Start(offset as u64)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/byt/io/file/mod.rs:717:12 [INFO] [stderr] | [INFO] [stderr] 717 | if self.actions.len() == 0 || self.history_offset == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.actions.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/byt/io/file/mod.rs:756:12 [INFO] [stderr] | [INFO] [stderr] 756 | if self.actions.len() == 0 || [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `self.actions.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/tests.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | file.register_mutator(Box::new(Vym::new())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | normal.bind_action([Key::Char('l')], "vym.right"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | normal.bind_action([Key::Char('h')], "vym.left"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:51:5 [INFO] [stderr] | [INFO] [stderr] 51 | normal.bind_action([Key::Char('j')], "vym.down"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:56:5 [INFO] [stderr] | [INFO] [stderr] 56 | normal.bind_action([Key::Char('k')], "vym.up"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | normal.bind_action([Key::Char('A')], "vym.append"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | normal.bind_action([Key::Char('I')], "vym.prepend"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | normal.bind_action([Key::Char('0')], "vym.0"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | normal.bind_action([Key::Char('$')], "vym.$"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | normal.bind_action([Key::Ctrl('y')], "vym.viewport_up"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | normal.bind_action([Key::Ctrl('e')], "vym.viewport_down"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:98:5 [INFO] [stderr] | [INFO] [stderr] 98 | normal.bind_action([Key::Char('G')], "vym.to_file_end"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | normal.bind_action([Key::Char('g'), Key::Char('g')], "vym.to_file_start"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | normal.bind_action([Key::Char('d'), Key::Char('d')], "vym.delete_line"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | normal.bind_action([Key::Char('i')], "vym.insert"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:141:5 [INFO] [stderr] | [INFO] [stderr] 141 | insert.bind_action([Key::Ctrl('c')], "vym.normal"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | insert.bind_action([Key::Esc], "vym.normal"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mutators/vym/mod.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | insert.bind_action([Key::Backspace], "vym.backspace"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | file.set_cursor(0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: function `it_moves_down_to_CR` should have a snake case name such as `it_moves_down_to_cr` [INFO] [stderr] --> src/byt/views/file/tests.rs:54:1 [INFO] [stderr] | [INFO] [stderr] 54 | / fn it_moves_down_to_CR() { [INFO] [stderr] 55 | | let mut file = make_file(); [INFO] [stderr] 56 | | file.insert_str("foo\n"); [INFO] [stderr] 57 | | file.set_cursor(3); [INFO] [stderr] 58 | | file.move_cursor_down(); [INFO] [stderr] 59 | | assert_eq!(file.cursor_offset, 4); [INFO] [stderr] 60 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:57:5 [INFO] [stderr] | [INFO] [stderr] 57 | file.set_cursor(3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | file.set_cursor(4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:76:5 [INFO] [stderr] | [INFO] [stderr] 76 | file.set_cursor(4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:85:5 [INFO] [stderr] | [INFO] [stderr] 85 | file.set_cursor(0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | file.set_cursor(3); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:117:5 [INFO] [stderr] | [INFO] [stderr] 117 | file.set_cursor(1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:126:5 [INFO] [stderr] | [INFO] [stderr] 126 | file.set_cursor(0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:136:5 [INFO] [stderr] | [INFO] [stderr] 136 | file.set_cursor(4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:186:5 [INFO] [stderr] | [INFO] [stderr] 186 | file.set_cursor(0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:195:5 [INFO] [stderr] | [INFO] [stderr] 195 | file.set_viewport_top(2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:204:5 [INFO] [stderr] | [INFO] [stderr] 204 | file.set_viewport_top(2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:214:5 [INFO] [stderr] | [INFO] [stderr] 214 | file.set_cursor(0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:229:5 [INFO] [stderr] | [INFO] [stderr] 229 | file.set_cursor(0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/tests.rs:238:5 [INFO] [stderr] | [INFO] [stderr] 238 | file.set_cursor(8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: the variable `offset` is used as a loop counter. Consider using `for (offset, item) in text.char_indices().enumerate()` or similar iterators [INFO] [stderr] --> src/byt/views/file/mod.rs:142:30 [INFO] [stderr] | [INFO] [stderr] 142 | for (index, byte) in text.char_indices() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: the variable `index` is used as a loop counter. Consider using `for (index, item) in self.lines.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/byt/views/file/mod.rs:202:21 [INFO] [stderr] | [INFO] [stderr] 202 | for line in self.lines.iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/byt/views/file/mod.rs:216:12 [INFO] [stderr] | [INFO] [stderr] 216 | if offset < 0 || [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_comparisons)] on by default [INFO] [stderr] [INFO] [stderr] error: this comparison involving the minimum or maximum element for this type contains a case that is always true or always false [INFO] [stderr] --> src/byt/views/file/mod.rs:216:12 [INFO] [stderr] | [INFO] [stderr] 216 | if offset < 0 || [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::absurd_extreme_comparisons)] on by default [INFO] [stderr] = help: because 0 is the minimum value for this type, this comparison is always false [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#absurd_extreme_comparisons [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:225:13 [INFO] [stderr] | [INFO] [stderr] 225 | self.set_cursor(cursor - cmp::min(num_bytes, cursor - (offset + num_bytes))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:292:9 [INFO] [stderr] | [INFO] [stderr] 292 | self.set_cursor(offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:298:9 [INFO] [stderr] | [INFO] [stderr] 298 | self.set_cursor(offset); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:308:9 [INFO] [stderr] | [INFO] [stderr] 308 | self.set_cursor(offset + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:352:9 [INFO] [stderr] | [INFO] [stderr] 352 | self.set_cursor(dest_column + line_start); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:369:9 [INFO] [stderr] | [INFO] [stderr] 369 | self.set_cursor(current - 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:381:9 [INFO] [stderr] | [INFO] [stderr] 381 | self.set_cursor(current + 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/byt/views/file/mod.rs:391:23 [INFO] [stderr] | [INFO] [stderr] 391 | let change = (-1 * (self.current_line().number() as i64)) + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:406:9 [INFO] [stderr] | [INFO] [stderr] 406 | self.set_viewport_top(dest_index); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:500:13 [INFO] [stderr] | [INFO] [stderr] 500 | renderer.write(format!("{}", termion::clear::All).as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:533:17 [INFO] [stderr] | [INFO] [stderr] 533 | renderer.move_cursor(line_number as u16, 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:535:17 [INFO] [stderr] | [INFO] [stderr] 535 | renderer.write(&text); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/byt/views/file/mod.rs:541:25 [INFO] [stderr] | [INFO] [stderr] 541 | for line in next_line .. rows + 1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: use: `next_line..=rows` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:542:17 [INFO] [stderr] | [INFO] [stderr] 542 | renderer.move_cursor(line, 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:543:17 [INFO] [stderr] | [INFO] [stderr] 543 | renderer.write("~"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/views/file/mod.rs:550:9 [INFO] [stderr] | [INFO] [stderr] 550 | renderer.move_cursor(cursor_row, cursor_col); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mod.rs:45:9 [INFO] [stderr] | [INFO] [stderr] 45 | editor.render(&mut renderer, size); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mod.rs:62:9 [INFO] [stderr] | [INFO] [stderr] 62 | editor.target_mut().open(arguments.nth(1).unwrap().as_str()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mod.rs:64:9 [INFO] [stderr] | [INFO] [stderr] 64 | editor.target_mut().open_empty(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mod.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | / editor [INFO] [stderr] 68 | | .target_mut() [INFO] [stderr] 69 | | .current_file() [INFO] [stderr] 70 | | .unwrap() [INFO] [stderr] 71 | | .register_mutator(Box::new(Vym::new())); [INFO] [stderr] | |________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/byt/mod.rs:105:21 [INFO] [stderr] | [INFO] [stderr] 105 | editor.call_action(name.as_str(), key); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `byt`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "b15866d0e56eba91a10835bdbf9f9a9b70cceecfb8863e9f8e4537d76f358d0d"` [INFO] running `"docker" "rm" "-f" "b15866d0e56eba91a10835bdbf9f9a9b70cceecfb8863e9f8e4537d76f358d0d"` [INFO] [stdout] b15866d0e56eba91a10835bdbf9f9a9b70cceecfb8863e9f8e4537d76f358d0d