[INFO] fetching crate encrusted 1.1.0...
[INFO] checking encrusted-1.1.0 against master#b0696a5160711c068cb1f01b7437db7990d15750 for pr-121848
[INFO] extracting crate encrusted 1.1.0 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate encrusted 1.1.0 on toolchain b0696a5160711c068cb1f01b7437db7990d15750
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate encrusted 1.1.0
[INFO] finished tweaking crates.io crate encrusted 1.1.0
[INFO] tweaked toml for crates.io crate encrusted 1.1.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-glue v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 94aaab39461b044760095a2df54d0b40d7dacc4d96636c197177034ada1b7aaa
[INFO] running `Command { std: "docker" "start" "-a" "94aaab39461b044760095a2df54d0b40d7dacc4d96636c197177034ada1b7aaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "94aaab39461b044760095a2df54d0b40d7dacc4d96636c197177034ada1b7aaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94aaab39461b044760095a2df54d0b40d7dacc4d96636c197177034ada1b7aaa", kill_on_drop: false }`
[INFO] [stdout] 94aaab39461b044760095a2df54d0b40d7dacc4d96636c197177034ada1b7aaa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b604c52ed9f4732fd40397d79646135123ebe085f1959f8a7bee96f76a9df140
[INFO] running `Command { std: "docker" "start" "-a" "b604c52ed9f4732fd40397d79646135123ebe085f1959f8a7bee96f76a9df140", kill_on_drop: false }`
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking base64 v0.10.1
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking term_size v0.3.2
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking encrusted v1.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0463]: can't find crate for `wasm_glue`
[INFO] [stdout]  --> src/rust/main.web.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | extern crate wasm_glue;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `wasm_glue`
[INFO] [stdout]  --> src/rust/main.web.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | extern crate wasm_glue;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rust/instruction.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 1...15 => write!(f, "local{}", x - 1),
[INFO] [stdout]    |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/instruction.rs:365:18
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 1...15 => write!(f, " -> local{}", x - 1),
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_web.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_web.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/rust/main.web.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | extern crate serde_json;
[INFO] [stdout]   | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/zmachine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `base64` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use base64;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.web.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate base64;
[INFO] [stdout]    | -------------------- the item `base64` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.web.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:262:14
[INFO] [stdout]     |
[INFO] [stdout] 262 |             1...3 => addr * 2,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:263:14
[INFO] [stdout]     |
[INFO] [stdout] 263 |             4...7 => addr * 4,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rust/instruction.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 1...15 => write!(f, "local{}", x - 1),
[INFO] [stdout]    |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 271 |             x @ 6...7 => x + self.routine_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:278:18
[INFO] [stdout]     |
[INFO] [stdout] 278 |             x @ 6...7 => x + self.string_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:340:14
[INFO] [stdout]     |
[INFO] [stdout] 340 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:341:15
[INFO] [stdout]     |
[INFO] [stdout] 341 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:350:14
[INFO] [stdout]     |
[INFO] [stdout] 350 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/instruction.rs:365:18
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 1...15 => write!(f, " -> local{}", x - 1),
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_web.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_web.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/rust/main.web.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | extern crate serde_json;
[INFO] [stdout]   | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:351:15
[INFO] [stdout]     |
[INFO] [stdout] 351 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:360:14
[INFO] [stdout]     |
[INFO] [stdout] 360 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:361:15
[INFO] [stdout]     |
[INFO] [stdout] 361 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:373:14
[INFO] [stdout]     |
[INFO] [stdout] 373 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:825:14
[INFO] [stdout]     |
[INFO] [stdout] 825 |             1...3 => {
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1137:17
[INFO] [stdout]      |
[INFO] [stdout] 1137 |             0x00...0x1f => (get_opcode(btm_5(first), 0), vec![Small, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1138:17
[INFO] [stdout]      |
[INFO] [stdout] 1138 |             0x20...0x3f => (get_opcode(btm_5(first), 0), vec![Small, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1139:17
[INFO] [stdout]      |
[INFO] [stdout] 1139 |             0x40...0x5f => (get_opcode(btm_5(first), 0), vec![Variable, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1140:17
[INFO] [stdout]      |
[INFO] [stdout] 1140 |             0x60...0x7f => (get_opcode(btm_5(first), 0), vec![Variable, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1141:17
[INFO] [stdout]      |
[INFO] [stdout] 1141 |             0x80...0x8f => (get_opcode(btm_4(first), 128), vec![Large]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1142:17
[INFO] [stdout]      |
[INFO] [stdout] 1142 |             0x90...0x9f => (get_opcode(btm_4(first), 128), vec![Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1143:17
[INFO] [stdout]      |
[INFO] [stdout] 1143 |             0xa0...0xaf => (get_opcode(btm_4(first), 128), vec![Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1144:17
[INFO] [stdout]      |
[INFO] [stdout] 1144 |             0xb0...0xbd | 0xbf => (get_opcode(btm_4(first), 176), vec![]), // OP_0
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1145:17
[INFO] [stdout]      |
[INFO] [stdout] 1145 |             0xc0...0xdf => (get_opcode(btm_5(first), 0), get_types(&[read.byte()])),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/zmachine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1146:17
[INFO] [stdout]      |
[INFO] [stdout] 1146 |             0xe0...0xff => {
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `base64` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use base64;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.web.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate base64;
[INFO] [stdout]    | -------------------- the item `base64` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2025:18
[INFO] [stdout]      |
[INFO] [stdout] 2025 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.web.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/rust/zmachine.rs:2578:10
[INFO] [stdout]      |
[INFO] [stdout] 2578 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:262:14
[INFO] [stdout]     |
[INFO] [stdout] 262 |             1...3 => addr * 2,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2545:18
[INFO] [stdout]      |
[INFO] [stdout] 2545 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:263:14
[INFO] [stdout]     |
[INFO] [stdout] 263 |             4...7 => addr * 4,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 271 |             x @ 6...7 => x + self.routine_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:278:18
[INFO] [stdout]     |
[INFO] [stdout] 278 |             x @ 6...7 => x + self.string_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:340:14
[INFO] [stdout]     |
[INFO] [stdout] 340 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:341:15
[INFO] [stdout]     |
[INFO] [stdout] 341 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:350:14
[INFO] [stdout]     |
[INFO] [stdout] 350 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:351:15
[INFO] [stdout]     |
[INFO] [stdout] 351 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:360:14
[INFO] [stdout]     |
[INFO] [stdout] 360 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:361:15
[INFO] [stdout]     |
[INFO] [stdout] 361 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:373:14
[INFO] [stdout]     |
[INFO] [stdout] 373 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:825:14
[INFO] [stdout]     |
[INFO] [stdout] 825 |             1...3 => {
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1137:17
[INFO] [stdout]      |
[INFO] [stdout] 1137 |             0x00...0x1f => (get_opcode(btm_5(first), 0), vec![Small, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1138:17
[INFO] [stdout]      |
[INFO] [stdout] 1138 |             0x20...0x3f => (get_opcode(btm_5(first), 0), vec![Small, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1139:17
[INFO] [stdout]      |
[INFO] [stdout] 1139 |             0x40...0x5f => (get_opcode(btm_5(first), 0), vec![Variable, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1140:17
[INFO] [stdout]      |
[INFO] [stdout] 1140 |             0x60...0x7f => (get_opcode(btm_5(first), 0), vec![Variable, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1141:17
[INFO] [stdout]      |
[INFO] [stdout] 1141 |             0x80...0x8f => (get_opcode(btm_4(first), 128), vec![Large]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1142:17
[INFO] [stdout]      |
[INFO] [stdout] 1142 |             0x90...0x9f => (get_opcode(btm_4(first), 128), vec![Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1143:17
[INFO] [stdout]      |
[INFO] [stdout] 1143 |             0xa0...0xaf => (get_opcode(btm_4(first), 128), vec![Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1144:17
[INFO] [stdout]      |
[INFO] [stdout] 1144 |             0xb0...0xbd | 0xbf => (get_opcode(btm_4(first), 176), vec![]), // OP_0
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1145:17
[INFO] [stdout]      |
[INFO] [stdout] 1145 |             0xc0...0xdf => (get_opcode(btm_5(first), 0), get_types(&[read.byte()])),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1146:17
[INFO] [stdout]      |
[INFO] [stdout] 1146 |             0xe0...0xff => {
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2025:18
[INFO] [stdout]      |
[INFO] [stdout] 2025 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/rust/zmachine.rs:2578:10
[INFO] [stdout]      |
[INFO] [stdout] 2578 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2545:18
[INFO] [stdout]      |
[INFO] [stdout] 2545 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `slice_patterns` has been stable since 1.42.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/rust/main.web.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(slice_patterns)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<UI>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<dyn UI>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `slice_patterns` has been stable since 1.42.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/rust/main.web.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(slice_patterns)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rust/instruction.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 1...15 => write!(f, "local{}", x - 1),
[INFO] [stdout]    |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<UI>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<dyn UI>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/instruction.rs:365:18
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 1...15 => write!(f, " -> local{}", x - 1),
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_terminal.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `term_size` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_terminal.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use term_size;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/rust/main.terminal.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | extern crate term_size;
[INFO] [stdout]   | ----------------------- the item `term_size` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/zmachine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:158:39
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<UI>, options: Options) -> Zmachine {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<dyn UI>, options: Options) -> Zmachine {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `base64` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use base64;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.terminal.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | extern crate base64;
[INFO] [stdout]    | -------------------- the item `base64` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `rand` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rand;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.terminal.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout] 4  | extern crate rand;
[INFO] [stdout]    | ------------------ the item `rand` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.terminal.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:262:14
[INFO] [stdout]     |
[INFO] [stdout] 262 |             1...3 => addr * 2,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:263:14
[INFO] [stdout]     |
[INFO] [stdout] 263 |             4...7 => addr * 4,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 271 |             x @ 6...7 => x + self.routine_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:278:18
[INFO] [stdout]     |
[INFO] [stdout] 278 |             x @ 6...7 => x + self.string_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:340:14
[INFO] [stdout]     |
[INFO] [stdout] 340 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:341:15
[INFO] [stdout]     |
[INFO] [stdout] 341 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:350:14
[INFO] [stdout]     |
[INFO] [stdout] 350 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:351:15
[INFO] [stdout]     |
[INFO] [stdout] 351 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:360:14
[INFO] [stdout]     |
[INFO] [stdout] 360 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:361:15
[INFO] [stdout]     |
[INFO] [stdout] 361 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:373:14
[INFO] [stdout]     |
[INFO] [stdout] 373 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:825:14
[INFO] [stdout]     |
[INFO] [stdout] 825 |             1...3 => {
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1137:17
[INFO] [stdout]      |
[INFO] [stdout] 1137 |             0x00...0x1f => (get_opcode(btm_5(first), 0), vec![Small, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1138:17
[INFO] [stdout]      |
[INFO] [stdout] 1138 |             0x20...0x3f => (get_opcode(btm_5(first), 0), vec![Small, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1139:17
[INFO] [stdout]      |
[INFO] [stdout] 1139 |             0x40...0x5f => (get_opcode(btm_5(first), 0), vec![Variable, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1140:17
[INFO] [stdout]      |
[INFO] [stdout] 1140 |             0x60...0x7f => (get_opcode(btm_5(first), 0), vec![Variable, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1141:17
[INFO] [stdout]      |
[INFO] [stdout] 1141 |             0x80...0x8f => (get_opcode(btm_4(first), 128), vec![Large]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1142:17
[INFO] [stdout]      |
[INFO] [stdout] 1142 |             0x90...0x9f => (get_opcode(btm_4(first), 128), vec![Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1143:17
[INFO] [stdout]      |
[INFO] [stdout] 1143 |             0xa0...0xaf => (get_opcode(btm_4(first), 128), vec![Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1144:17
[INFO] [stdout]      |
[INFO] [stdout] 1144 |             0xb0...0xbd | 0xbf => (get_opcode(btm_4(first), 176), vec![]), // OP_0
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1145:17
[INFO] [stdout]      |
[INFO] [stdout] 1145 |             0xc0...0xdf => (get_opcode(btm_5(first), 0), get_types(&[read.byte()])),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1146:17
[INFO] [stdout]      |
[INFO] [stdout] 1146 |             0xe0...0xff => {
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2025:18
[INFO] [stdout]      |
[INFO] [stdout] 2025 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/rust/zmachine.rs:2578:10
[INFO] [stdout]      |
[INFO] [stdout] 2578 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2545:18
[INFO] [stdout]      |
[INFO] [stdout] 2545 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rust/instruction.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 1...15 => write!(f, "local{}", x - 1),
[INFO] [stdout]    |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/instruction.rs:365:18
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 1...15 => write!(f, " -> local{}", x - 1),
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_terminal.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:158:39
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<UI>, options: Options) -> Zmachine {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<dyn UI>, options: Options) -> Zmachine {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `term_size` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_terminal.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use term_size;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/rust/main.terminal.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | extern crate term_size;
[INFO] [stdout]   | ----------------------- the item `term_size` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/zmachine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/b0696a5160711c068cb1f01b7437db7990d15750/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `base64` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use base64;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.terminal.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | extern crate base64;
[INFO] [stdout]    | -------------------- the item `base64` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `rand` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rand;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.terminal.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout] 4  | extern crate rand;
[INFO] [stdout]    | ------------------ the item `rand` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.terminal.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:262:14
[INFO] [stdout]     |
[INFO] [stdout] 262 |             1...3 => addr * 2,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:263:14
[INFO] [stdout]     |
[INFO] [stdout] 263 |             4...7 => addr * 4,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 271 |             x @ 6...7 => x + self.routine_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:278:18
[INFO] [stdout]     |
[INFO] [stdout] 278 |             x @ 6...7 => x + self.string_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:340:14
[INFO] [stdout]     |
[INFO] [stdout] 340 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:341:15
[INFO] [stdout]     |
[INFO] [stdout] 341 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:350:14
[INFO] [stdout]     |
[INFO] [stdout] 350 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:351:15
[INFO] [stdout]     |
[INFO] [stdout] 351 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:360:14
[INFO] [stdout]     |
[INFO] [stdout] 360 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:361:15
[INFO] [stdout]     |
[INFO] [stdout] 361 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:373:14
[INFO] [stdout]     |
[INFO] [stdout] 373 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:825:14
[INFO] [stdout]     |
[INFO] [stdout] 825 |             1...3 => {
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1137:17
[INFO] [stdout]      |
[INFO] [stdout] 1137 |             0x00...0x1f => (get_opcode(btm_5(first), 0), vec![Small, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1138:17
[INFO] [stdout]      |
[INFO] [stdout] 1138 |             0x20...0x3f => (get_opcode(btm_5(first), 0), vec![Small, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1139:17
[INFO] [stdout]      |
[INFO] [stdout] 1139 |             0x40...0x5f => (get_opcode(btm_5(first), 0), vec![Variable, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1140:17
[INFO] [stdout]      |
[INFO] [stdout] 1140 |             0x60...0x7f => (get_opcode(btm_5(first), 0), vec![Variable, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1141:17
[INFO] [stdout]      |
[INFO] [stdout] 1141 |             0x80...0x8f => (get_opcode(btm_4(first), 128), vec![Large]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1142:17
[INFO] [stdout]      |
[INFO] [stdout] 1142 |             0x90...0x9f => (get_opcode(btm_4(first), 128), vec![Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1143:17
[INFO] [stdout]      |
[INFO] [stdout] 1143 |             0xa0...0xaf => (get_opcode(btm_4(first), 128), vec![Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<UI>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<dyn UI>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1144:17
[INFO] [stdout]      |
[INFO] [stdout] 1144 |             0xb0...0xbd | 0xbf => (get_opcode(btm_4(first), 176), vec![]), // OP_0
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1145:17
[INFO] [stdout]      |
[INFO] [stdout] 1145 |             0xc0...0xdf => (get_opcode(btm_5(first), 0), get_types(&[read.byte()])),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1146:17
[INFO] [stdout]      |
[INFO] [stdout] 1146 |             0xe0...0xff => {
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2025:18
[INFO] [stdout]      |
[INFO] [stdout] 2025 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/rust/zmachine.rs:2578:10
[INFO] [stdout]      |
[INFO] [stdout] 2578 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2545:18
[INFO] [stdout]      |
[INFO] [stdout] 2545 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:158:39
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<UI>, options: Options) -> Zmachine {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<dyn UI>, options: Options) -> Zmachine {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<UI>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<dyn UI>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:158:39
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<UI>, options: Options) -> Zmachine {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<dyn UI>, options: Options) -> Zmachine {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `encrusted` (lib test) due to 2 previous errors; 36 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `encrusted` (lib) due to 2 previous errors; 36 warnings emitted
[INFO] [stdout] warning: method `flush` is never used
[INFO] [stdout]   --> src/rust/traits.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 1  | pub trait UI {
[INFO] [stdout]    |           -- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn flush(&mut self);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flush` is never used
[INFO] [stdout]   --> src/rust/traits.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 1  | pub trait UI {
[INFO] [stdout]    |           -- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn flush(&mut self);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 37 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 37 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b604c52ed9f4732fd40397d79646135123ebe085f1959f8a7bee96f76a9df140", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b604c52ed9f4732fd40397d79646135123ebe085f1959f8a7bee96f76a9df140", kill_on_drop: false }`
[INFO] [stdout] b604c52ed9f4732fd40397d79646135123ebe085f1959f8a7bee96f76a9df140
[INFO] checking encrusted-1.1.0 against try#bfe97fcae016881ad333f0ff8cea2cadb9cf136c for pr-121848
[INFO] extracting crate encrusted 1.1.0 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate encrusted 1.1.0 on toolchain bfe97fcae016881ad333f0ff8cea2cadb9cf136c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate encrusted 1.1.0
[INFO] finished tweaking crates.io crate encrusted 1.1.0
[INFO] tweaked toml for crates.io crate encrusted 1.1.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 30e27c5dc5068217b635c23a03722164e1bfbf8fa8fe91bd762b5c280f510097
[INFO] running `Command { std: "docker" "start" "-a" "30e27c5dc5068217b635c23a03722164e1bfbf8fa8fe91bd762b5c280f510097", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "30e27c5dc5068217b635c23a03722164e1bfbf8fa8fe91bd762b5c280f510097", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30e27c5dc5068217b635c23a03722164e1bfbf8fa8fe91bd762b5c280f510097", kill_on_drop: false }`
[INFO] [stdout] 30e27c5dc5068217b635c23a03722164e1bfbf8fa8fe91bd762b5c280f510097
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+bfe97fcae016881ad333f0ff8cea2cadb9cf136c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0b4fbdde737be2220b9d316b761a9acc36308ac09fb954224a5c75e2b305825a
[INFO] running `Command { std: "docker" "start" "-a" "0b4fbdde737be2220b9d316b761a9acc36308ac09fb954224a5c75e2b305825a", kill_on_drop: false }`
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking base64 v0.10.1
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking term_size v0.3.2
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking encrusted v1.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0463]: can't find crate for `wasm_glue`
[INFO] [stdout]  --> src/rust/main.web.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | extern crate wasm_glue;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `wasm_glue`
[INFO] [stdout]  --> src/rust/main.web.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | extern crate wasm_glue;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rust/instruction.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 1...15 => write!(f, "local{}", x - 1),
[INFO] [stdout]    |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/instruction.rs:365:18
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 1...15 => write!(f, " -> local{}", x - 1),
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_web.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/bfe97fcae016881ad333f0ff8cea2cadb9cf136c/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_web.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/rust/main.web.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | extern crate serde_json;
[INFO] [stdout]   | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/zmachine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/bfe97fcae016881ad333f0ff8cea2cadb9cf136c/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `base64` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use base64;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.web.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate base64;
[INFO] [stdout]    | -------------------- the item `base64` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.web.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:262:14
[INFO] [stdout]     |
[INFO] [stdout] 262 |             1...3 => addr * 2,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:263:14
[INFO] [stdout]     |
[INFO] [stdout] 263 |             4...7 => addr * 4,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 271 |             x @ 6...7 => x + self.routine_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:278:18
[INFO] [stdout]     |
[INFO] [stdout] 278 |             x @ 6...7 => x + self.string_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:340:14
[INFO] [stdout]     |
[INFO] [stdout] 340 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:341:15
[INFO] [stdout]     |
[INFO] [stdout] 341 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:350:14
[INFO] [stdout]     |
[INFO] [stdout] 350 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:351:15
[INFO] [stdout]     |
[INFO] [stdout] 351 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:360:14
[INFO] [stdout]     |
[INFO] [stdout] 360 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:361:15
[INFO] [stdout]     |
[INFO] [stdout] 361 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:373:14
[INFO] [stdout]     |
[INFO] [stdout] 373 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:825:14
[INFO] [stdout]     |
[INFO] [stdout] 825 |             1...3 => {
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1137:17
[INFO] [stdout]      |
[INFO] [stdout] 1137 |             0x00...0x1f => (get_opcode(btm_5(first), 0), vec![Small, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1138:17
[INFO] [stdout]      |
[INFO] [stdout] 1138 |             0x20...0x3f => (get_opcode(btm_5(first), 0), vec![Small, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1139:17
[INFO] [stdout]      |
[INFO] [stdout] 1139 |             0x40...0x5f => (get_opcode(btm_5(first), 0), vec![Variable, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1140:17
[INFO] [stdout]      |
[INFO] [stdout] 1140 |             0x60...0x7f => (get_opcode(btm_5(first), 0), vec![Variable, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1141:17
[INFO] [stdout]      |
[INFO] [stdout] 1141 |             0x80...0x8f => (get_opcode(btm_4(first), 128), vec![Large]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1142:17
[INFO] [stdout]      |
[INFO] [stdout] 1142 |             0x90...0x9f => (get_opcode(btm_4(first), 128), vec![Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1143:17
[INFO] [stdout]      |
[INFO] [stdout] 1143 |             0xa0...0xaf => (get_opcode(btm_4(first), 128), vec![Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1144:17
[INFO] [stdout]      |
[INFO] [stdout] 1144 |             0xb0...0xbd | 0xbf => (get_opcode(btm_4(first), 176), vec![]), // OP_0
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1145:17
[INFO] [stdout]      |
[INFO] [stdout] 1145 |             0xc0...0xdf => (get_opcode(btm_5(first), 0), get_types(&[read.byte()])),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1146:17
[INFO] [stdout]      |
[INFO] [stdout] 1146 |             0xe0...0xff => {
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2025:18
[INFO] [stdout]      |
[INFO] [stdout] 2025 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/rust/zmachine.rs:2578:10
[INFO] [stdout]      |
[INFO] [stdout] 2578 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2545:18
[INFO] [stdout]      |
[INFO] [stdout] 2545 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rust/instruction.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 1...15 => write!(f, "local{}", x - 1),
[INFO] [stdout]    |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/instruction.rs:365:18
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 1...15 => write!(f, " -> local{}", x - 1),
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_web.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/bfe97fcae016881ad333f0ff8cea2cadb9cf136c/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_web.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde_json;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/rust/main.web.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | extern crate serde_json;
[INFO] [stdout]   | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/zmachine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/bfe97fcae016881ad333f0ff8cea2cadb9cf136c/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `base64` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use base64;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.web.rs:3:1
[INFO] [stdout]    |
[INFO] [stdout] 3  | extern crate base64;
[INFO] [stdout]    | -------------------- the item `base64` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.web.rs:5:1
[INFO] [stdout]    |
[INFO] [stdout] 5  | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:262:14
[INFO] [stdout]     |
[INFO] [stdout] 262 |             1...3 => addr * 2,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:263:14
[INFO] [stdout]     |
[INFO] [stdout] 263 |             4...7 => addr * 4,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 271 |             x @ 6...7 => x + self.routine_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:278:18
[INFO] [stdout]     |
[INFO] [stdout] 278 |             x @ 6...7 => x + self.string_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:340:14
[INFO] [stdout]     |
[INFO] [stdout] 340 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:341:15
[INFO] [stdout]     |
[INFO] [stdout] 341 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:350:14
[INFO] [stdout]     |
[INFO] [stdout] 350 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:351:15
[INFO] [stdout]     |
[INFO] [stdout] 351 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:360:14
[INFO] [stdout]     |
[INFO] [stdout] 360 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:361:15
[INFO] [stdout]     |
[INFO] [stdout] 361 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:373:14
[INFO] [stdout]     |
[INFO] [stdout] 373 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:825:14
[INFO] [stdout]     |
[INFO] [stdout] 825 |             1...3 => {
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1137:17
[INFO] [stdout]      |
[INFO] [stdout] 1137 |             0x00...0x1f => (get_opcode(btm_5(first), 0), vec![Small, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1138:17
[INFO] [stdout]      |
[INFO] [stdout] 1138 |             0x20...0x3f => (get_opcode(btm_5(first), 0), vec![Small, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1139:17
[INFO] [stdout]      |
[INFO] [stdout] 1139 |             0x40...0x5f => (get_opcode(btm_5(first), 0), vec![Variable, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1140:17
[INFO] [stdout]      |
[INFO] [stdout] 1140 |             0x60...0x7f => (get_opcode(btm_5(first), 0), vec![Variable, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1141:17
[INFO] [stdout]      |
[INFO] [stdout] 1141 |             0x80...0x8f => (get_opcode(btm_4(first), 128), vec![Large]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1142:17
[INFO] [stdout]      |
[INFO] [stdout] 1142 |             0x90...0x9f => (get_opcode(btm_4(first), 128), vec![Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1143:17
[INFO] [stdout]      |
[INFO] [stdout] 1143 |             0xa0...0xaf => (get_opcode(btm_4(first), 128), vec![Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1144:17
[INFO] [stdout]      |
[INFO] [stdout] 1144 |             0xb0...0xbd | 0xbf => (get_opcode(btm_4(first), 176), vec![]), // OP_0
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1145:17
[INFO] [stdout]      |
[INFO] [stdout] 1145 |             0xc0...0xdf => (get_opcode(btm_5(first), 0), get_types(&[read.byte()])),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1146:17
[INFO] [stdout]      |
[INFO] [stdout] 1146 |             0xe0...0xff => {
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2025:18
[INFO] [stdout]      |
[INFO] [stdout] 2025 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/rust/zmachine.rs:2578:10
[INFO] [stdout]      |
[INFO] [stdout] 2578 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2545:18
[INFO] [stdout]      |
[INFO] [stdout] 2545 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `slice_patterns` has been stable since 1.42.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/rust/main.web.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(slice_patterns)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<UI>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<dyn UI>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:158:39
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<UI>, options: Options) -> Zmachine {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<dyn UI>, options: Options) -> Zmachine {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rust/instruction.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 1...15 => write!(f, "local{}", x - 1),
[INFO] [stdout]    |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `slice_patterns` has been stable since 1.42.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/rust/main.web.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(slice_patterns)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/instruction.rs:365:18
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 1...15 => write!(f, " -> local{}", x - 1),
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_terminal.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/bfe97fcae016881ad333f0ff8cea2cadb9cf136c/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `term_size` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_terminal.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use term_size;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/rust/main.terminal.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | extern crate term_size;
[INFO] [stdout]   | ----------------------- the item `term_size` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<UI>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<dyn UI>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/zmachine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/bfe97fcae016881ad333f0ff8cea2cadb9cf136c/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `base64` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use base64;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.terminal.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | extern crate base64;
[INFO] [stdout]    | -------------------- the item `base64` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `rand` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rand;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.terminal.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout] 4  | extern crate rand;
[INFO] [stdout]    | ------------------ the item `rand` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.terminal.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:262:14
[INFO] [stdout]     |
[INFO] [stdout] 262 |             1...3 => addr * 2,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:263:14
[INFO] [stdout]     |
[INFO] [stdout] 263 |             4...7 => addr * 4,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 271 |             x @ 6...7 => x + self.routine_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:278:18
[INFO] [stdout]     |
[INFO] [stdout] 278 |             x @ 6...7 => x + self.string_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:340:14
[INFO] [stdout]     |
[INFO] [stdout] 340 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:341:15
[INFO] [stdout]     |
[INFO] [stdout] 341 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:350:14
[INFO] [stdout]     |
[INFO] [stdout] 350 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:351:15
[INFO] [stdout]     |
[INFO] [stdout] 351 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:360:14
[INFO] [stdout]     |
[INFO] [stdout] 360 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:361:15
[INFO] [stdout]     |
[INFO] [stdout] 361 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:373:14
[INFO] [stdout]     |
[INFO] [stdout] 373 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/rust/instruction.rs:88:18
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 1...15 => write!(f, "local{}", x - 1),
[INFO] [stdout]    |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/instruction.rs:365:18
[INFO] [stdout]     |
[INFO] [stdout] 365 |                 1...15 => write!(f, " -> local{}", x - 1),
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_terminal.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/bfe97fcae016881ad333f0ff8cea2cadb9cf136c/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:825:14
[INFO] [stdout]     |
[INFO] [stdout] 825 |             1...3 => {
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:158:39
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<UI>, options: Options) -> Zmachine {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<dyn UI>, options: Options) -> Zmachine {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `term_size` is imported redundantly
[INFO] [stdout]  --> src/rust/ui_terminal.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use term_size;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]  ::: src/rust/main.terminal.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | extern crate term_size;
[INFO] [stdout]   | ----------------------- the item `term_size` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1137:17
[INFO] [stdout]      |
[INFO] [stdout] 1137 |             0x00...0x1f => (get_opcode(btm_5(first), 0), vec![Small, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Box` is imported redundantly
[INFO] [stdout]  --> src/rust/zmachine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::boxed::Box;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/bfe97fcae016881ad333f0ff8cea2cadb9cf136c/library/std/src/prelude/mod.rs:105:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Box` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1138:17
[INFO] [stdout]      |
[INFO] [stdout] 1138 |             0x20...0x3f => (get_opcode(btm_5(first), 0), vec![Small, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1139:17
[INFO] [stdout]      |
[INFO] [stdout] 1139 |             0x40...0x5f => (get_opcode(btm_5(first), 0), vec![Variable, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `base64` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use base64;
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.terminal.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | extern crate base64;
[INFO] [stdout]    | -------------------- the item `base64` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1140:17
[INFO] [stdout]      |
[INFO] [stdout] 1140 |             0x60...0x7f => (get_opcode(btm_5(first), 0), vec![Variable, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `rand` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rand;
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.terminal.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout] 4  | extern crate rand;
[INFO] [stdout]    | ------------------ the item `rand` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1141:17
[INFO] [stdout]      |
[INFO] [stdout] 1141 |             0x80...0x8f => (get_opcode(btm_4(first), 128), vec![Large]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `serde_json` is imported redundantly
[INFO] [stdout]   --> src/rust/zmachine.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use serde_json;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/rust/main.terminal.rs:6:1
[INFO] [stdout]    |
[INFO] [stdout] 6  | extern crate serde_json;
[INFO] [stdout]    | ------------------------ the item `serde_json` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1142:17
[INFO] [stdout]      |
[INFO] [stdout] 1142 |             0x90...0x9f => (get_opcode(btm_4(first), 128), vec![Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1143:17
[INFO] [stdout]      |
[INFO] [stdout] 1143 |             0xa0...0xaf => (get_opcode(btm_4(first), 128), vec![Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1144:17
[INFO] [stdout]      |
[INFO] [stdout] 1144 |             0xb0...0xbd | 0xbf => (get_opcode(btm_4(first), 176), vec![]), // OP_0
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1145:17
[INFO] [stdout]      |
[INFO] [stdout] 1145 |             0xc0...0xdf => (get_opcode(btm_5(first), 0), get_types(&[read.byte()])),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1146:17
[INFO] [stdout]      |
[INFO] [stdout] 1146 |             0xe0...0xff => {
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:262:14
[INFO] [stdout]     |
[INFO] [stdout] 262 |             1...3 => addr * 2,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2025:18
[INFO] [stdout]      |
[INFO] [stdout] 2025 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:263:14
[INFO] [stdout]     |
[INFO] [stdout] 263 |             4...7 => addr * 4,
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:271:18
[INFO] [stdout]     |
[INFO] [stdout] 271 |             x @ 6...7 => x + self.routine_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/rust/zmachine.rs:2578:10
[INFO] [stdout]      |
[INFO] [stdout] 2578 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2545:18
[INFO] [stdout]      |
[INFO] [stdout] 2545 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:278:18
[INFO] [stdout]     |
[INFO] [stdout] 278 |             x @ 6...7 => x + self.string_offset * 8,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:340:14
[INFO] [stdout]     |
[INFO] [stdout] 340 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:341:15
[INFO] [stdout]     |
[INFO] [stdout] 341 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:350:14
[INFO] [stdout]     |
[INFO] [stdout] 350 |             1...15 => self.read_local(index - 1),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:351:15
[INFO] [stdout]     |
[INFO] [stdout] 351 |             16...255 => self.read_global(index - 16),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:360:14
[INFO] [stdout]     |
[INFO] [stdout] 360 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:361:15
[INFO] [stdout]     |
[INFO] [stdout] 361 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:373:14
[INFO] [stdout]     |
[INFO] [stdout] 373 |             1...15 => self.write_local(index - 1, value),
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:374:15
[INFO] [stdout]     |
[INFO] [stdout] 374 |             16...255 => self.write_global(index - 16, value),
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:825:14
[INFO] [stdout]     |
[INFO] [stdout] 825 |             1...3 => {
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1137:17
[INFO] [stdout]      |
[INFO] [stdout] 1137 |             0x00...0x1f => (get_opcode(btm_5(first), 0), vec![Small, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1138:17
[INFO] [stdout]      |
[INFO] [stdout] 1138 |             0x20...0x3f => (get_opcode(btm_5(first), 0), vec![Small, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1139:17
[INFO] [stdout]      |
[INFO] [stdout] 1139 |             0x40...0x5f => (get_opcode(btm_5(first), 0), vec![Variable, Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1140:17
[INFO] [stdout]      |
[INFO] [stdout] 1140 |             0x60...0x7f => (get_opcode(btm_5(first), 0), vec![Variable, Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1141:17
[INFO] [stdout]      |
[INFO] [stdout] 1141 |             0x80...0x8f => (get_opcode(btm_4(first), 128), vec![Large]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1142:17
[INFO] [stdout]      |
[INFO] [stdout] 1142 |             0x90...0x9f => (get_opcode(btm_4(first), 128), vec![Small]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1143:17
[INFO] [stdout]      |
[INFO] [stdout] 1143 |             0xa0...0xaf => (get_opcode(btm_4(first), 128), vec![Variable]),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1144:17
[INFO] [stdout]      |
[INFO] [stdout] 1144 |             0xb0...0xbd | 0xbf => (get_opcode(btm_4(first), 176), vec![]), // OP_0
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1145:17
[INFO] [stdout]      |
[INFO] [stdout] 1145 |             0xc0...0xdf => (get_opcode(btm_5(first), 0), get_types(&[read.byte()])),
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:1146:17
[INFO] [stdout]      |
[INFO] [stdout] 1146 |             0xe0...0xff => {
[INFO] [stdout]      |                 ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2025:18
[INFO] [stdout]      |
[INFO] [stdout] 2025 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/rust/zmachine.rs:2578:10
[INFO] [stdout]      |
[INFO] [stdout] 2578 |         };
[INFO] [stdout]      |          ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]     --> src/rust/zmachine.rs:2545:18
[INFO] [stdout]      |
[INFO] [stdout] 2545 |                 1...4 => locals.push(read.word()),
[INFO] [stdout]      |                  ^^^ help: use `..=` for an inclusive range
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<UI>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<dyn UI>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:127:17
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<UI>,
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub ui: Box<dyn UI>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:158:39
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<UI>, options: Options) -> Zmachine {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<dyn UI>, options: Options) -> Zmachine {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rust/zmachine.rs:158:39
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<UI>, options: Options) -> Zmachine {
[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/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn new(data: Vec<u8>, ui: Box<dyn UI>, options: Options) -> Zmachine {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 36 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `encrusted` (lib) due to 2 previous errors; 36 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `encrusted` (lib test) due to 2 previous errors; 36 warnings emitted
[INFO] [stdout] warning: method `flush` is never used
[INFO] [stdout]   --> src/rust/traits.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 1  | pub trait UI {
[INFO] [stdout]    |           -- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn flush(&mut self);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 37 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `flush` is never used
[INFO] [stdout]   --> src/rust/traits.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 1  | pub trait UI {
[INFO] [stdout]    |           -- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 16 |     fn flush(&mut self);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 37 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "0b4fbdde737be2220b9d316b761a9acc36308ac09fb954224a5c75e2b305825a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0b4fbdde737be2220b9d316b761a9acc36308ac09fb954224a5c75e2b305825a", kill_on_drop: false }`
[INFO] [stdout] 0b4fbdde737be2220b9d316b761a9acc36308ac09fb954224a5c75e2b305825a
