[INFO] cloning repository https://github.com/cfoust/byt
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cfoust/byt" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcfoust%2Fbyt", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcfoust%2Fbyt'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7fbf668fed1b1731e40d614d8f194f92f6b81e90
[INFO] testing cfoust/byt against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcfoust%2Fbyt" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cfoust/byt
[INFO] finished tweaking git repo https://github.com/cfoust/byt
[INFO] tweaked toml for git repo https://github.com/cfoust/byt written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cfoust/byt on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cfoust/byt already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 3caffd3829840bd56a774367761f10caaa316f22ac919e32ef4023f1b1135a10
[INFO] running `Command { std: "docker" "start" "-a" "3caffd3829840bd56a774367761f10caaa316f22ac919e32ef4023f1b1135a10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3caffd3829840bd56a774367761f10caaa316f22ac919e32ef4023f1b1135a10", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3caffd3829840bd56a774367761f10caaa316f22ac919e32ef4023f1b1135a10", kill_on_drop: false }`
[INFO] [stdout] 3caffd3829840bd56a774367761f10caaa316f22ac919e32ef4023f1b1135a10
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e7f3965188ae27573dacef94e04be415cbbbb975502eaff7819ef1d4b6753c5b
[INFO] running `Command { std: "docker" "start" "-a" "e7f3965188ae27573dacef94e04be415cbbbb975502eaff7819ef1d4b6753c5b", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.22
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling lazy_static v0.2.9
[INFO] [stderr]    Compiling regex-syntax v0.4.1
[INFO] [stderr]    Compiling utf8-ranges v1.0.0
[INFO] [stderr]    Compiling unreachable v1.0.0
[INFO] [stderr]    Compiling thread_local v0.3.4
[INFO] [stderr]    Compiling memchr v1.0.1
[INFO] [stderr]    Compiling termion v1.5.1
[INFO] [stderr]    Compiling aho-corasick v0.6.3
[INFO] [stderr]    Compiling regex v0.2.2
[INFO] [stderr]    Compiling byt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `termion::cursor::Goto`
[INFO] [stdout]   --> src/byt/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use termion::cursor::Goto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ErrorKind` and `Error`
[INFO] [stdout]   --> src/byt/editor/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 11 |     ErrorKind
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::vec::Drain`
[INFO] [stdout]   --> src/byt/editor/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::vec::Drain;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::vec::Drain`
[INFO] [stdout]   --> src/byt/editor/mutator.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::vec::Drain;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::DerefMut`
[INFO] [stdout]   --> src/byt/editor/mutator.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::ops::DerefMut;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/byt/editor/tests.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::mutator::Scope`
[INFO] [stdout]  --> src/byt/editor/tests.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::mutator::Scope;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `byt::editor::Action`
[INFO] [stdout]   --> src/byt/events.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use byt::editor::Action;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/byt/io/binds/tests.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result`
[INFO] [stdout]   --> src/byt/io/file/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Result,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arrow`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 | use byt::io::binds::{Arrow, Keymaster, KeyInput};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ErrorKind` and `Error`
[INFO] [stdout]  --> src/byt/render/terminal.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{Write, ErrorKind, Error, Result};
[INFO] [stdout]   |                      ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byt/render/mod.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn move_cursor(&mut self, u16, u16) -> Result<()>;
[INFO] [stdout]    |                               ^^^ help: try naming the parameter or explicitly ignoring it: `_: u16`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byt/render/mod.rs:37:36
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn move_cursor(&mut self, u16, u16) -> Result<()>;
[INFO] [stdout]    |                                    ^^^ help: try naming the parameter or explicitly ignoring it: `_: u16`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byt/render/mod.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn write(&mut self, &str) -> Result<()>;
[INFO] [stdout]    |                         ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/byt/views/file/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> src/byt/views/file/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Seek`
[INFO] [stdout]   --> src/byt/views/file/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::io::Seek;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::SeekFrom`
[INFO] [stdout]   --> src/byt/views/file/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::io::SeekFrom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `ErrorKind`, and `Error`
[INFO] [stdout]   --> src/byt/views/file/mod.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::{BufReader, ErrorKind, Error, Result};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> src/byt/views/file/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mutator`
[INFO] [stdout]   --> src/byt/views/file/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     mutator
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/byt/views/file/mod.rs:338:30
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let num_lines      = (self.lines.len() as i64);
[INFO] [stdout]     |                              ^                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 338 -         let num_lines      = (self.lines.len() as i64);
[INFO] [stdout] 338 +         let num_lines      = self.lines.len() as i64;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `byt::io::file`
[INFO] [stdout]   --> src/byt/mod.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use byt::io::file;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/byt/editor/mutator.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map : HashMap<String, Box<Fn(&mut S, &mut T, Key) + 'a>>,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map : HashMap<String, Box<dyn Fn(&mut S, &mut T, Key) + 'a>>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/byt/editor/mutator.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 |     mutators : Vec<Box<Mutator<T>>>,
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 110 |     mutators : Vec<Box<dyn Mutator<T>>>,
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/byt/editor/mod.rs:56:24
[INFO] [stdout]    |
[INFO] [stdout] 56 |     mutators : Vec<Box<mutator::Mutator<Editor>>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     mutators : Vec<Box<dyn mutator::Mutator<Editor>>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/byt/render/terminal.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 |     out : &'a mut Write
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     out : &'a mut dyn Write
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/byt/editor/mutator.rs:105:50
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn register_mutator(&mut self, mutator : Box<Mutator<T>>) -> io::Result<()>;
[INFO] [stdout]     |                                                  ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn register_mutator(&mut self, mutator : Box<dyn Mutator<T>>) -> io::Result<()>;
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/byt/render/mod.rs:27:42
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn render(&mut self, renderer : &mut Renderer, size : (u16, u16)) -> Result<()>;
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn render(&mut self, renderer : &mut dyn Renderer, size : (u16, u16)) -> Result<()>;
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/byt/editor/mutator.rs:182:42
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn render(&mut self, renderer : &mut dyn render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/byt/editor/mutator.rs:205:50
[INFO] [stdout]     |
[INFO] [stdout] 205 |     fn register_mutator(&mut self, mutator : Box<Mutator<T>>) -> io::Result<()> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 205 |     fn register_mutator(&mut self, mutator : Box<dyn Mutator<T>>) -> io::Result<()> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:209:42
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn render(&mut self, renderer : &mut dyn render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/byt/render/terminal.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(out : &'a mut Write) -> TermRenderer {
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(out : &'a mut dyn Write) -> TermRenderer {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/byt/editor/mod.rs:116:42
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn render(&mut self, renderer : &mut dyn render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/byt/views/file/mod.rs:484:42
[INFO] [stdout]     |
[INFO] [stdout] 484 |     fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> Result<()> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 484 |     fn render(&mut self, renderer : &mut dyn render::Renderer, size : (u16, u16)) -> Result<()> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/byt/mod.rs:40:33
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn render(mut screen : &mut Write, editor : &mut MutatePair<Editor>) {
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn render(mut screen : &mut dyn Write, editor : &mut MutatePair<Editor>) {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/byt/editor/mutator.rs:72:79
[INFO] [stdout]    |
[INFO] [stdout] 72 |         self.map.insert(String::from(name.as_ref()), Box::new(closure) as Box<Fn(&mut S, &mut T, Key) + 'a>);
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |         self.map.insert(String::from(name.as_ref()), Box::new(closure) as Box<dyn Fn(&mut S, &mut T, Key) + 'a>);
[INFO] [stdout]    |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/editor/mutator.rs:136:13
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let mut mutator = self.mutators
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/byt/editor/mod.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 |             let mut file = self.current_file().unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let mut table = self.get_table_by_id(id).unwrap();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:298:21
[INFO] [stdout]     |
[INFO] [stdout] 298 |                 let mut table = self.get_table_by_id(max_id).unwrap();
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:329:25
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     let mut table = self.get_table_by_id(last).unwrap();
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:323:21
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 for key in rest.iter() {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last`
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:387:22
[INFO] [stdout]     |
[INFO] [stdout] 387 |         let (prefix, last) = sequence.split_at(sequence.len() - 1);
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let mut action : Arrow;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delete_size`
[INFO] [stdout]    --> src/byt/io/file/mod.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let delete_size  = ((end_index - start_index) as usize) + 1;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delete_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `piece_start_offset`
[INFO] [stdout]    --> src/byt/io/file/mod.rs:404:13
[INFO] [stdout]     |
[INFO] [stdout] 404 |         let piece_start_offset = piece.logical_offset;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_start_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/io/file/mod.rs:527:13
[INFO] [stdout]     |
[INFO] [stdout] 527 |         let mut text : Box<String>;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/io/file/mod.rs:601:13
[INFO] [stdout]     |
[INFO] [stdout] 601 |         let mut num_bytes = num_bytes;
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_index`
[INFO] [stdout]    --> src/byt/io/file/mod.rs:724:13
[INFO] [stdout]     |
[INFO] [stdout] 724 |         let last_index   = index + action.pieces.len() - 1;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut normal = &mut vym.normal;
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut insert = &mut vym.insert;
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut rust   = &mut vym.rust;
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:144:37
[INFO] [stdout]     |
[INFO] [stdout] 144 |     rust.register("vym.backspace", |state, target, key| {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:144:52
[INFO] [stdout]     |
[INFO] [stdout] 144 |     rust.register("vym.backspace", |state, target, key| {
[INFO] [stdout]     |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:129:41
[INFO] [stdout]     |
[INFO] [stdout] 129 |     rust.register("vym.normal", |state, target, key| {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:129:49
[INFO] [stdout]     |
[INFO] [stdout] 129 |     rust.register("vym.normal", |state, target, key| {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:118:39
[INFO] [stdout]     |
[INFO] [stdout] 118 |     rust.register("vym.insert_char", |state, target, key| {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:114:41
[INFO] [stdout]     |
[INFO] [stdout] 114 |     rust.register("vym.insert", |state, target, key| {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:114:49
[INFO] [stdout]     |
[INFO] [stdout] 114 |     rust.register("vym.insert", |state, target, key| {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:106:39
[INFO] [stdout]     |
[INFO] [stdout] 106 |     rust.register("vym.delete_line", |state, target, key| {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:106:54
[INFO] [stdout]     |
[INFO] [stdout] 106 |     rust.register("vym.delete_line", |state, target, key| {
[INFO] [stdout]     |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:100:41
[INFO] [stdout]     |
[INFO] [stdout] 100 |     rust.register("vym.to_file_start", |state, target, key| {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:100:56
[INFO] [stdout]     |
[INFO] [stdout] 100 |     rust.register("vym.to_file_start", |state, target, key| {
[INFO] [stdout]     |                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:95:39
[INFO] [stdout]    |
[INFO] [stdout] 95 |     rust.register("vym.to_file_end", |state, target, key| {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:95:54
[INFO] [stdout]    |
[INFO] [stdout] 95 |     rust.register("vym.to_file_end", |state, target, key| {
[INFO] [stdout]    |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:90:41
[INFO] [stdout]    |
[INFO] [stdout] 90 |     rust.register("vym.viewport_down", |state, target, key| {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:90:56
[INFO] [stdout]    |
[INFO] [stdout] 90 |     rust.register("vym.viewport_down", |state, target, key| {
[INFO] [stdout]    |                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |     rust.register("vym.viewport_up", |state, target, key| {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:85:54
[INFO] [stdout]    |
[INFO] [stdout] 85 |     rust.register("vym.viewport_up", |state, target, key| {
[INFO] [stdout]    |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 |     rust.register("vym.$", |state, target, key| {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:79:44
[INFO] [stdout]    |
[INFO] [stdout] 79 |     rust.register("vym.$", |state, target, key| {
[INFO] [stdout]    |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:73:29
[INFO] [stdout]    |
[INFO] [stdout] 73 |     rust.register("vym.0", |state, target, key| {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:73:44
[INFO] [stdout]    |
[INFO] [stdout] 73 |     rust.register("vym.0", |state, target, key| {
[INFO] [stdout]    |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:66:50
[INFO] [stdout]    |
[INFO] [stdout] 66 |     rust.register("vym.prepend", |state, target, key| {
[INFO] [stdout]    |                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:59:49
[INFO] [stdout]    |
[INFO] [stdout] 59 |     rust.register("vym.append", |state, target, key| {
[INFO] [stdout]    |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:53:30
[INFO] [stdout]    |
[INFO] [stdout] 53 |     rust.register("vym.up", |state, target, key| {
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:53:45
[INFO] [stdout]    |
[INFO] [stdout] 53 |     rust.register("vym.up", |state, target, key| {
[INFO] [stdout]    |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 |     rust.register("vym.down", |state, target, key| {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:48:47
[INFO] [stdout]    |
[INFO] [stdout] 48 |     rust.register("vym.down", |state, target, key| {
[INFO] [stdout]    |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:43:32
[INFO] [stdout]    |
[INFO] [stdout] 43 |     rust.register("vym.left", |state, target, key| {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:43:47
[INFO] [stdout]    |
[INFO] [stdout] 43 |     rust.register("vym.left", |state, target, key| {
[INFO] [stdout]    |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 |     rust.register("vym.right", |state, target, key| {
[INFO] [stdout]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:38:48
[INFO] [stdout]    |
[INFO] [stdout] 38 |     rust.register("vym.right", |state, target, key| {
[INFO] [stdout]    |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `renderer`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:209:26
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stdout]     |                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_renderer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:210:14
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let (rows, cols) = size;
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:210:20
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let (rows, cols) = size;
[INFO] [stdout]     |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:142:14
[INFO] [stdout]     |
[INFO] [stdout] 142 |         for (index, byte) in text.char_indices() {
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `index` is assigned to, but never used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let mut index = 0;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_index` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index` is never read
[INFO] [stdout]    --> src/byt/views/file/mod.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |             index += 1;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:235:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let mut offset : usize;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let mut length : usize;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `offset` is assigned to, but never used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |         let mut offset = self.cursor_offset;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_offset` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `offset` is never read
[INFO] [stdout]    --> src/byt/views/file/mod.rs:319:13
[INFO] [stdout]     |
[INFO] [stdout] 319 |             offset += 1;
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_end_chars`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:344:13
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let last_end_chars = self.lines[last].line_ending_length;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_end_chars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_end`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:345:13
[INFO] [stdout]     |
[INFO] [stdout] 345 |         let last_end       = self.lines[last].end();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:478:27
[INFO] [stdout]     |
[INFO] [stdout] 478 |     fn consume(&mut self, key : Key) -> Option<()> {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/views/file/mod.rs:492:13
[INFO] [stdout]     |
[INFO] [stdout] 492 |         let mut cursor_offset = self.cursor_offset;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:485:14
[INFO] [stdout]     |
[INFO] [stdout] 485 |         let (cols, rows) = size;
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bottom`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:487:13
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let bottom       = cmp::min(top + (rows as usize) - 1, self.lines.len());
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bottom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/byt/mod.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut stdout = stdout().into_raw_mode().unwrap();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]   --> src/byt/mod.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let sender = sender.clone();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `byt::io::file::Action` is more private than the item `PieceFile::_insert`
[INFO] [stdout]    --> src/byt/io/file/mod.rs:317:5
[INFO] [stdout]     |
[INFO] [stdout] 317 |     pub fn _insert(&mut self, text : &str, offset : usize) -> Action {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `PieceFile::_insert` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `byt::io::file::Action` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/byt/io/file/mod.rs:83:1
[INFO] [stdout]     |
[INFO] [stdout]  83 | struct Action {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `There` is never constructed
[INFO] [stdout]   --> src/byt/editor/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum Action {
[INFO] [stdout]    |          ------ variant in this enum
[INFO] [stdout] 28 |     Mutator(String),
[INFO] [stdout] 29 |     There(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Action` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mutators` and `should_render` are never read
[INFO] [stdout]   --> src/byt/editor/mod.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Editor {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 56 |     mutators : Vec<Box<mutator::Mutator<Editor>>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     should_render : bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `state_mut` is never used
[INFO] [stdout]   --> src/byt/editor/mutator.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl<'a, S, T> RustScope<'a, S, T> {
[INFO] [stdout]    | ---------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn state_mut(&mut self) -> &mut S {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `target` is never used
[INFO] [stdout]    --> src/byt/editor/mutator.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | / impl<T> MutatePair<T>
[INFO] [stdout] 115 | |     where T: KeyInput + Actionable + Renderable {
[INFO] [stdout]     | |_______________________________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |       pub fn target(&self) -> &T {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Nothing` is never constructed
[INFO] [stdout]   --> src/byt/events.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Event {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |     Nothing
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Root` is never constructed
[INFO] [stdout]   --> src/byt/io/binds/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum Arrow {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 32 |     Root,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arrow` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/byt/io/binds/mod.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl Binding {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 54 |     pub fn new(key : Key, result : Arrow) -> Binding {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_id`, `unbind`, and `len` are never used
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:94:8
[INFO] [stdout]     |
[INFO] [stdout]  74 | impl BindingTable {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  94 |     fn get_id(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn unbind(&mut self, key : Key) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_prefix`, `bind_wildcard`, `unbind`, and `get_arrow` are never used
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:201:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Keymaster {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 201 |     fn get_prefix<T: AsRef<[Key]>>(&mut self, sequence : T) -> Option<&mut BindingTable> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 385 |     pub fn bind_wildcard<T: AsRef<[Key]>>(&mut self, sequence : T, action : &str) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 398 |     pub fn unbind<T: AsRef<[Key]>>(&mut self, sequence : T) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 436 |     pub fn get_arrow<T: AsRef<[Key]>>(&mut self, sequence : T) -> Option<&Arrow> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/byt/io/file/mod.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct Action {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 98 |     timestamp : time::Instant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Action` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save`, `save_as`, `is_empty`, `merge_pieces`, `redo`, and `undo` are never used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:522:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | impl PieceFile {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 522 |     pub fn save(&mut self) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 541 |     pub fn save_as(&mut self, filename : &str) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 692 |     fn merge_pieces(&mut self, index : usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 716 |     pub fn redo(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 755 |     pub fn undo(&mut self) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_file` is never used
[INFO] [stdout]   --> src/byt/mutators/vym/tests.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn make_file() -> MutatePair<FileView> {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/byt/render/mod.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Point {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size`, `down`, `right`, `left`, and `up` are never used
[INFO] [stdout]   --> src/byt/render/mod.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub trait Renderer {
[INFO] [stdout]    |           -------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn size(&mut self) -> Result<(u16, u16)>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn down(&mut self) -> Result<()>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     fn right(&mut self) -> Result<()>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn left(&mut self) -> Result<()>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn up(&mut self) -> Result<()>;
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `keys` are never read
[INFO] [stdout]    --> src/byt/views/file/mod.rs:93:5
[INFO] [stdout]     |
[INFO] [stdout]  91 | pub struct FileView {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout]  92 |     /// The path to the file this FileView references.
[INFO] [stdout]  93 |     path : Option<String>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     keys : Keymaster,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `file`, `file_mut`, `get_line`, `insert_str`, and `len` are never used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl FileView {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 269 |     pub fn file(&self) -> &PieceFile {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn file_mut(&mut self) -> &mut PieceFile {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn get_line(&self, number : usize) -> Option<&Line> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn insert_str<N: AsRef<str>>(&mut self, text: N) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `make_file` is never used
[INFO] [stdout]  --> src/byt/views/file/tests.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn make_file() -> FileView {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mod.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         editor.render(&mut renderer, size);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let _ = editor.render(&mut renderer, size);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mod.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         editor.target_mut().open(arguments.nth(1).unwrap().as_str());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let _ = editor.target_mut().open(arguments.nth(1).unwrap().as_str());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mod.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         editor.target_mut().open_empty();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let _ = editor.target_mut().open_empty();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mod.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | /     editor
[INFO] [stdout] 68 | |         .target_mut()
[INFO] [stdout] 69 | |         .current_file()
[INFO] [stdout] 70 | |         .unwrap()
[INFO] [stdout] 71 | |         .register_mutator(Box::new(Vym::new()));
[INFO] [stdout]    | |_______________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let _ = editor
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/mod.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     editor.call_action(name.as_str(), key);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     let _ = editor.call_action(name.as_str(), key);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/editor/mod.rs:103:25
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         file.call_action(name.as_str(), key);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         let _ = file.call_action(name.as_str(), key);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/editor/mutator.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |         self.target.render(renderer, size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let _ = self.target.render(renderer, size);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/editor/mutator.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |             mutator.render(renderer, size);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let _ = mutator.render(renderer, size);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:330:21
[INFO] [stdout]     |
[INFO] [stdout] 330 |                     table.bind(*key, Arrow::Table(current));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 330 |                     let _ = table.bind(*key, Arrow::Table(current));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:419:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |             table.unbind(key);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 419 |             let _ = table.unbind(key);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 | /         write!(f, "op={:?} {}+{} down={} up={}\n",
[INFO] [stdout] 104 | |                self.op,
[INFO] [stdout] 105 | |                self.offset,
[INFO] [stdout] 106 | |                self.length,
[INFO] [stdout] 107 | |                self.merge_down,
[INFO] [stdout] 108 | |                self.merge_up);
[INFO] [stdout]     | |_____________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let _ = write!(f, "op={:?} {}+{} down={} up={}\n",
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         write!(f, "action pieces\n");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let _ = write!(f, "action pieces\n");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             write!(f, "{}\n", piece);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let _ = write!(f, "{}\n", piece);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         write!(f, "PieceFile\n");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let _ = write!(f, "PieceFile\n");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         write!(f, "history_offset={}\n", self.history_offset);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let _ = write!(f, "history_offset={}\n", self.history_offset);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         write!(f, "length={}\n", self.length);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let _ = write!(f, "length={}\n", self.length);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         write!(f, "offset={}\n", self.offset);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let _ = write!(f, "offset={}\n", self.offset);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         write!(f, "piece_table len({})\n", self.piece_table.len());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let _ = write!(f, "piece_table len({})\n", self.piece_table.len());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |             write!(f, "{}\n", piece);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let _ = write!(f, "{}\n", piece);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/byt/io/file/mod.rs:414:28
[INFO] [stdout]     |
[INFO] [stdout] 414 |                       panic!(format!("Attempting to read more bytes than possible: {} > {}",
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 415 | |                                    append_end_offset,
[INFO] [stdout] 416 | |                                    append_bytes.len()));
[INFO] [stdout]     | |______________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                     panic!("Attempting to read more bytes than possible: {} > {}",
[INFO] [stdout] 415 |                                    append_end_offset,
[INFO] [stdout] 416 ~                                    append_bytes.len());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:432:17
[INFO] [stdout]     |
[INFO] [stdout] 432 |                 reader.seek(SeekFrom::Start(piece.logical_to_file(offset) as u64));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 |                 let _ = reader.seek(SeekFrom::Start(piece.logical_to_file(offset) as u64));
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:686:9
[INFO] [stdout]     |
[INFO] [stdout] 686 |         self.seek(SeekFrom::Start(offset as u64));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 686 |         let _ = self.seek(SeekFrom::Start(offset as u64));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     normal.bind_action([Key::Char('l')], "vym.right");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let _ = normal.bind_action([Key::Char('l')], "vym.right");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     normal.bind_action([Key::Char('h')], "vym.left");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let _ = normal.bind_action([Key::Char('h')], "vym.left");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     normal.bind_action([Key::Char('j')], "vym.down");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let _ = normal.bind_action([Key::Char('j')], "vym.down");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     normal.bind_action([Key::Char('k')], "vym.up");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let _ = normal.bind_action([Key::Char('k')], "vym.up");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     normal.bind_action([Key::Char('A')], "vym.append");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let _ = normal.bind_action([Key::Char('A')], "vym.append");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     normal.bind_action([Key::Char('I')], "vym.prepend");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let _ = normal.bind_action([Key::Char('I')], "vym.prepend");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     normal.bind_action([Key::Char('0')], "vym.0");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let _ = normal.bind_action([Key::Char('0')], "vym.0");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     normal.bind_action([Key::Char('$')], "vym.$");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let _ = normal.bind_action([Key::Char('$')], "vym.$");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     normal.bind_action([Key::Ctrl('y')], "vym.viewport_up");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let _ = normal.bind_action([Key::Ctrl('y')], "vym.viewport_up");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     normal.bind_action([Key::Ctrl('e')], "vym.viewport_down");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let _ = normal.bind_action([Key::Ctrl('e')], "vym.viewport_down");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     normal.bind_action([Key::Char('G')], "vym.to_file_end");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let _ = normal.bind_action([Key::Char('G')], "vym.to_file_end");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     normal.bind_action([Key::Char('g'), Key::Char('g')], "vym.to_file_start");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let _ = normal.bind_action([Key::Char('g'), Key::Char('g')], "vym.to_file_start");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     normal.bind_action([Key::Char('d'), Key::Char('d')], "vym.delete_line");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let _ = normal.bind_action([Key::Char('d'), Key::Char('d')], "vym.delete_line");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     normal.bind_action([Key::Char('i')], "vym.insert");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let _ = normal.bind_action([Key::Char('i')], "vym.insert");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     insert.bind_action([Key::Ctrl('c')], "vym.normal");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let _ = insert.bind_action([Key::Ctrl('c')], "vym.normal");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     insert.bind_action([Key::Esc], "vym.normal");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let _ = insert.bind_action([Key::Esc], "vym.normal");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     insert.bind_action([Key::Backspace], "vym.backspace");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let _ = insert.bind_action([Key::Backspace], "vym.backspace");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/tests.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     file.register_mutator(Box::new(Vym::new()));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let _ = file.register_mutator(Box::new(Vym::new()));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/byt/render/terminal.rs:22:40
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(out : &'a mut Write) -> TermRenderer {
[INFO] [stdout]    |                       --               ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(out : &'a mut Write) -> TermRenderer<'a> {
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/byt/views/file/mod.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 216 |         if offset < 0 ||
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |             self.set_cursor(cursor - cmp::min(num_bytes, cursor - (offset + num_bytes)));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 225 |             let _ = self.set_cursor(cursor - cmp::min(num_bytes, cursor - (offset + num_bytes)));
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 292 |         self.set_cursor(offset);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let _ = self.set_cursor(offset);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:298:9
[INFO] [stdout]     |
[INFO] [stdout] 298 |         self.set_cursor(offset);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let _ = self.set_cursor(offset);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |         self.set_cursor(offset + 1);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 308 |         let _ = self.set_cursor(offset + 1);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:352:9
[INFO] [stdout]     |
[INFO] [stdout] 352 |         self.set_cursor(dest_column + line_start);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 352 |         let _ = self.set_cursor(dest_column + line_start);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:369:9
[INFO] [stdout]     |
[INFO] [stdout] 369 |         self.set_cursor(current - 1);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let _ = self.set_cursor(current - 1);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:381:9
[INFO] [stdout]     |
[INFO] [stdout] 381 |         self.set_cursor(current + 1);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let _ = self.set_cursor(current + 1);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:406:9
[INFO] [stdout]     |
[INFO] [stdout] 406 |         self.set_viewport_top(dest_index);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 406 |         let _ = self.set_viewport_top(dest_index);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:500:13
[INFO] [stdout]     |
[INFO] [stdout] 500 |             renderer.write(format!("{}", termion::clear::All).as_str());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 500 |             let _ = renderer.write(format!("{}", termion::clear::All).as_str());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:533:17
[INFO] [stdout]     |
[INFO] [stdout] 533 |                 renderer.move_cursor(line_number as u16, 1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 533 |                 let _ = renderer.move_cursor(line_number as u16, 1);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:535:17
[INFO] [stdout]     |
[INFO] [stdout] 535 |                 renderer.write(&text);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 535 |                 let _ = renderer.write(&text);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:542:17
[INFO] [stdout]     |
[INFO] [stdout] 542 |                 renderer.move_cursor(line, 1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 542 |                 let _ = renderer.move_cursor(line, 1);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:543:17
[INFO] [stdout]     |
[INFO] [stdout] 543 |                 renderer.write("~");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 543 |                 let _ = renderer.write("~");
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:550:9
[INFO] [stdout]     |
[INFO] [stdout] 550 |         renderer.move_cursor(cursor_row, cursor_col);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 550 |         let _ = renderer.move_cursor(cursor_row, cursor_col);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.43s
[INFO] running `Command { std: "docker" "inspect" "e7f3965188ae27573dacef94e04be415cbbbb975502eaff7819ef1d4b6753c5b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7f3965188ae27573dacef94e04be415cbbbb975502eaff7819ef1d4b6753c5b", kill_on_drop: false }`
[INFO] [stdout] e7f3965188ae27573dacef94e04be415cbbbb975502eaff7819ef1d4b6753c5b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 55b79f64d5d3254fdecaa4e646a540ced864f10cc75151c318d797a6795d26f2
[INFO] running `Command { std: "docker" "start" "-a" "55b79f64d5d3254fdecaa4e646a540ced864f10cc75151c318d797a6795d26f2", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling byt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `termion::cursor::Goto`
[INFO] [stdout]   --> src/byt/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use termion::cursor::Goto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ErrorKind` and `Error`
[INFO] [stdout]   --> src/byt/editor/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Error,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 11 |     ErrorKind
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::vec::Drain`
[INFO] [stdout]   --> src/byt/editor/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::vec::Drain;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::vec::Drain`
[INFO] [stdout]   --> src/byt/editor/mutator.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::vec::Drain;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::DerefMut`
[INFO] [stdout]   --> src/byt/editor/mutator.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::ops::DerefMut;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `byt::editor::Action`
[INFO] [stdout]   --> src/byt/events.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use byt::editor::Action;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Result`
[INFO] [stdout]   --> src/byt/io/file/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Result,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arrow`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 | use byt::io::binds::{Arrow, Keymaster, KeyInput};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ErrorKind` and `Error`
[INFO] [stdout]  --> src/byt/render/terminal.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{Write, ErrorKind, Error, Result};
[INFO] [stdout]   |                      ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byt/render/mod.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn move_cursor(&mut self, u16, u16) -> Result<()>;
[INFO] [stdout]    |                               ^^^ help: try naming the parameter or explicitly ignoring it: `_: u16`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byt/render/mod.rs:37:36
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn move_cursor(&mut self, u16, u16) -> Result<()>;
[INFO] [stdout]    |                                    ^^^ help: try naming the parameter or explicitly ignoring it: `_: u16`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byt/render/mod.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn write(&mut self, &str) -> Result<()>;
[INFO] [stdout]    |                         ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/byt/views/file/mod.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> src/byt/views/file/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Seek`
[INFO] [stdout]   --> src/byt/views/file/mod.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::io::Seek;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::SeekFrom`
[INFO] [stdout]   --> src/byt/views/file/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::io::SeekFrom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufReader`, `ErrorKind`, and `Error`
[INFO] [stdout]   --> src/byt/views/file/mod.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::{BufReader, ErrorKind, Error, Result};
[INFO] [stdout]    |               ^^^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]   --> src/byt/views/file/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::io;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> src/byt/views/file/tests.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::*;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mutator`
[INFO] [stdout]   --> src/byt/views/file/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     mutator
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/byt/views/file/mod.rs:338:30
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let num_lines      = (self.lines.len() as i64);
[INFO] [stdout]     |                              ^                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 338 -         let num_lines      = (self.lines.len() as i64);
[INFO] [stdout] 338 +         let num_lines      = self.lines.len() as i64;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `byt::io::file`
[INFO] [stdout]   --> src/byt/mod.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use byt::io::file;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/byt/editor/mutator.rs:48:31
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map : HashMap<String, Box<Fn(&mut S, &mut T, Key) + 'a>>,
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     map : HashMap<String, Box<dyn Fn(&mut S, &mut T, Key) + 'a>>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/byt/editor/mutator.rs:110:24
[INFO] [stdout]     |
[INFO] [stdout] 110 |     mutators : Vec<Box<Mutator<T>>>,
[INFO] [stdout]     |                        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 110 |     mutators : Vec<Box<dyn Mutator<T>>>,
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/byt/editor/mod.rs:56:24
[INFO] [stdout]    |
[INFO] [stdout] 56 |     mutators : Vec<Box<mutator::Mutator<Editor>>>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 56 |     mutators : Vec<Box<dyn mutator::Mutator<Editor>>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/byt/render/terminal.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 |     out : &'a mut Write
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     out : &'a mut dyn Write
[INFO] [stdout]    |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/byt/editor/mutator.rs:105:50
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn register_mutator(&mut self, mutator : Box<Mutator<T>>) -> io::Result<()>;
[INFO] [stdout]     |                                                  ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn register_mutator(&mut self, mutator : Box<dyn Mutator<T>>) -> io::Result<()>;
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/byt/render/mod.rs:27:42
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn render(&mut self, renderer : &mut Renderer, size : (u16, u16)) -> Result<()>;
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn render(&mut self, renderer : &mut dyn Renderer, size : (u16, u16)) -> Result<()>;
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/byt/editor/mutator.rs:182:42
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn render(&mut self, renderer : &mut dyn render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/byt/editor/mutator.rs:205:50
[INFO] [stdout]     |
[INFO] [stdout] 205 |     fn register_mutator(&mut self, mutator : Box<Mutator<T>>) -> io::Result<()> {
[INFO] [stdout]     |                                                  ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 205 |     fn register_mutator(&mut self, mutator : Box<dyn Mutator<T>>) -> io::Result<()> {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:209:42
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn render(&mut self, renderer : &mut dyn render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/byt/render/terminal.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(out : &'a mut Write) -> TermRenderer {
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(out : &'a mut dyn Write) -> TermRenderer {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/byt/editor/mod.rs:116:42
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn render(&mut self, renderer : &mut dyn render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/byt/views/file/mod.rs:484:42
[INFO] [stdout]     |
[INFO] [stdout] 484 |     fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> Result<()> {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 484 |     fn render(&mut self, renderer : &mut dyn render::Renderer, size : (u16, u16)) -> Result<()> {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/byt/mod.rs:40:33
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn render(mut screen : &mut Write, editor : &mut MutatePair<Editor>) {
[INFO] [stdout]    |                                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn render(mut screen : &mut dyn Write, editor : &mut MutatePair<Editor>) {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/byt/editor/mutator.rs:72:79
[INFO] [stdout]    |
[INFO] [stdout] 72 |         self.map.insert(String::from(name.as_ref()), Box::new(closure) as Box<Fn(&mut S, &mut T, Key) + 'a>);
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |         self.map.insert(String::from(name.as_ref()), Box::new(closure) as Box<dyn Fn(&mut S, &mut T, Key) + 'a>);
[INFO] [stdout]    |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/editor/mutator.rs:136:13
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let mut mutator = self.mutators
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/editor/tests.rs:13:27
[INFO] [stdout]    |
[INFO] [stdout] 13 |     rust.register("foo", |state, target, c| {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/byt/editor/tests.rs:13:42
[INFO] [stdout]    |
[INFO] [stdout] 13 |     rust.register("foo", |state, target, c| {
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/byt/editor/tests.rs:26:34
[INFO] [stdout]    |
[INFO] [stdout] 26 |     rust.register("foo", |state, target, c| {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]   --> src/byt/editor/tests.rs:26:42
[INFO] [stdout]    |
[INFO] [stdout] 26 |     rust.register("foo", |state, target, c| {
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/byt/editor/mod.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 |             let mut file = self.current_file().unwrap();
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/byt/io/binds/tests.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |         let mut table = BindingTable::new(0);
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:205:17
[INFO] [stdout]     |
[INFO] [stdout] 205 |             let mut table = self.get_table_by_id(id).unwrap();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:298:21
[INFO] [stdout]     |
[INFO] [stdout] 298 |                 let mut table = self.get_table_by_id(max_id).unwrap();
[INFO] [stdout]     |                     ----^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:329:25
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     let mut table = self.get_table_by_id(last).unwrap();
[INFO] [stdout]     |                         ----^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:323:21
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 for key in rest.iter() {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last`
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:387:22
[INFO] [stdout]     |
[INFO] [stdout] 387 |         let (prefix, last) = sequence.split_at(sequence.len() - 1);
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:479:13
[INFO] [stdout]     |
[INFO] [stdout] 479 |         let mut action : Arrow;
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delete_size`
[INFO] [stdout]    --> src/byt/io/file/mod.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let delete_size  = ((end_index - start_index) as usize) + 1;
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delete_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `piece_start_offset`
[INFO] [stdout]    --> src/byt/io/file/mod.rs:404:13
[INFO] [stdout]     |
[INFO] [stdout] 404 |         let piece_start_offset = piece.logical_offset;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_piece_start_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/io/file/mod.rs:527:13
[INFO] [stdout]     |
[INFO] [stdout] 527 |         let mut text : Box<String>;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/io/file/mod.rs:601:13
[INFO] [stdout]     |
[INFO] [stdout] 601 |         let mut num_bytes = num_bytes;
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_index`
[INFO] [stdout]    --> src/byt/io/file/mod.rs:724:13
[INFO] [stdout]     |
[INFO] [stdout] 724 |         let last_index   = index + action.pieces.len() - 1;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/byt/mutators/vym/tests.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let mut file = make_file();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]   --> src/byt/mutators/vym/tests.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let mut file = make_file();
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mut normal = &mut vym.normal;
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut insert = &mut vym.insert;
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |     let mut rust   = &mut vym.rust;
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:144:37
[INFO] [stdout]     |
[INFO] [stdout] 144 |     rust.register("vym.backspace", |state, target, key| {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:144:52
[INFO] [stdout]     |
[INFO] [stdout] 144 |     rust.register("vym.backspace", |state, target, key| {
[INFO] [stdout]     |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:129:41
[INFO] [stdout]     |
[INFO] [stdout] 129 |     rust.register("vym.normal", |state, target, key| {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:129:49
[INFO] [stdout]     |
[INFO] [stdout] 129 |     rust.register("vym.normal", |state, target, key| {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:118:39
[INFO] [stdout]     |
[INFO] [stdout] 118 |     rust.register("vym.insert_char", |state, target, key| {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:114:41
[INFO] [stdout]     |
[INFO] [stdout] 114 |     rust.register("vym.insert", |state, target, key| {
[INFO] [stdout]     |                                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:114:49
[INFO] [stdout]     |
[INFO] [stdout] 114 |     rust.register("vym.insert", |state, target, key| {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:106:39
[INFO] [stdout]     |
[INFO] [stdout] 106 |     rust.register("vym.delete_line", |state, target, key| {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:106:54
[INFO] [stdout]     |
[INFO] [stdout] 106 |     rust.register("vym.delete_line", |state, target, key| {
[INFO] [stdout]     |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:100:41
[INFO] [stdout]     |
[INFO] [stdout] 100 |     rust.register("vym.to_file_start", |state, target, key| {
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:100:56
[INFO] [stdout]     |
[INFO] [stdout] 100 |     rust.register("vym.to_file_start", |state, target, key| {
[INFO] [stdout]     |                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:95:39
[INFO] [stdout]    |
[INFO] [stdout] 95 |     rust.register("vym.to_file_end", |state, target, key| {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:95:54
[INFO] [stdout]    |
[INFO] [stdout] 95 |     rust.register("vym.to_file_end", |state, target, key| {
[INFO] [stdout]    |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:90:41
[INFO] [stdout]    |
[INFO] [stdout] 90 |     rust.register("vym.viewport_down", |state, target, key| {
[INFO] [stdout]    |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:90:56
[INFO] [stdout]    |
[INFO] [stdout] 90 |     rust.register("vym.viewport_down", |state, target, key| {
[INFO] [stdout]    |                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |     rust.register("vym.viewport_up", |state, target, key| {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:85:54
[INFO] [stdout]    |
[INFO] [stdout] 85 |     rust.register("vym.viewport_up", |state, target, key| {
[INFO] [stdout]    |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 |     rust.register("vym.$", |state, target, key| {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:79:44
[INFO] [stdout]    |
[INFO] [stdout] 79 |     rust.register("vym.$", |state, target, key| {
[INFO] [stdout]    |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:73:29
[INFO] [stdout]    |
[INFO] [stdout] 73 |     rust.register("vym.0", |state, target, key| {
[INFO] [stdout]    |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:73:44
[INFO] [stdout]    |
[INFO] [stdout] 73 |     rust.register("vym.0", |state, target, key| {
[INFO] [stdout]    |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:66:50
[INFO] [stdout]    |
[INFO] [stdout] 66 |     rust.register("vym.prepend", |state, target, key| {
[INFO] [stdout]    |                                                  ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:59:49
[INFO] [stdout]    |
[INFO] [stdout] 59 |     rust.register("vym.append", |state, target, key| {
[INFO] [stdout]    |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:53:30
[INFO] [stdout]    |
[INFO] [stdout] 53 |     rust.register("vym.up", |state, target, key| {
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:53:45
[INFO] [stdout]    |
[INFO] [stdout] 53 |     rust.register("vym.up", |state, target, key| {
[INFO] [stdout]    |                                             ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:48:32
[INFO] [stdout]    |
[INFO] [stdout] 48 |     rust.register("vym.down", |state, target, key| {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:48:47
[INFO] [stdout]    |
[INFO] [stdout] 48 |     rust.register("vym.down", |state, target, key| {
[INFO] [stdout]    |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:43:32
[INFO] [stdout]    |
[INFO] [stdout] 43 |     rust.register("vym.left", |state, target, key| {
[INFO] [stdout]    |                                ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:43:47
[INFO] [stdout]    |
[INFO] [stdout] 43 |     rust.register("vym.left", |state, target, key| {
[INFO] [stdout]    |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:38:33
[INFO] [stdout]    |
[INFO] [stdout] 38 |     rust.register("vym.right", |state, target, key| {
[INFO] [stdout]    |                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:38:48
[INFO] [stdout]    |
[INFO] [stdout] 38 |     rust.register("vym.right", |state, target, key| {
[INFO] [stdout]    |                                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `renderer`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:209:26
[INFO] [stdout]     |
[INFO] [stdout] 209 |     fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stdout]     |                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_renderer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rows`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:210:14
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let (rows, cols) = size;
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_rows`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:210:20
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let (rows, cols) = size;
[INFO] [stdout]     |                    ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/views/file/tests.rs:221:9
[INFO] [stdout]     |
[INFO] [stdout] 221 |     let mut file = FileView::new("testfiles/no_line_ending.txt").unwrap();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:142:14
[INFO] [stdout]     |
[INFO] [stdout] 142 |         for (index, byte) in text.char_indices() {
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `index` is assigned to, but never used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:200:13
[INFO] [stdout]     |
[INFO] [stdout] 200 |         let mut index = 0;
[INFO] [stdout]     |             ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_index` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `index` is never read
[INFO] [stdout]    --> src/byt/views/file/mod.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |             index += 1;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:235:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let mut offset : usize;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `length`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let mut length : usize;
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `offset` is assigned to, but never used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:316:13
[INFO] [stdout]     |
[INFO] [stdout] 316 |         let mut offset = self.cursor_offset;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_offset` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `offset` is never read
[INFO] [stdout]    --> src/byt/views/file/mod.rs:319:13
[INFO] [stdout]     |
[INFO] [stdout] 319 |             offset += 1;
[INFO] [stdout]     |             ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_end_chars`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:344:13
[INFO] [stdout]     |
[INFO] [stdout] 344 |         let last_end_chars = self.lines[last].line_ending_length;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_end_chars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `last_end`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:345:13
[INFO] [stdout]     |
[INFO] [stdout] 345 |         let last_end       = self.lines[last].end();
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_last_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:478:27
[INFO] [stdout]     |
[INFO] [stdout] 478 |     fn consume(&mut self, key : Key) -> Option<()> {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/byt/views/file/mod.rs:492:13
[INFO] [stdout]     |
[INFO] [stdout] 492 |         let mut cursor_offset = self.cursor_offset;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cols`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:485:14
[INFO] [stdout]     |
[INFO] [stdout] 485 |         let (cols, rows) = size;
[INFO] [stdout]     |              ^^^^ help: if this is intentional, prefix it with an underscore: `_cols`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bottom`
[INFO] [stdout]    --> src/byt/views/file/mod.rs:487:13
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let bottom       = cmp::min(top + (rows as usize) - 1, self.lines.len());
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bottom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/byt/mod.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     let mut stdout = stdout().into_raw_mode().unwrap();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sender`
[INFO] [stdout]   --> src/byt/mod.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let sender = sender.clone();
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `byt::io::file::Action` is more private than the item `byt::io::file::PieceFile::_insert`
[INFO] [stdout]    --> src/byt/io/file/mod.rs:317:5
[INFO] [stdout]     |
[INFO] [stdout] 317 |     pub fn _insert(&mut self, text : &str, offset : usize) -> Action {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `byt::io::file::PieceFile::_insert` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `byt::io::file::Action` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/byt/io/file/mod.rs:83:1
[INFO] [stdout]     |
[INFO] [stdout]  83 | struct Action {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `There` is never constructed
[INFO] [stdout]   --> src/byt/editor/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum Action {
[INFO] [stdout]    |          ------ variant in this enum
[INFO] [stdout] 28 |     Mutator(String),
[INFO] [stdout] 29 |     There(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Action` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `mutators` and `should_render` are never read
[INFO] [stdout]   --> src/byt/editor/mod.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Editor {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 56 |     mutators : Vec<Box<mutator::Mutator<Editor>>>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     should_render : bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `state_mut` is never used
[INFO] [stdout]   --> src/byt/editor/mutator.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl<'a, S, T> RustScope<'a, S, T> {
[INFO] [stdout]    | ---------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 66 |     pub fn state_mut(&mut self) -> &mut S {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `target` is never used
[INFO] [stdout]    --> src/byt/editor/mutator.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | / impl<T> MutatePair<T>
[INFO] [stdout] 115 | |     where T: KeyInput + Actionable + Renderable {
[INFO] [stdout]     | |_______________________________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 126 |       pub fn target(&self) -> &T {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Nothing` is never constructed
[INFO] [stdout]   --> src/byt/events.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum Event {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16 |     Nothing
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Root` is never constructed
[INFO] [stdout]   --> src/byt/io/binds/mod.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum Arrow {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 32 |     Root,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Arrow` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/byt/io/binds/mod.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | impl Binding {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 54 |     pub fn new(key : Key, result : Arrow) -> Binding {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_id` is never used
[INFO] [stdout]   --> src/byt/io/binds/mod.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl BindingTable {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 94 |     fn get_id(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `bind_wildcard` and `get_arrow` are never used
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:385:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Keymaster {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 385 |     pub fn bind_wildcard<T: AsRef<[Key]>>(&mut self, sequence : T, action : &str) -> io::Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 436 |     pub fn get_arrow<T: AsRef<[Key]>>(&mut self, sequence : T) -> Option<&Arrow> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timestamp` is never read
[INFO] [stdout]   --> src/byt/io/file/mod.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct Action {
[INFO] [stdout]    |        ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 98 |     timestamp : time::Instant,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Action` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `save`, `save_as`, and `is_empty` are never used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:522:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | impl PieceFile {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 522 |     pub fn save(&mut self) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 541 |     pub fn save_as(&mut self, filename : &str) -> io::Result<usize> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 556 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> src/byt/render/mod.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Point {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `size`, `down`, `right`, `left`, and `up` are never used
[INFO] [stdout]   --> src/byt/render/mod.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub trait Renderer {
[INFO] [stdout]    |           -------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 43 |     fn size(&mut self) -> Result<(u16, u16)>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn down(&mut self) -> Result<()>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     fn right(&mut self) -> Result<()>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fn left(&mut self) -> Result<()>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     fn up(&mut self) -> Result<()>;
[INFO] [stdout]    |        ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `keys` are never read
[INFO] [stdout]    --> src/byt/views/file/mod.rs:93:5
[INFO] [stdout]     |
[INFO] [stdout]  91 | pub struct FileView {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout]  92 |     /// The path to the file this FileView references.
[INFO] [stdout]  93 |     path : Option<String>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     keys : Keymaster,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `file`, `file_mut`, and `get_line` are never used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl FileView {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 269 |     pub fn file(&self) -> &PieceFile {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     pub fn file_mut(&mut self) -> &mut PieceFile {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn get_line(&self, number : usize) -> Option<&Line> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mod.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         editor.render(&mut renderer, size);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let _ = editor.render(&mut renderer, size);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mod.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         editor.target_mut().open(arguments.nth(1).unwrap().as_str());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let _ = editor.target_mut().open(arguments.nth(1).unwrap().as_str());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mod.rs:64:9
[INFO] [stdout]    |
[INFO] [stdout] 64 |         editor.target_mut().open_empty();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let _ = editor.target_mut().open_empty();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mod.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | /     editor
[INFO] [stdout] 68 | |         .target_mut()
[INFO] [stdout] 69 | |         .current_file()
[INFO] [stdout] 70 | |         .unwrap()
[INFO] [stdout] 71 | |         .register_mutator(Box::new(Vym::new()));
[INFO] [stdout]    | |_______________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let _ = editor
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/mod.rs:105:21
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     editor.call_action(name.as_str(), key);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 105 |                     let _ = editor.call_action(name.as_str(), key);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/editor/mod.rs:103:25
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         file.call_action(name.as_str(), key);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         let _ = file.call_action(name.as_str(), key);
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/editor/mutator.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |         self.target.render(renderer, size);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let _ = self.target.render(renderer, size);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/editor/mutator.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |             mutator.render(renderer, size);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 186 |             let _ = mutator.render(renderer, size);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/editor/tests.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     rust.call("foo", &mut bar, Key::Char('a'));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let _ = rust.call("foo", &mut bar, Key::Char('a'));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/editor/tests.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     rust.call("foo", &mut bar, Key::Char('a'));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let _ = rust.call("foo", &mut bar, Key::Char('a'));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:330:21
[INFO] [stdout]     |
[INFO] [stdout] 330 |                     table.bind(*key, Arrow::Table(current));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 330 |                     let _ = table.bind(*key, Arrow::Table(current));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/binds/mod.rs:419:13
[INFO] [stdout]     |
[INFO] [stdout] 419 |             table.unbind(key);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 419 |             let _ = table.unbind(key);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/io/binds/tests.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | /     master
[INFO] [stdout] 39 | |         .get_root()
[INFO] [stdout] 40 | |         .bind(Key::Char('a'), Arrow::Nothing);
[INFO] [stdout]    | |_____________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let _ = master
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/io/binds/tests.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     master.bind(seq, Arrow::Table(0));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let _ = master.bind(seq, Arrow::Table(0));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/io/binds/tests.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     master.bind(seq, Arrow::Table(0));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |     let _ = master.bind(seq, Arrow::Table(0));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/binds/tests.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | /     master
[INFO] [stdout] 109 | |         .get_table_by_id(id)
[INFO] [stdout] 110 | |         .unwrap()
[INFO] [stdout] 111 | |         .bind(Key::Char('r'), Arrow::Function(Action::Mutator(String::from("Blah"))));
[INFO] [stdout]     | |_____________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let _ = master
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/io/binds/tests.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         table.bind(Key::Char('a'), Arrow::Nothing);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let _ = table.bind(Key::Char('a'), Arrow::Nothing);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 | /         write!(f, "op={:?} {}+{} down={} up={}\n",
[INFO] [stdout] 104 | |                self.op,
[INFO] [stdout] 105 | |                self.offset,
[INFO] [stdout] 106 | |                self.length,
[INFO] [stdout] 107 | |                self.merge_down,
[INFO] [stdout] 108 | |                self.merge_up);
[INFO] [stdout]     | |_____________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let _ = write!(f, "op={:?} {}+{} down={} up={}\n",
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         write!(f, "action pieces\n");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let _ = write!(f, "action pieces\n");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:111:13
[INFO] [stdout]     |
[INFO] [stdout] 111 |             write!(f, "{}\n", piece);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let _ = write!(f, "{}\n", piece);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         write!(f, "PieceFile\n");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let _ = write!(f, "PieceFile\n");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:142:9
[INFO] [stdout]     |
[INFO] [stdout] 142 |         write!(f, "history_offset={}\n", self.history_offset);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let _ = write!(f, "history_offset={}\n", self.history_offset);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:143:9
[INFO] [stdout]     |
[INFO] [stdout] 143 |         write!(f, "length={}\n", self.length);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 143 |         let _ = write!(f, "length={}\n", self.length);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:144:9
[INFO] [stdout]     |
[INFO] [stdout] 144 |         write!(f, "offset={}\n", self.offset);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 144 |         let _ = write!(f, "offset={}\n", self.offset);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 145 |         write!(f, "piece_table len({})\n", self.piece_table.len());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 145 |         let _ = write!(f, "piece_table len({})\n", self.piece_table.len());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |             write!(f, "{}\n", piece);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 147 |             let _ = write!(f, "{}\n", piece);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/byt/io/file/mod.rs:414:28
[INFO] [stdout]     |
[INFO] [stdout] 414 |                       panic!(format!("Attempting to read more bytes than possible: {} > {}",
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 415 | |                                    append_end_offset,
[INFO] [stdout] 416 | |                                    append_bytes.len()));
[INFO] [stdout]     | |______________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 414 ~                     panic!("Attempting to read more bytes than possible: {} > {}",
[INFO] [stdout] 415 |                                    append_end_offset,
[INFO] [stdout] 416 ~                                    append_bytes.len());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:432:17
[INFO] [stdout]     |
[INFO] [stdout] 432 |                 reader.seek(SeekFrom::Start(piece.logical_to_file(offset) as u64));
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 432 |                 let _ = reader.seek(SeekFrom::Start(piece.logical_to_file(offset) as u64));
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/io/file/mod.rs:686:9
[INFO] [stdout]     |
[INFO] [stdout] 686 |         self.seek(SeekFrom::Start(offset as u64));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 686 |         let _ = self.seek(SeekFrom::Start(offset as u64));
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     normal.bind_action([Key::Char('l')], "vym.right");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let _ = normal.bind_action([Key::Char('l')], "vym.right");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     normal.bind_action([Key::Char('h')], "vym.left");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let _ = normal.bind_action([Key::Char('h')], "vym.left");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     normal.bind_action([Key::Char('j')], "vym.down");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let _ = normal.bind_action([Key::Char('j')], "vym.down");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     normal.bind_action([Key::Char('k')], "vym.up");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 56 |     let _ = normal.bind_action([Key::Char('k')], "vym.up");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     normal.bind_action([Key::Char('A')], "vym.append");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 63 |     let _ = normal.bind_action([Key::Char('A')], "vym.append");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     normal.bind_action([Key::Char('I')], "vym.prepend");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let _ = normal.bind_action([Key::Char('I')], "vym.prepend");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     normal.bind_action([Key::Char('0')], "vym.0");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let _ = normal.bind_action([Key::Char('0')], "vym.0");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     normal.bind_action([Key::Char('$')], "vym.$");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let _ = normal.bind_action([Key::Char('$')], "vym.$");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     normal.bind_action([Key::Ctrl('y')], "vym.viewport_up");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let _ = normal.bind_action([Key::Ctrl('y')], "vym.viewport_up");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     normal.bind_action([Key::Ctrl('e')], "vym.viewport_down");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let _ = normal.bind_action([Key::Ctrl('e')], "vym.viewport_down");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/mod.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     normal.bind_action([Key::Char('G')], "vym.to_file_end");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 98 |     let _ = normal.bind_action([Key::Char('G')], "vym.to_file_end");
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     normal.bind_action([Key::Char('g'), Key::Char('g')], "vym.to_file_start");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let _ = normal.bind_action([Key::Char('g'), Key::Char('g')], "vym.to_file_start");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     normal.bind_action([Key::Char('d'), Key::Char('d')], "vym.delete_line");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let _ = normal.bind_action([Key::Char('d'), Key::Char('d')], "vym.delete_line");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     normal.bind_action([Key::Char('i')], "vym.insert");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let _ = normal.bind_action([Key::Char('i')], "vym.insert");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     insert.bind_action([Key::Ctrl('c')], "vym.normal");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let _ = insert.bind_action([Key::Ctrl('c')], "vym.normal");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     insert.bind_action([Key::Esc], "vym.normal");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let _ = insert.bind_action([Key::Esc], "vym.normal");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/mutators/vym/mod.rs:147:5
[INFO] [stdout]     |
[INFO] [stdout] 147 |     insert.bind_action([Key::Backspace], "vym.backspace");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 147 |     let _ = insert.bind_action([Key::Backspace], "vym.backspace");
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/mutators/vym/tests.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     file.register_mutator(Box::new(Vym::new()));
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let _ = file.register_mutator(Box::new(Vym::new()));
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/byt/render/terminal.rs:22:40
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(out : &'a mut Write) -> TermRenderer {
[INFO] [stdout]    |                       --               ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn new(out : &'a mut Write) -> TermRenderer<'a> {
[INFO] [stdout]    |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/byt/views/file/mod.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 216 |         if offset < 0 ||
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |             self.set_cursor(cursor - cmp::min(num_bytes, cursor - (offset + num_bytes)));
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 225 |             let _ = self.set_cursor(cursor - cmp::min(num_bytes, cursor - (offset + num_bytes)));
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 292 |         self.set_cursor(offset);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 292 |         let _ = self.set_cursor(offset);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:298:9
[INFO] [stdout]     |
[INFO] [stdout] 298 |         self.set_cursor(offset);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let _ = self.set_cursor(offset);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |         self.set_cursor(offset + 1);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 308 |         let _ = self.set_cursor(offset + 1);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:352:9
[INFO] [stdout]     |
[INFO] [stdout] 352 |         self.set_cursor(dest_column + line_start);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 352 |         let _ = self.set_cursor(dest_column + line_start);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:369:9
[INFO] [stdout]     |
[INFO] [stdout] 369 |         self.set_cursor(current - 1);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let _ = self.set_cursor(current - 1);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:381:9
[INFO] [stdout]     |
[INFO] [stdout] 381 |         self.set_cursor(current + 1);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 381 |         let _ = self.set_cursor(current + 1);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:406:9
[INFO] [stdout]     |
[INFO] [stdout] 406 |         self.set_viewport_top(dest_index);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 406 |         let _ = self.set_viewport_top(dest_index);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:500:13
[INFO] [stdout]     |
[INFO] [stdout] 500 |             renderer.write(format!("{}", termion::clear::All).as_str());
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 500 |             let _ = renderer.write(format!("{}", termion::clear::All).as_str());
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:533:17
[INFO] [stdout]     |
[INFO] [stdout] 533 |                 renderer.move_cursor(line_number as u16, 1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 533 |                 let _ = renderer.move_cursor(line_number as u16, 1);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:535:17
[INFO] [stdout]     |
[INFO] [stdout] 535 |                 renderer.write(&text);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 535 |                 let _ = renderer.write(&text);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:542:17
[INFO] [stdout]     |
[INFO] [stdout] 542 |                 renderer.move_cursor(line, 1);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 542 |                 let _ = renderer.move_cursor(line, 1);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:543:17
[INFO] [stdout]     |
[INFO] [stdout] 543 |                 renderer.write("~");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 543 |                 let _ = renderer.write("~");
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/mod.rs:550:9
[INFO] [stdout]     |
[INFO] [stdout] 550 |         renderer.move_cursor(cursor_row, cursor_col);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 550 |         let _ = renderer.move_cursor(cursor_row, cursor_col);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/views/file/tests.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     file.set_cursor(0);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let _ = file.set_cursor(0);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `it_moves_down_to_CR` should have a snake case name
[INFO] [stdout]   --> src/byt/views/file/tests.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn it_moves_down_to_CR() {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it_moves_down_to_cr`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/views/file/tests.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     file.set_cursor(3);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let _ = file.set_cursor(3);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/views/file/tests.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     file.set_cursor(4);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let _ = file.set_cursor(4);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/views/file/tests.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     file.set_cursor(4);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let _ = file.set_cursor(4);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/byt/views/file/tests.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 |     file.set_cursor(0);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let _ = file.set_cursor(0);
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/tests.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     file.set_cursor(3);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 101 |     let _ = file.set_cursor(3);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/tests.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     file.set_cursor(1);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 117 |     let _ = file.set_cursor(1);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/tests.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     file.set_cursor(0);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let _ = file.set_cursor(0);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/tests.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     file.set_cursor(4);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let _ = file.set_cursor(4);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/tests.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     file.set_cursor(0);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 186 |     let _ = file.set_cursor(0);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/tests.rs:195:5
[INFO] [stdout]     |
[INFO] [stdout] 195 |     file.set_viewport_top(2);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 195 |     let _ = file.set_viewport_top(2);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/tests.rs:204:5
[INFO] [stdout]     |
[INFO] [stdout] 204 |     file.set_viewport_top(2);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 204 |     let _ = file.set_viewport_top(2);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/tests.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 |     file.set_cursor(0);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 214 |     let _ = file.set_cursor(0);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/tests.rs:229:5
[INFO] [stdout]     |
[INFO] [stdout] 229 |     file.set_cursor(0);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let _ = file.set_cursor(0);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/byt/views/file/tests.rs:238:5
[INFO] [stdout]     |
[INFO] [stdout] 238 |     file.set_cursor(8);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 238 |     let _ = file.set_cursor(8);
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.08s
[INFO] running `Command { std: "docker" "inspect" "55b79f64d5d3254fdecaa4e646a540ced864f10cc75151c318d797a6795d26f2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "55b79f64d5d3254fdecaa4e646a540ced864f10cc75151c318d797a6795d26f2", kill_on_drop: false }`
[INFO] [stdout] 55b79f64d5d3254fdecaa4e646a540ced864f10cc75151c318d797a6795d26f2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a8f10cfc18333d9b77ea751847a8451ab3530804ef2f139e04f999076d8f3a83
[INFO] running `Command { std: "docker" "start" "-a" "a8f10cfc18333d9b77ea751847a8451ab3530804ef2f139e04f999076d8f3a83", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ErrorKind` and `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: 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` and `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: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/byt/render/mod.rs:37:31
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn move_cursor(&mut self, u16, u16) -> Result<()>;
[INFO] [stderr]    |                               ^^^ help: try naming the parameter or explicitly ignoring it: `_: u16`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/byt/render/mod.rs:37:36
[INFO] [stderr]    |
[INFO] [stderr] 37 |     fn move_cursor(&mut self, u16, u16) -> Result<()>;
[INFO] [stderr]    |                                    ^^^ help: try naming the parameter or explicitly ignoring it: `_: u16`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/byt/render/mod.rs:40:25
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn write(&mut self, &str) -> Result<()>;
[INFO] [stderr]    |                         ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2018/trait-fn-parameters.html>
[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`, and `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: 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]     |                              ^                       ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 338 -         let num_lines      = (self.lines.len() as i64);
[INFO] [stderr] 338 +         let num_lines      = self.lines.len() as i64;
[INFO] [stderr]     |
[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: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/byt/editor/mutator.rs:48:31
[INFO] [stderr]    |
[INFO] [stderr] 48 |     map : HashMap<String, Box<Fn(&mut S, &mut T, Key) + 'a>>,
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 48 |     map : HashMap<String, Box<dyn Fn(&mut S, &mut T, Key) + 'a>>,
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/byt/editor/mutator.rs:110:24
[INFO] [stderr]     |
[INFO] [stderr] 110 |     mutators : Vec<Box<Mutator<T>>>,
[INFO] [stderr]     |                        ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 110 |     mutators : Vec<Box<dyn Mutator<T>>>,
[INFO] [stderr]     |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/byt/editor/mod.rs:56:24
[INFO] [stderr]    |
[INFO] [stderr] 56 |     mutators : Vec<Box<mutator::Mutator<Editor>>>,
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 56 |     mutators : Vec<Box<dyn mutator::Mutator<Editor>>>,
[INFO] [stderr]    |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/byt/render/terminal.rs:17:19
[INFO] [stderr]    |
[INFO] [stderr] 17 |     out : &'a mut Write
[INFO] [stderr]    |                   ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 17 |     out : &'a mut dyn Write
[INFO] [stderr]    |                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/byt/editor/mutator.rs:105:50
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn register_mutator(&mut self, mutator : Box<Mutator<T>>) -> io::Result<()>;
[INFO] [stderr]     |                                                  ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn register_mutator(&mut self, mutator : Box<dyn Mutator<T>>) -> io::Result<()>;
[INFO] [stderr]     |                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/byt/render/mod.rs:27:42
[INFO] [stderr]    |
[INFO] [stderr] 27 |     fn render(&mut self, renderer : &mut Renderer, size : (u16, u16)) -> Result<()>;
[INFO] [stderr]    |                                          ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 27 |     fn render(&mut self, renderer : &mut dyn Renderer, size : (u16, u16)) -> Result<()>;
[INFO] [stderr]    |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/byt/editor/mutator.rs:182:42
[INFO] [stderr]     |
[INFO] [stderr] 182 |     fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 182 |     fn render(&mut self, renderer : &mut dyn render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/byt/editor/mutator.rs:205:50
[INFO] [stderr]     |
[INFO] [stderr] 205 |     fn register_mutator(&mut self, mutator : Box<Mutator<T>>) -> io::Result<()> {
[INFO] [stderr]     |                                                  ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 205 |     fn register_mutator(&mut self, mutator : Box<dyn Mutator<T>>) -> io::Result<()> {
[INFO] [stderr]     |                                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/byt/mutators/vym/mod.rs:209:42
[INFO] [stderr]     |
[INFO] [stderr] 209 |     fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 209 |     fn render(&mut self, renderer : &mut dyn render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/byt/render/terminal.rs:22:30
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn new(out : &'a mut Write) -> TermRenderer {
[INFO] [stderr]    |                              ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn new(out : &'a mut dyn Write) -> TermRenderer {
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/byt/editor/mod.rs:116:42
[INFO] [stderr]     |
[INFO] [stderr] 116 |     fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 116 |     fn render(&mut self, renderer : &mut dyn render::Renderer, size : (u16, u16)) -> io::Result<()> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/byt/views/file/mod.rs:484:42
[INFO] [stderr]     |
[INFO] [stderr] 484 |     fn render(&mut self, renderer : &mut render::Renderer, size : (u16, u16)) -> Result<()> {
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 484 |     fn render(&mut self, renderer : &mut dyn render::Renderer, size : (u16, u16)) -> Result<()> {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/byt/mod.rs:40:33
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub fn render(mut screen : &mut Write, editor : &mut MutatePair<Editor>) {
[INFO] [stderr]    |                                 ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub fn render(mut screen : &mut dyn Write, editor : &mut MutatePair<Editor>) {
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/byt/editor/mutator.rs:72:79
[INFO] [stderr]    |
[INFO] [stderr] 72 |         self.map.insert(String::from(name.as_ref()), Box::new(closure) as Box<Fn(&mut S, &mut T, Key) + 'a>);
[INFO] [stderr]    |                                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 72 |         self.map.insert(String::from(name.as_ref()), Box::new(closure) as Box<dyn Fn(&mut S, &mut T, Key) + 'a>);
[INFO] [stderr]    |                                                                               +++
[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]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[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: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[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: if this is intentional, prefix it with an underscore: `_c`
[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: if this is intentional, prefix it with an underscore: `_target`
[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: if this is intentional, prefix it with an underscore: `_c`
[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/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/binds/mod.rs:205:17
[INFO] [stderr]     |
[INFO] [stderr] 205 |             let mut table = self.get_table_by_id(id).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/io/binds/mod.rs:298:21
[INFO] [stderr]     |
[INFO] [stderr] 298 |                 let mut table = self.get_table_by_id(max_id).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/io/binds/mod.rs:329:25
[INFO] [stderr]     |
[INFO] [stderr] 329 |                     let mut table = self.get_table_by_id(last).unwrap();
[INFO] [stderr]     |                         ----^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_last`
[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: 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: if this is intentional, prefix it with an underscore: `_delete_size`
[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: if this is intentional, prefix it with an underscore: `_piece_start_offset`
[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<String>;
[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: 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: if this is intentional, prefix it with an underscore: `_last_index`
[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: unused variable: `file`
[INFO] [stderr]   --> src/byt/mutators/vym/tests.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |     let mut file = make_file();
[INFO] [stderr]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[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: 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: if this is intentional, prefix it with an underscore: `_state`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_target`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_state`
[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: if this is intentional, prefix it with an underscore: `_target`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_state`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_state`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_state`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_state`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_state`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_state`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_state`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_state`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_state`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_state`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_state`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: if this is intentional, prefix it with an underscore: `_renderer`
[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: if this is intentional, prefix it with an underscore: `_rows`
[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: if this is intentional, prefix it with an underscore: `_cols`
[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: 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: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `index` is assigned to, but never used
[INFO] [stderr]    --> src/byt/views/file/mod.rs:200:13
[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: value assigned to `index` is never read
[INFO] [stderr]    --> src/byt/views/file/mod.rs:208:13
[INFO] [stderr]     |
[INFO] [stderr] 208 |             index += 1;
[INFO] [stderr]     |             ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `offset`
[INFO] [stderr]    --> src/byt/views/file/mod.rs:235:13
[INFO] [stderr]     |
[INFO] [stderr] 235 |         let mut offset : usize;
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `length`
[INFO] [stderr]    --> src/byt/views/file/mod.rs:236:13
[INFO] [stderr]     |
[INFO] [stderr] 236 |         let mut length : usize;
[INFO] [stderr]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_length`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `offset` is assigned to, but never used
[INFO] [stderr]    --> src/byt/views/file/mod.rs:316:13
[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: value assigned to `offset` is never read
[INFO] [stderr]    --> src/byt/views/file/mod.rs:319:13
[INFO] [stderr]     |
[INFO] [stderr] 319 |             offset += 1;
[INFO] [stderr]     |             ^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[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: if this is intentional, prefix it with an underscore: `_last_end_chars`
[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: if this is intentional, prefix it with an underscore: `_last_end`
[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: if this is intentional, prefix it with an underscore: `_key`
[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: 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: if this is intentional, prefix it with an underscore: `_cols`
[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: if this is intentional, prefix it with an underscore: `_bottom`
[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] warning: unused variable: `sender`
[INFO] [stderr]   --> src/byt/mod.rs:89:13
[INFO] [stderr]    |
[INFO] [stderr] 89 |         let sender = sender.clone();
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_sender`
[INFO] [stderr] 
[INFO] [stderr] warning: type `byt::io::file::Action` is more private than the item `byt::io::file::PieceFile::_insert`
[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]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `byt::io::file::PieceFile::_insert` is reachable at visibility `pub(crate)`
[INFO] [stderr]     |
[INFO] [stderr] note: but type `byt::io::file::Action` is only usable at visibility `pub(self)`
[INFO] [stderr]    --> src/byt/io/file/mod.rs:83:1
[INFO] [stderr]     |
[INFO] [stderr]  83 | struct Action {
[INFO] [stderr]     | ^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `There` is never constructed
[INFO] [stderr]   --> src/byt/editor/mod.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub enum Action {
[INFO] [stderr]    |          ------ variant in this enum
[INFO] [stderr] 28 |     Mutator(String),
[INFO] [stderr] 29 |     There(String),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Action` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `mutators` and `should_render` are never read
[INFO] [stderr]   --> src/byt/editor/mod.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub struct Editor {
[INFO] [stderr]    |            ------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 56 |     mutators : Vec<Box<mutator::Mutator<Editor>>>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |     should_render : bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `state_mut` is never used
[INFO] [stderr]   --> src/byt/editor/mutator.rs:66:12
[INFO] [stderr]    |
[INFO] [stderr] 52 | impl<'a, S, T> RustScope<'a, S, T> {
[INFO] [stderr]    | ---------------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 66 |     pub fn state_mut(&mut self) -> &mut S {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `target` is never used
[INFO] [stderr]    --> src/byt/editor/mutator.rs:126:12
[INFO] [stderr]     |
[INFO] [stderr] 114 | / impl<T> MutatePair<T>
[INFO] [stderr] 115 | |     where T: KeyInput + Actionable + Renderable {
[INFO] [stderr]     | |_______________________________________________- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 126 |       pub fn target(&self) -> &T {
[INFO] [stderr]     |              ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Nothing` is never constructed
[INFO] [stderr]   --> src/byt/events.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub enum Event {
[INFO] [stderr]    |          ----- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 16 |     Nothing
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Root` is never constructed
[INFO] [stderr]   --> src/byt/io/binds/mod.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub enum Arrow {
[INFO] [stderr]    |          ----- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 32 |     Root,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Arrow` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/byt/io/binds/mod.rs:54:12
[INFO] [stderr]    |
[INFO] [stderr] 53 | impl Binding {
[INFO] [stderr]    | ------------ associated function in this implementation
[INFO] [stderr] 54 |     pub fn new(key : Key, result : Arrow) -> Binding {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_id` is never used
[INFO] [stderr]   --> src/byt/io/binds/mod.rs:94:8
[INFO] [stderr]    |
[INFO] [stderr] 74 | impl BindingTable {
[INFO] [stderr]    | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 94 |     fn get_id(&self) -> usize {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `bind_wildcard` and `get_arrow` are never used
[INFO] [stderr]    --> src/byt/io/binds/mod.rs:385:12
[INFO] [stderr]     |
[INFO] [stderr] 193 | impl Keymaster {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 385 |     pub fn bind_wildcard<T: AsRef<[Key]>>(&mut self, sequence : T, action : &str) -> io::Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 436 |     pub fn get_arrow<T: AsRef<[Key]>>(&mut self, sequence : T) -> Option<&Arrow> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `timestamp` is never read
[INFO] [stderr]   --> src/byt/io/file/mod.rs:98:5
[INFO] [stderr]    |
[INFO] [stderr] 83 | struct Action {
[INFO] [stderr]    |        ------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 98 |     timestamp : time::Instant,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Action` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `save`, `save_as`, and `is_empty` are never used
[INFO] [stderr]    --> src/byt/io/file/mod.rs:522:12
[INFO] [stderr]     |
[INFO] [stderr] 158 | impl PieceFile {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 522 |     pub fn save(&mut self) -> io::Result<usize> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 541 |     pub fn save_as(&mut self, filename : &str) -> io::Result<usize> {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 556 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Point` is never constructed
[INFO] [stderr]   --> src/byt/render/mod.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct Point {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `size`, `down`, `right`, `left`, and `up` are never used
[INFO] [stderr]   --> src/byt/render/mod.rs:43:8
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub trait Renderer {
[INFO] [stderr]    |           -------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 43 |     fn size(&mut self) -> Result<(u16, u16)>;
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 46 |     fn down(&mut self) -> Result<()>;
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     fn right(&mut self) -> Result<()>;
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 52 |     fn left(&mut self) -> Result<()>;
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 |     fn up(&mut self) -> Result<()>;
[INFO] [stderr]    |        ^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `path` and `keys` are never read
[INFO] [stderr]    --> src/byt/views/file/mod.rs:93:5
[INFO] [stderr]     |
[INFO] [stderr]  91 | pub struct FileView {
[INFO] [stderr]     |            -------- fields in this struct
[INFO] [stderr]  92 |     /// The path to the file this FileView references.
[INFO] [stderr]  93 |     path : Option<String>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 120 |     keys : Keymaster,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `file`, `file_mut`, and `get_line` are never used
[INFO] [stderr]    --> src/byt/views/file/mod.rs:269:12
[INFO] [stderr]     |
[INFO] [stderr] 123 | impl FileView {
[INFO] [stderr]     | ------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 269 |     pub fn file(&self) -> &PieceFile {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 275 |     pub fn file_mut(&mut self) -> &mut PieceFile {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 281 |     pub fn get_line(&self, number : usize) -> Option<&Line> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 45 |         let _ = editor.render(&mut renderer, size);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 62 |         let _ = editor.target_mut().open(arguments.nth(1).unwrap().as_str());
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 64 |         let _ = editor.target_mut().open_empty();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 67 |     let _ = editor
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 105 |                     let _ = editor.call_action(name.as_str(), key);
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 103 |                         let _ = file.call_action(name.as_str(), key);
[INFO] [stderr]     |                         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 183 |         let _ = self.target.render(renderer, size);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 186 |             let _ = mutator.render(renderer, size);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 17 |     let _ = rust.call("foo", &mut bar, Key::Char('a'));
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 30 |     let _ = rust.call("foo", &mut bar, Key::Char('a'));
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 330 |                     let _ = table.bind(*key, Arrow::Table(current));
[INFO] [stderr]     |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 419 |             let _ = table.unbind(key);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 38 |     let _ = master
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 61 |     let _ = master.bind(seq, Arrow::Table(0));
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 73 |     let _ = master.bind(seq, Arrow::Table(0));
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 108 |     let _ = master
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 28 |         let _ = table.bind(Key::Char('a'), Arrow::Nothing);
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 103 |         let _ = write!(f, "op={:?} {}+{} down={} up={}\n",
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 109 |         let _ = write!(f, "action pieces\n");
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 111 |             let _ = write!(f, "{}\n", piece);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 141 |         let _ = write!(f, "PieceFile\n");
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 142 |         let _ = write!(f, "history_offset={}\n", self.history_offset);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 143 |         let _ = write!(f, "length={}\n", self.length);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 144 |         let _ = write!(f, "offset={}\n", self.offset);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 145 |         let _ = write!(f, "piece_table len({})\n", self.piece_table.len());
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 147 |             let _ = write!(f, "{}\n", piece);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/byt/io/file/mod.rs:414:28
[INFO] [stderr]     |
[INFO] [stderr] 414 |                       panic!(format!("Attempting to read more bytes than possible: {} > {}",
[INFO] [stderr]     |  ____________________________^
[INFO] [stderr] 415 | |                                    append_end_offset,
[INFO] [stderr] 416 | |                                    append_bytes.len()));
[INFO] [stderr]     | |______________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 414 ~                     panic!("Attempting to read more bytes than possible: {} > {}",
[INFO] [stderr] 415 |                                    append_end_offset,
[INFO] [stderr] 416 ~                                    append_bytes.len());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 432 |                 let _ = reader.seek(SeekFrom::Start(piece.logical_to_file(offset) as u64));
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 686 |         let _ = self.seek(SeekFrom::Start(offset as u64));
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 41 |     let _ = normal.bind_action([Key::Char('l')], "vym.right");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 46 |     let _ = normal.bind_action([Key::Char('h')], "vym.left");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 51 |     let _ = normal.bind_action([Key::Char('j')], "vym.down");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 56 |     let _ = normal.bind_action([Key::Char('k')], "vym.up");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 63 |     let _ = normal.bind_action([Key::Char('A')], "vym.append");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 70 |     let _ = normal.bind_action([Key::Char('I')], "vym.prepend");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let _ = normal.bind_action([Key::Char('0')], "vym.0");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 82 |     let _ = normal.bind_action([Key::Char('$')], "vym.$");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 88 |     let _ = normal.bind_action([Key::Ctrl('y')], "vym.viewport_up");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 93 |     let _ = normal.bind_action([Key::Ctrl('e')], "vym.viewport_down");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 98 |     let _ = normal.bind_action([Key::Char('G')], "vym.to_file_end");
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 103 |     let _ = normal.bind_action([Key::Char('g'), Key::Char('g')], "vym.to_file_start");
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 109 |     let _ = normal.bind_action([Key::Char('d'), Key::Char('d')], "vym.delete_line");
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 126 |     let _ = normal.bind_action([Key::Char('i')], "vym.insert");
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 141 |     let _ = insert.bind_action([Key::Ctrl('c')], "vym.normal");
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 142 |     let _ = insert.bind_action([Key::Esc], "vym.normal");
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 147 |     let _ = insert.bind_action([Key::Backspace], "vym.backspace");
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let _ = file.register_mutator(Box::new(Vym::new()));
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]   --> src/byt/render/terminal.rs:22:40
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn new(out : &'a mut Write) -> TermRenderer {
[INFO] [stderr]    |                       --               ^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       the lifetime is named here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn new(out : &'a mut Write) -> TermRenderer<'a> {
[INFO] [stderr]    |                                                    ++++
[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] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 225 |             let _ = self.set_cursor(cursor - cmp::min(num_bytes, cursor - (offset + num_bytes)));
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 292 |         let _ = self.set_cursor(offset);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 298 |         let _ = self.set_cursor(offset);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 308 |         let _ = self.set_cursor(offset + 1);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 352 |         let _ = self.set_cursor(dest_column + line_start);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 369 |         let _ = self.set_cursor(current - 1);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 381 |         let _ = self.set_cursor(current + 1);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 406 |         let _ = self.set_viewport_top(dest_index);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 500 |             let _ = renderer.write(format!("{}", termion::clear::All).as_str());
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 533 |                 let _ = renderer.move_cursor(line_number as u16, 1);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 535 |                 let _ = renderer.write(&text);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 542 |                 let _ = renderer.move_cursor(line, 1);
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 543 |                 let _ = renderer.write("~");
[INFO] [stderr]     |                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 550 |         let _ = renderer.move_cursor(cursor_row, cursor_col);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 48 |     let _ = file.set_cursor(0);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: function `it_moves_down_to_CR` should have a snake case name
[INFO] [stderr]   --> src/byt/views/file/tests.rs:54:4
[INFO] [stderr]    |
[INFO] [stderr] 54 | fn it_moves_down_to_CR() {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `it_moves_down_to_cr`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 57 |     let _ = file.set_cursor(3);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 66 |     let _ = file.set_cursor(4);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 76 |     let _ = file.set_cursor(4);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 85 |     let _ = file.set_cursor(0);
[INFO] [stderr]    |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 101 |     let _ = file.set_cursor(3);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 117 |     let _ = file.set_cursor(1);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 126 |     let _ = file.set_cursor(0);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 136 |     let _ = file.set_cursor(4);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 186 |     let _ = file.set_cursor(0);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 195 |     let _ = file.set_viewport_top(2);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 204 |     let _ = file.set_viewport_top(2);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 214 |     let _ = file.set_cursor(0);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 229 |     let _ = file.set_cursor(0);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `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] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 238 |     let _ = file.set_cursor(8);
[INFO] [stderr]     |     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `byt` (bin "byt" test) generated 204 warnings (run `cargo fix --bin "byt" -p byt --tests` to apply 107 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/byt-ab404ca01e5a4526)
[INFO] [stdout] 
[INFO] [stdout] running 56 tests
[INFO] [stdout] test byt::editor::tests::it_uses_a_rust_closure ... ok
[INFO] [stdout] test byt::editor::tests::it_uses_a_rust_closure_with_state ... ok
[INFO] [stdout] test byt::io::binds::tests::it_finds_a_binding ... ok
[INFO] [stdout] test byt::io::binds::tests::it_binds_a_sequence ... ok
[INFO] [stdout] test byt::io::binds::tests::it_handles_depth ... ok
[INFO] [stdout] test byt::io::binds::tests::tables::it_finds_a_binding ... ok
[INFO] [stdout] test byt::io::binds::tests::tables::it_returns_no_empty_wildcard ... ok
[INFO] [stdout] test byt::io::binds::tests::tables::it_returns_the_wildcard ... ok
[INFO] [stdout] test byt::io::file::tests::it_deletes_across_two_pieces ... ok
[INFO] [stdout] test byt::io::file::tests::it_deletes_backwards ... ok
[INFO] [stdout] test byt::io::file::tests::it_deletes_inside_piece ... ok
[INFO] [stdout] test byt::io::file::tests::it_does_not_panic_after_many_redos ... ok
[INFO] [stdout] test byt::io::file::tests::it_deletes_little_pieces ... ok
[INFO] [stdout] test byt::io::file::tests::it_does_not_panic_after_many_undos ... ok
[INFO] [stdout] test byt::io::file::tests::it_inserts ... ok
[INFO] [stdout] test byt::io::binds::tests::it_unbinds_a_sequence ... ok
[INFO] [stdout] test byt::io::file::tests::it_deletes_across_three_pieces ... ok
[INFO] [stdout] test byt::io::file::tests::it_inserts_inside_piece ... ok
[INFO] [stdout] test byt::io::file::tests::it_inserts_little_pieces ... ok
[INFO] [stdout] test byt::io::file::tests::it_reads_across_three_pieces ... ok
[INFO] [stdout] test byt::io::file::tests::it_reads_across_two_pieces ... ok
[INFO] [stdout] test byt::io::file::tests::it_reads_at_offset ... ok
[INFO] [stdout] test byt::io::file::tests::it_reads_inside_piece ... ok
[INFO] [stdout] test byt::io::file::tests::it_redoes_a_delete ... ok
[INFO] [stdout] test byt::io::file::tests::it_redoes_an_insert ... ok
[INFO] [stdout] test byt::io::file::tests::it_undoes_a_delete_at_the_start_of_a_single_piece ... ok
[INFO] [stdout] test byt::io::file::tests::it_undoes_a_delete_in_a_single_piece ... ok
[INFO] [stdout] test byt::mutators::vym::tests::it_enters_insert_mode ... ok
[INFO] [stdout] test byt::views::file::tests::it_deletes_this_line_in_empty_file ... ok
[INFO] [stdout] test byt::views::file::tests::it_deletes_a_lower_line ... ok
[INFO] [stdout] test byt::views::file::tests::it_deletes_the_last_empty_line ... ok
[INFO] [stdout] test byt::io::file::tests::it_undoes_a_delete_across_three_pieces ... ok
[INFO] [stdout] test byt::io::file::tests::it_undoes_a_delete_at_the_end_of_a_single_piece ... ok
[INFO] [stdout] test byt::io::file::tests::it_undoes_an_insert ... ok
[INFO] [stdout] test byt::views::file::tests::it_doesnt_fail_to_move_with_invalid_delta ... ok
[INFO] [stdout] test byt::views::file::tests::it_doesnt_move_down_past_end ... ok
[INFO] [stdout] test byt::views::file::tests::it_gets_the_current_line_of_many ... ok
[INFO] [stdout] test byt::io::binds::tests::it_finds_a_wildcard ... ok
[INFO] [stdout] test byt::views::file::tests::it_goes_to_the_end_of_the_file ... ok
[INFO] [stdout] test byt::views::file::tests::it_inserts_a_character ... ok
[INFO] [stdout] test byt::views::file::tests::it_inserts_a_string ... ok
[INFO] [stdout] test byt::views::file::tests::it_gets_the_current_line ... ok
[INFO] [stdout] test byt::views::file::tests::it_moves_down_to_CR ... ok
[INFO] [stdout] test byt::views::file::tests::it_moves_to_line_start ... ok
[INFO] [stdout] test byt::views::file::tests::it_moves_down ... ok
[INFO] [stdout] test byt::views::file::tests::it_moves_viewport_down ... ok
[INFO] [stdout] test byt::views::file::tests::it_moves_the_cursor_too ... ok
[INFO] [stdout] test byt::io::file::tests::it_undoes_a_delete_across_two_pieces ... ok
[INFO] [stdout] test byt::views::file::tests::it_moves_up ... ok
[INFO] [stdout] test byt::views::file::tests::it_moves_right ... ok
[INFO] [stdout] test byt::views::file::tests::it_moves_viewport_up ... ok
[INFO] [stdout] test byt::views::file::tests::it_moves_left ... ok
[INFO] [stdout] test byt::io::file::tests::it_removes_newer_actions ... ok
[INFO] [stdout] test byt::views::file::tests::it_deletes_this_line ... ok
[INFO] [stdout] test byt::views::file::tests::it_goes_to_the_start_of_the_file ... ok
[INFO] [stdout] test byt::views::file::tests::it_doesnt_add_fake_newlines ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- byt::views::file::tests::it_doesnt_add_fake_newlines stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'byt::views::file::tests::it_doesnt_add_fake_newlines' (62) panicked at src/byt/io/file/mod.rs:565:25:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x62c812d6e592 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x62c812d6e592 - std[3f03f8b59f91bef1]::backtrace_rs::backtrace::trace_unsynchronized::<std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x62c812d6e592 - std[3f03f8b59f91bef1]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x62c812d6e592 - <<std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[585f66e14d78f9ba]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x62c812d82f8a - <core[585f66e14d78f9ba]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x62c812d82f8a - core[585f66e14d78f9ba]::fmt::write
[INFO] [stdout]    6:     0x62c812d73496 - std[3f03f8b59f91bef1]::io::default_write_fmt::<alloc[15e7b27aba85d2e2]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x62c812d73496 - <alloc[15e7b27aba85d2e2]::vec::Vec<u8> as std[3f03f8b59f91bef1]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x62c812d4cc0f - <std[3f03f8b59f91bef1]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x62c812d4cc0f - std[3f03f8b59f91bef1]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x62c812d668c9 - std[3f03f8b59f91bef1]::panicking::default_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x62c812d0014e - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn for<'a, 'b> core[585f66e14d78f9ba]::ops::function::Fn<(&'a std[3f03f8b59f91bef1]::panic::PanicHookInfo<'b>,), Output = ()> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::Fn<(&std[3f03f8b59f91bef1]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x62c812d0014e - test[30224e0cb089acd2]::test_main_with_exit_callback::<test[30224e0cb089acd2]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x62c812d66a82 - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn for<'a, 'b> core[585f66e14d78f9ba]::ops::function::Fn<(&'a std[3f03f8b59f91bef1]::panic::PanicHookInfo<'b>,), Output = ()> + core[585f66e14d78f9ba]::marker::Sync + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::Fn<(&std[3f03f8b59f91bef1]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x62c812d66a82 - std[3f03f8b59f91bef1]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x62c812d4ccc8 - std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x62c812d41e89 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_end_short_backtrace::<std[3f03f8b59f91bef1]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x62c812d4db1d - __rustc[caa99d26c7bae192]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x62c812d8365c - core[585f66e14d78f9ba]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x62c812d833d2 - core[585f66e14d78f9ba]::result::unwrap_failed
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/result.rs:1867:5
[INFO] [stdout]   20:     0x62c812cd4e63 - <core[585f66e14d78f9ba]::result::Result<std[3f03f8b59f91bef1]::fs::File, std[3f03f8b59f91bef1]::io::error::Error>>::unwrap
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/result.rs:1233:23
[INFO] [stdout]   21:     0x62c812cd4e63 - <byt[aede2094d27c78a3]::byt::io::file::PieceFile>::open
[INFO] [stdout]                                at /opt/rustwide/workdir/src/byt/io/file/mod.rs:565:25
[INFO] [stdout]   22:     0x62c812ce6367 - <byt[aede2094d27c78a3]::byt::views::file::FileView>::new
[INFO] [stdout]                                at /opt/rustwide/workdir/src/byt/views/file/mod.rs:414:20
[INFO] [stdout]   23:     0x62c812cdc9f0 - byt[aede2094d27c78a3]::byt::views::file::tests::it_doesnt_add_fake_newlines
[INFO] [stdout]                                at /opt/rustwide/workdir/src/byt/views/file/tests.rs:221:20
[INFO] [stdout]   24:     0x62c812cd9f27 - byt[aede2094d27c78a3]::byt::views::file::tests::it_doesnt_add_fake_newlines::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/byt/views/file/tests.rs:220:33
[INFO] [stdout]   25:     0x62c812cf3ff6 - <byt[aede2094d27c78a3]::byt::views::file::tests::it_doesnt_add_fake_newlines::{closure#0} as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   26:     0x62c812cf44fb - <fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x62c812cf44fb - test[30224e0cb089acd2]::__rust_begin_short_backtrace::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>, fn() -> core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:663:18
[INFO] [stdout]   28:     0x62c812d00d5a - test[30224e0cb089acd2]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:686:74
[INFO] [stdout]   29:     0x62c812d00d5a - <core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   30:     0x62c812d00d5a - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   31:     0x62c812d00d5a - std[3f03f8b59f91bef1]::panicking::catch_unwind::<core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>, core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   32:     0x62c812d00d5a - std[3f03f8b59f91bef1]::panic::catch_unwind::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<test[30224e0cb089acd2]::run_test_in_process::{closure#0}>, core[585f66e14d78f9ba]::result::Result<(), alloc[15e7b27aba85d2e2]::string::String>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   33:     0x62c812d00d5a - test[30224e0cb089acd2]::run_test_in_process
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:686:27
[INFO] [stdout]   34:     0x62c812d00d5a - test[30224e0cb089acd2]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:607:43
[INFO] [stdout]   35:     0x62c812cfb224 - test[30224e0cb089acd2]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/test/src/lib.rs:637:41
[INFO] [stdout]   36:     0x62c812cfb224 - std[3f03f8b59f91bef1]::sys::backtrace::__rust_begin_short_backtrace::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   37:     0x62c812d03852 - std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   38:     0x62c812d03852 - <core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   39:     0x62c812d03852 - std[3f03f8b59f91bef1]::panicking::catch_unwind::do_call::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:581:40
[INFO] [stdout]   40:     0x62c812d03852 - std[3f03f8b59f91bef1]::panicking::catch_unwind::<(), core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panicking.rs:544:19
[INFO] [stdout]   41:     0x62c812d03852 - std[3f03f8b59f91bef1]::panic::catch_unwind::<core[585f66e14d78f9ba]::panic::unwind_safe::AssertUnwindSafe<std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/panic.rs:359:14
[INFO] [stdout]   42:     0x62c812d03852 - std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked::<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   43:     0x62c812d03852 - <std[3f03f8b59f91bef1]::thread::lifecycle::spawn_unchecked<test[30224e0cb089acd2]::run_test::{closure#1}, ()>::{closure#1} as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   44:     0x62c812d6de3f - <alloc[15e7b27aba85d2e2]::boxed::Box<dyn core[585f66e14d78f9ba]::ops::function::FnOnce<(), Output = ()> + core[585f66e14d78f9ba]::marker::Send> as core[585f66e14d78f9ba]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   45:     0x62c812d6de3f - <std[3f03f8b59f91bef1]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/db823df02fd0c2cf67b43025ac3fef3f2d743245/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   46:     0x71d44e215aa4 - <unknown>
[INFO] [stdout]   47:     0x71d44e2a2a64 - clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     byt::views::file::tests::it_doesnt_add_fake_newlines
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 55 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin byt`
[INFO] running `Command { std: "docker" "inspect" "a8f10cfc18333d9b77ea751847a8451ab3530804ef2f139e04f999076d8f3a83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8f10cfc18333d9b77ea751847a8451ab3530804ef2f139e04f999076d8f3a83", kill_on_drop: false }`
[INFO] [stdout] a8f10cfc18333d9b77ea751847a8451ab3530804ef2f139e04f999076d8f3a83
