[INFO] cloning repository https://github.com/thequux/smalltalk.rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/thequux/smalltalk.rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthequux%2Fsmalltalk.rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthequux%2Fsmalltalk.rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 873e305e5ffc30f8273c74735b54973e4231413d
[INFO] checking thequux/smalltalk.rs against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthequux%2Fsmalltalk.rs" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/thequux/smalltalk.rs
[INFO] finished tweaking git repo https://github.com/thequux/smalltalk.rs
[INFO] tweaked toml for git repo https://github.com/thequux/smalltalk.rs written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/thequux/smalltalk.rs on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/thequux/smalltalk.rs 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded aho-corasick v0.6.10
[INFO] [stderr]   Downloaded regex v1.1.2
[INFO] [stderr]   Downloaded sdl2 v0.32.1
[INFO] [stderr]   Downloaded sdl2-sys v0.32.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d4c0e76946a0268a727cb196a598ba96613263c828d7d4b2472344f49e1aeb16
[INFO] running `Command { std: "docker" "start" "-a" "d4c0e76946a0268a727cb196a598ba96613263c828d7d4b2472344f49e1aeb16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d4c0e76946a0268a727cb196a598ba96613263c828d7d4b2472344f49e1aeb16", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d4c0e76946a0268a727cb196a598ba96613263c828d7d4b2472344f49e1aeb16", kill_on_drop: false }`
[INFO] [stdout] d4c0e76946a0268a727cb196a598ba96613263c828d7d4b2472344f49e1aeb16
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6e837d2937a79b7c703d2ac4351a81e83b3f9a363a5ed5a390379ac7803c0b6d
[INFO] running `Command { std: "docker" "start" "-a" "6e837d2937a79b7c703d2ac4351a81e83b3f9a363a5ed5a390379ac7803c0b6d", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v0.1.2
[INFO] [stderr]    Compiling libc v0.2.50
[INFO] [stderr]    Compiling proc-macro2 v0.4.27
[INFO] [stderr]    Compiling num-traits v0.2.6
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling cc v1.0.32
[INFO] [stderr]    Compiling syn v0.15.29
[INFO] [stderr]    Compiling num-iter v0.1.37
[INFO] [stderr]    Compiling cfg-if v0.1.7
[INFO] [stderr]    Compiling failure_derive v0.1.5
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling regex v1.1.2
[INFO] [stderr]     Checking rand_jitter v0.1.3
[INFO] [stderr]     Checking rustc-demangle v0.1.13
[INFO] [stderr]     Checking regex-syntax v0.6.5
[INFO] [stderr]     Checking aho-corasick v0.6.10
[INFO] [stderr]    Compiling sdl2-sys v0.32.5
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling backtrace v0.3.14
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]    Compiling quote v0.6.11
[INFO] [stderr]    Compiling backtrace-sys v0.1.28
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking sdl2 v0.32.1
[INFO] [stderr]    Compiling synstructure v0.10.1
[INFO] [stderr]     Checking failure v0.1.5
[INFO] [stderr]     Checking rsvm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused macro definition: `catch`
[INFO] [stdout]  --> src/macros.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | macro_rules! catch {
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::interpreter::HeaderFlag::PrimSelf`
[INFO] [stdout]  --> src/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::interpreter::HeaderFlag::PrimSelf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/interpreter.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{VecDeque, HashSet, HashMap};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]   --> src/interpreter.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                          ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FORM_BITS_IDX`
[INFO] [stdout]   --> src/interpreter/display.rs:52:25
[INFO] [stdout]    |
[INFO] [stdout] 52 |     use super::bitblt::{FORM_BITS_IDX, FORM_HEIGHT_IDX, FORM_WIDTH_IDX};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]    --> src/interpreter/display.rs:256:25
[INFO] [stdout]     |
[INFO] [stdout] 256 |     use std::cmp::{min, max};
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/interpreter/startup.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{VecDeque, HashSet};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:116:23
[INFO] [stdout]     |
[INFO] [stdout] 116 |             count @ (0...4) => HeaderFlag::Normal(count),
[INFO] [stdout]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/interpreter.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |             (self.sp as Word + 1 - CTX_TEMPFRAME_START_INDEX as Word),
[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] 266 -             (self.sp as Word + 1 - CTX_TEMPFRAME_START_INDEX as Word),
[INFO] [stdout] 266 +             self.sp as Word + 1 - CTX_TEMPFRAME_START_INDEX as Word ,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:556:17
[INFO] [stdout]     |
[INFO] [stdout] 556 |             0x00...0x0F => Insn::PushReceiverVar(insn as usize & 0xF),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:557:17
[INFO] [stdout]     |
[INFO] [stdout] 557 |             0x10...0x1F => Insn::PushTemporary(insn as usize & 0xF),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:558:17
[INFO] [stdout]     |
[INFO] [stdout] 558 |             0x20...0x3F => Insn::PushLiteralConst(insn as usize & 0x1F),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:559:17
[INFO] [stdout]     |
[INFO] [stdout] 559 |             0x40...0x5F => Insn::PushLiteralVar(insn as usize & 0x1F),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:560:17
[INFO] [stdout]     |
[INFO] [stdout] 560 |             0x60...0x67 => Insn::PopReceiverVar(insn as usize & 0x07),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:561:17
[INFO] [stdout]     |
[INFO] [stdout] 561 |             0x68...0x6F => Insn::PopTemporary(insn as usize & 0x07),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:576:17
[INFO] [stdout]     |
[INFO] [stdout] 576 |             0x7E...0x7F => Insn::Illegal1([insn]),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:631:17
[INFO] [stdout]     |
[INFO] [stdout] 631 |             0x8A...0x8F => Insn::Illegal1([insn]),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:632:17
[INFO] [stdout]     |
[INFO] [stdout] 632 |             0x90...0x97 => Insn::Jump((insn as isize & 0x7) + 1),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:633:17
[INFO] [stdout]     |
[INFO] [stdout] 633 |             0x98...0x9F => Insn::JumpFalse((insn as isize & 0x7) + 1),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:634:17
[INFO] [stdout]     |
[INFO] [stdout] 634 |             0xA0...0xA7 => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:638:17
[INFO] [stdout]     |
[INFO] [stdout] 638 |             0xA8...0xAB => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:642:17
[INFO] [stdout]     |
[INFO] [stdout] 642 |             0xAC...0xAF => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:646:17
[INFO] [stdout]     |
[INFO] [stdout] 646 |             0xB0...0xCF => Insn::SendSpecial(insn as usize - 0xB0),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:647:17
[INFO] [stdout]     |
[INFO] [stdout] 647 |             0xD0...0xDF => Insn::SendLiteral(insn as usize & 0xF, 0),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:648:17
[INFO] [stdout]     |
[INFO] [stdout] 648 |             0xE0...0xEF => Insn::SendLiteral(insn as usize & 0xF, 1),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:649:17
[INFO] [stdout]     |
[INFO] [stdout] 649 |             0xF0...0xFF => Insn::SendLiteral(insn as usize & 0xF, 2),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1139:14
[INFO] [stdout]      |
[INFO] [stdout] 1139 |             0...19 => self.dispatch_prim_arith(),
[INFO] [stdout]      |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1140:15
[INFO] [stdout]      |
[INFO] [stdout] 1140 |             40...59 => self.dispatch_prim_float(),
[INFO] [stdout]      |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1141:15
[INFO] [stdout]      |
[INFO] [stdout] 1141 |             60...67 => self.dispatch_prim_sub_and_stream(),
[INFO] [stdout]      |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1142:15
[INFO] [stdout]      |
[INFO] [stdout] 1142 |             68...79 => self.dispatch_prim_storage(),
[INFO] [stdout]      |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1143:15
[INFO] [stdout]      |
[INFO] [stdout] 1143 |             80...89 => self.dispatch_prim_control(),
[INFO] [stdout]      |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1144:15
[INFO] [stdout]      |
[INFO] [stdout] 1144 |             90...109 => self.dispatch_prim_io(),
[INFO] [stdout]      |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1145:16
[INFO] [stdout]      |
[INFO] [stdout] 1145 |             110...127 => self.dispatch_prim_system(),
[INFO] [stdout]      |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1146:16
[INFO] [stdout]      |
[INFO] [stdout] 1146 |             128...255 => self.dispatch_prim_private(),
[INFO] [stdout]      |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objectmemory::ObjectLayout::Pointer`
[INFO] [stdout]  --> src/objectmemory.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::objectmemory::ObjectLayout::Pointer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/objectmemory/dist_format.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{self, prelude::*, SeekFrom};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ByteOrder`, and `ReadBytesExt`
[INFO] [stdout]   --> src/objectmemory/text_format.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use byteorder::{BigEndian, ByteOrder, ReadBytesExt};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SeekFrom` and `self`
[INFO] [stdout]   --> src/objectmemory/text_format.rs:26:15
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::io::{self, prelude::*, SeekFrom, BufWriter, BufReader};
[INFO] [stdout]    |               ^^^^              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arguments`
[INFO] [stdout]   --> src/objectmemory/text_format.rs:28:42
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::fmt::{self, Display, Formatter, Arguments};
[INFO] [stdout]    |                                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::filesystem::PrefPathError::InvalidApplicationName`
[INFO] [stdout]   --> src/objectmemory/text_format.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use sdl2::filesystem::PrefPathError::InvalidApplicationName;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/objectmemory/text_format.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 | use failure::{Error, Fail};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/objectmemory/text_format.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         'line: for (line_no, line) in BufReader::new(f).lines().enumerate() {
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/objectmemory/text_format.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 | ...                   '0'...'9'|'A'...'F'|'a'...'f' => {
[INFO] [stdout]     |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/objectmemory/text_format.rs:154:42
[INFO] [stdout]     |
[INFO] [stdout] 154 | ...                   '0'...'9'|'A'...'F'|'a'...'f' => {
[INFO] [stdout]     |                                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/objectmemory/text_format.rs:154:52
[INFO] [stdout]     |
[INFO] [stdout] 154 | ...                   '0'...'9'|'A'...'F'|'a'...'f' => {
[INFO] [stdout]     |                                              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `catch`
[INFO] [stdout]  --> src/macros.rs:1:14
[INFO] [stdout]   |
[INFO] [stdout] 1 | macro_rules! catch {
[INFO] [stdout]   |              ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::interpreter::HeaderFlag::PrimSelf`
[INFO] [stdout]  --> src/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::interpreter::HeaderFlag::PrimSelf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/interpreter.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{VecDeque, HashSet, HashMap};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]   --> src/interpreter.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Instant, SystemTime, UNIX_EPOCH};
[INFO] [stdout]    |                          ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FORM_BITS_IDX`
[INFO] [stdout]   --> src/interpreter/display.rs:52:25
[INFO] [stdout]    |
[INFO] [stdout] 52 |     use super::bitblt::{FORM_BITS_IDX, FORM_HEIGHT_IDX, FORM_WIDTH_IDX};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `max`
[INFO] [stdout]    --> src/interpreter/display.rs:256:25
[INFO] [stdout]     |
[INFO] [stdout] 256 |     use std::cmp::{min, max};
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/interpreter/startup.rs:3:34
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{VecDeque, HashSet};
[INFO] [stdout]   |                                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:116:23
[INFO] [stdout]     |
[INFO] [stdout] 116 |             count @ (0...4) => HeaderFlag::Normal(count),
[INFO] [stdout]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/interpreter.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |             (self.sp as Word + 1 - CTX_TEMPFRAME_START_INDEX as Word),
[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] 266 -             (self.sp as Word + 1 - CTX_TEMPFRAME_START_INDEX as Word),
[INFO] [stdout] 266 +             self.sp as Word + 1 - CTX_TEMPFRAME_START_INDEX as Word ,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:556:17
[INFO] [stdout]     |
[INFO] [stdout] 556 |             0x00...0x0F => Insn::PushReceiverVar(insn as usize & 0xF),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:557:17
[INFO] [stdout]     |
[INFO] [stdout] 557 |             0x10...0x1F => Insn::PushTemporary(insn as usize & 0xF),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:558:17
[INFO] [stdout]     |
[INFO] [stdout] 558 |             0x20...0x3F => Insn::PushLiteralConst(insn as usize & 0x1F),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:559:17
[INFO] [stdout]     |
[INFO] [stdout] 559 |             0x40...0x5F => Insn::PushLiteralVar(insn as usize & 0x1F),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:560:17
[INFO] [stdout]     |
[INFO] [stdout] 560 |             0x60...0x67 => Insn::PopReceiverVar(insn as usize & 0x07),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:561:17
[INFO] [stdout]     |
[INFO] [stdout] 561 |             0x68...0x6F => Insn::PopTemporary(insn as usize & 0x07),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:576:17
[INFO] [stdout]     |
[INFO] [stdout] 576 |             0x7E...0x7F => Insn::Illegal1([insn]),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:631:17
[INFO] [stdout]     |
[INFO] [stdout] 631 |             0x8A...0x8F => Insn::Illegal1([insn]),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:632:17
[INFO] [stdout]     |
[INFO] [stdout] 632 |             0x90...0x97 => Insn::Jump((insn as isize & 0x7) + 1),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:633:17
[INFO] [stdout]     |
[INFO] [stdout] 633 |             0x98...0x9F => Insn::JumpFalse((insn as isize & 0x7) + 1),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:634:17
[INFO] [stdout]     |
[INFO] [stdout] 634 |             0xA0...0xA7 => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:638:17
[INFO] [stdout]     |
[INFO] [stdout] 638 |             0xA8...0xAB => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:642:17
[INFO] [stdout]     |
[INFO] [stdout] 642 |             0xAC...0xAF => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:646:17
[INFO] [stdout]     |
[INFO] [stdout] 646 |             0xB0...0xCF => Insn::SendSpecial(insn as usize - 0xB0),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:647:17
[INFO] [stdout]     |
[INFO] [stdout] 647 |             0xD0...0xDF => Insn::SendLiteral(insn as usize & 0xF, 0),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:648:17
[INFO] [stdout]     |
[INFO] [stdout] 648 |             0xE0...0xEF => Insn::SendLiteral(insn as usize & 0xF, 1),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/interpreter.rs:649:17
[INFO] [stdout]     |
[INFO] [stdout] 649 |             0xF0...0xFF => Insn::SendLiteral(insn as usize & 0xF, 2),
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1139:14
[INFO] [stdout]      |
[INFO] [stdout] 1139 |             0...19 => self.dispatch_prim_arith(),
[INFO] [stdout]      |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1140:15
[INFO] [stdout]      |
[INFO] [stdout] 1140 |             40...59 => self.dispatch_prim_float(),
[INFO] [stdout]      |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1141:15
[INFO] [stdout]      |
[INFO] [stdout] 1141 |             60...67 => self.dispatch_prim_sub_and_stream(),
[INFO] [stdout]      |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1142:15
[INFO] [stdout]      |
[INFO] [stdout] 1142 |             68...79 => self.dispatch_prim_storage(),
[INFO] [stdout]      |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1143:15
[INFO] [stdout]      |
[INFO] [stdout] 1143 |             80...89 => self.dispatch_prim_control(),
[INFO] [stdout]      |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1144:15
[INFO] [stdout]      |
[INFO] [stdout] 1144 |             90...109 => self.dispatch_prim_io(),
[INFO] [stdout]      |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1145:16
[INFO] [stdout]      |
[INFO] [stdout] 1145 |             110...127 => self.dispatch_prim_system(),
[INFO] [stdout]      |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/interpreter.rs:1146:16
[INFO] [stdout]      |
[INFO] [stdout] 1146 |             128...255 => self.dispatch_prim_private(),
[INFO] [stdout]      |                ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::objectmemory::ObjectLayout::Pointer`
[INFO] [stdout]  --> src/objectmemory.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::objectmemory::ObjectLayout::Pointer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/objectmemory/dist_format.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::{self, prelude::*, SeekFrom};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ByteOrder`, and `ReadBytesExt`
[INFO] [stdout]   --> src/objectmemory/text_format.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 | use byteorder::{BigEndian, ByteOrder, ReadBytesExt};
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SeekFrom` and `self`
[INFO] [stdout]   --> src/objectmemory/text_format.rs:26:15
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::io::{self, prelude::*, SeekFrom, BufWriter, BufReader};
[INFO] [stdout]    |               ^^^^              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Arguments`
[INFO] [stdout]   --> src/objectmemory/text_format.rs:28:42
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::fmt::{self, Display, Formatter, Arguments};
[INFO] [stdout]    |                                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sdl2::filesystem::PrefPathError::InvalidApplicationName`
[INFO] [stdout]   --> src/objectmemory/text_format.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use sdl2::filesystem::PrefPathError::InvalidApplicationName;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]   --> src/objectmemory/text_format.rs:32:15
[INFO] [stdout]    |
[INFO] [stdout] 32 | use failure::{Error, Fail};
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/objectmemory/text_format.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         'line: for (line_no, line) in BufReader::new(f).lines().enumerate() {
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/objectmemory/text_format.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 | ...                   '0'...'9'|'A'...'F'|'a'...'f' => {
[INFO] [stdout]     |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/objectmemory/text_format.rs:154:42
[INFO] [stdout]     |
[INFO] [stdout] 154 | ...                   '0'...'9'|'A'...'F'|'a'...'f' => {
[INFO] [stdout]     |                                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/objectmemory/text_format.rs:154:52
[INFO] [stdout]     |
[INFO] [stdout] 154 | ...                   '0'...'9'|'A'...'F'|'a'...'f' => {
[INFO] [stdout]     |                                              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) 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] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufRead`
[INFO] [stdout]  --> src/interpreter.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::BufRead;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ByteOrder`
[INFO] [stdout]  --> src/objectmemory/dist_format.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use byteorder::{BigEndian, ByteOrder as _, ReadBytesExt};
[INFO] [stdout]   |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Fail`
[INFO] [stdout]   --> src/objectmemory/text_format.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 | use failure::{Error, Fail};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interpreter/bitblt.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn intersect(mut self, mut other: Rectangle) -> Rectangle {
[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/interpreter/bitblt.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn intersect(mut self, mut other: Rectangle) -> Rectangle {
[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/interpreter/display.rs:264:9
[INFO] [stdout]     |
[INFO] [stdout] 264 |     let mut canvas = &mut interp.display_impl.canvas;
[INFO] [stdout]     |         ----^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufRead`
[INFO] [stdout]  --> src/interpreter.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::BufRead;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ByteOrder`
[INFO] [stdout]  --> src/objectmemory/dist_format.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use byteorder::{BigEndian, ByteOrder as _, ReadBytesExt};
[INFO] [stdout]   |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Fail`
[INFO] [stdout]   --> src/objectmemory/text_format.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 | use failure::{Error, Fail};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/interpreter/bitblt.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn intersect(mut self, mut other: Rectangle) -> Rectangle {
[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/interpreter/bitblt.rs:64:28
[INFO] [stdout]    |
[INFO] [stdout] 64 |     fn intersect(mut self, mut other: Rectangle) -> Rectangle {
[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/interpreter.rs:938:13
[INFO] [stdout]     |
[INFO] [stdout] 938 |         let mut r = BufReader::new(mt_file);
[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/interpreter/display.rs:264:9
[INFO] [stdout]     |
[INFO] [stdout] 264 |     let mut canvas = &mut interp.display_impl.canvas;
[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/interpreter.rs:1218:13
[INFO] [stdout]      |
[INFO] [stdout] 1218 |         let mut arg = self.stack_value(0).try_as_integer()?;
[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/interpreter.rs:1219:13
[INFO] [stdout]      |
[INFO] [stdout] 1219 |         let mut rcvr = self.stack_value(1).try_as_integer()?;
[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/interpreter.rs:1233:13
[INFO] [stdout]      |
[INFO] [stdout] 1233 |         let mut arg = self.stack_value(0).try_as_integer()?;
[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/interpreter.rs:1234:13
[INFO] [stdout]      |
[INFO] [stdout] 1234 |         let mut rcvr = self.stack_value(1).try_as_integer()?;
[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/interpreter.rs:938:13
[INFO] [stdout]     |
[INFO] [stdout] 938 |         let mut r = BufReader::new(mt_file);
[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/interpreter.rs:1218:13
[INFO] [stdout]      |
[INFO] [stdout] 1218 |         let mut arg = self.stack_value(0).try_as_integer()?;
[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/interpreter.rs:1219:13
[INFO] [stdout]      |
[INFO] [stdout] 1219 |         let mut rcvr = self.stack_value(1).try_as_integer()?;
[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/interpreter.rs:1233:13
[INFO] [stdout]      |
[INFO] [stdout] 1233 |         let mut arg = self.stack_value(0).try_as_integer()?;
[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/interpreter.rs:1234:13
[INFO] [stdout]      |
[INFO] [stdout] 1234 |         let mut rcvr = self.stack_value(1).try_as_integer()?;
[INFO] [stdout]      |             ----^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/objectmemory/dist_format.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         for i in 0..obj_table_len / 2 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/objectmemory/dist_format.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |         for (i, entry) in raw_objtbl.iter().enumerate() {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/objectmemory/dist_format.rs:110:29
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn save<P: AsRef<Path>>(path: P, memory: &ObjectMemory) -> Result<(), failure::Error> {
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]    --> src/objectmemory/dist_format.rs:110:38
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn save<P: AsRef<Path>>(path: P, memory: &ObjectMemory) -> Result<(), failure::Error> {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objectmemory.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn to_pointer(mut self) -> OOP {
[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/objectmemory.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn to_smallint(mut self) -> OOP {
[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/objectmemory.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let mut flt_u32 = value.to_bits();
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]    --> src/objectmemory.rs:316:27
[INFO] [stdout]     |
[INFO] [stdout] 316 |             .map(|(index, obj)| index)?;
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/objectmemory.rs:315:21
[INFO] [stdout]     |
[INFO] [stdout] 315 |             .find(|(index, obj)| obj.is_none())
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/utils.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn floor_divmod<D>(mut a: D, mut b: D) -> (D, D)
[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/utils.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn floor_divmod<D>(mut a: D, mut b: D) -> (D, D)
[INFO] [stdout]   |                                  ----^
[INFO] [stdout]   |                                  |
[INFO] [stdout]   |                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_INDEX` is never used
[INFO] [stdout]   --> src/interpreter.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 | const HEADER_INDEX: usize = 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pop_integer` and `push_integer` are never used
[INFO] [stdout]     --> src/interpreter.rs:1023:8
[INFO] [stdout]      |
[INFO] [stdout]  913 | impl Interpreter {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1023 |     fn pop_integer(&mut self) -> Option<Word> {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1032 |     fn push_integer(&mut self, int: Word) -> Option<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `asynchronous_signal` and `first_context` are never used
[INFO] [stdout]     --> src/interpreter.rs:2068:8
[INFO] [stdout]      |
[INFO] [stdout] 2067 | impl Interpreter {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] 2068 |     fn asynchronous_signal(&mut self, semaphore: OOP) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2128 |     fn first_context(&mut self) -> OOP {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FORM_OFFSET_IDX` is never used
[INFO] [stdout]    --> src/interpreter/bitblt.rs:107:11
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub const FORM_OFFSET_IDX: usize = 3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `refcnt` and `has_ptrs` are never used
[INFO] [stdout]   --> src/objectmemory/dist_format.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl ObjTblEntry {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 16 |     fn refcnt(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn has_ptrs(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/objectmemory/dist_format.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         for i in 0..obj_table_len / 2 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/objectmemory/dist_format.rs:63:14
[INFO] [stdout]    |
[INFO] [stdout] 63 |         for (i, entry) in raw_objtbl.iter().enumerate() {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/objectmemory/dist_format.rs:110:29
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn save<P: AsRef<Path>>(path: P, memory: &ObjectMemory) -> Result<(), failure::Error> {
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]    --> src/objectmemory/dist_format.rs:110:38
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn save<P: AsRef<Path>>(path: P, memory: &ObjectMemory) -> Result<(), failure::Error> {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/interpreter.rs:929:13
[INFO] [stdout]     |
[INFO] [stdout] 929 |             crate::objectmemory::text_format::TextFormat::save("crash.dump", &self.memory);
[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] 929 |             let _ = crate::objectmemory::text_format::TextFormat::save("crash.dump", &self.memory);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/interpreter.rs:2657:31
[INFO] [stdout]      |
[INFO] [stdout] 2657 | pub fn read_st_string(memory: &ObjectMemory, oop: OOP) -> Cow<str> {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^               ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               the lifetime is elided 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: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2657 | pub fn read_st_string(memory: &ObjectMemory, oop: OOP) -> Cow<'_, str> {
[INFO] [stdout]      |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/interpreter.rs:2662:23
[INFO] [stdout]      |
[INFO] [stdout] 2662 |     pub fn class_name(&self, klass: OOP) -> Cow<str> {
[INFO] [stdout]      |                       ^^^^^                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2662 |     pub fn class_name(&self, klass: OOP) -> Cow<'_, str> {
[INFO] [stdout]      |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/objectmemory.rs:366:13
[INFO] [stdout]     |
[INFO] [stdout] 366 |             &self.ref_cnt.push(0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 366 |             let _ = &self.ref_cnt.push(0);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/objectmemory.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn to_pointer(mut self) -> OOP {
[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/objectmemory.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn to_smallint(mut self) -> OOP {
[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/objectmemory.rs:217:13
[INFO] [stdout]     |
[INFO] [stdout] 217 |         let mut flt_u32 = value.to_bits();
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `obj`
[INFO] [stdout]    --> src/objectmemory.rs:316:27
[INFO] [stdout]     |
[INFO] [stdout] 316 |             .map(|(index, obj)| index)?;
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/objectmemory.rs:315:21
[INFO] [stdout]     |
[INFO] [stdout] 315 |             .find(|(index, obj)| obj.is_none())
[INFO] [stdout]     |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/utils.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn floor_divmod<D>(mut a: D, mut b: D) -> (D, D)
[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/utils.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn floor_divmod<D>(mut a: D, mut b: D) -> (D, D)
[INFO] [stdout]   |                                  ----^
[INFO] [stdout]   |                                  |
[INFO] [stdout]   |                                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEADER_INDEX` is never used
[INFO] [stdout]   --> src/interpreter.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 | const HEADER_INDEX: usize = 0;
[INFO] [stdout]    |       ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pop_integer` and `push_integer` are never used
[INFO] [stdout]     --> src/interpreter.rs:1023:8
[INFO] [stdout]      |
[INFO] [stdout]  913 | impl Interpreter {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1023 |     fn pop_integer(&mut self) -> Option<Word> {
[INFO] [stdout]      |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1032 |     fn push_integer(&mut self, int: Word) -> Option<()> {
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `asynchronous_signal` and `first_context` are never used
[INFO] [stdout]     --> src/interpreter.rs:2068:8
[INFO] [stdout]      |
[INFO] [stdout] 2067 | impl Interpreter {
[INFO] [stdout]      | ---------------- methods in this implementation
[INFO] [stdout] 2068 |     fn asynchronous_signal(&mut self, semaphore: OOP) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 2128 |     fn first_context(&mut self) -> OOP {
[INFO] [stdout]      |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FORM_OFFSET_IDX` is never used
[INFO] [stdout]    --> src/interpreter/bitblt.rs:107:11
[INFO] [stdout]     |
[INFO] [stdout] 107 | pub const FORM_OFFSET_IDX: usize = 3;
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `refcnt` and `has_ptrs` are never used
[INFO] [stdout]   --> src/objectmemory/dist_format.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl ObjTblEntry {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] 16 |     fn refcnt(&self) -> usize {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     fn has_ptrs(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/interpreter.rs:929:13
[INFO] [stdout]     |
[INFO] [stdout] 929 |             crate::objectmemory::text_format::TextFormat::save("crash.dump", &self.memory);
[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] 929 |             let _ = crate::objectmemory::text_format::TextFormat::save("crash.dump", &self.memory);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/interpreter.rs:2657:31
[INFO] [stdout]      |
[INFO] [stdout] 2657 | pub fn read_st_string(memory: &ObjectMemory, oop: OOP) -> Cow<str> {
[INFO] [stdout]      |                               ^^^^^^^^^^^^^               ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               the lifetime is elided 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: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2657 | pub fn read_st_string(memory: &ObjectMemory, oop: OOP) -> Cow<'_, str> {
[INFO] [stdout]      |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]     --> src/interpreter.rs:2662:23
[INFO] [stdout]      |
[INFO] [stdout] 2662 |     pub fn class_name(&self, klass: OOP) -> Cow<str> {
[INFO] [stdout]      |                       ^^^^^                 ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]      |                       |
[INFO] [stdout]      |                       the lifetime is elided here
[INFO] [stdout]      |
[INFO] [stdout]      = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]      |
[INFO] [stdout] 2662 |     pub fn class_name(&self, klass: OOP) -> Cow<'_, str> {
[INFO] [stdout]      |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/objectmemory.rs:366:13
[INFO] [stdout]     |
[INFO] [stdout] 366 |             &self.ref_cnt.push(0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]     |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 366 |             let _ = &self.ref_cnt.push(0);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bin/rsvm_dump_image.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn main() -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 7 | fn main() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bin/rsvm_dump_image.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn main() -> Result<(), Box<std::error::Error>> {
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) 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] 7 | fn main() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.48s
[INFO] running `Command { std: "docker" "inspect" "6e837d2937a79b7c703d2ac4351a81e83b3f9a363a5ed5a390379ac7803c0b6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6e837d2937a79b7c703d2ac4351a81e83b3f9a363a5ed5a390379ac7803c0b6d", kill_on_drop: false }`
[INFO] [stdout] 6e837d2937a79b7c703d2ac4351a81e83b3f9a363a5ed5a390379ac7803c0b6d
