[INFO] fetching crate euphrates 0.1.0...
[INFO] checking euphrates-0.1.0 against master#b3bd7058c139e71bae0862ef8f8ac936208873e9 for pr-123752
[INFO] extracting crate euphrates 0.1.0 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate euphrates 0.1.0 on toolchain b3bd7058c139e71bae0862ef8f8ac936208873e9
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b3bd7058c139e71bae0862ef8f8ac936208873e9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate euphrates 0.1.0
[INFO] finished tweaking crates.io crate euphrates 0.1.0
[INFO] tweaked toml for crates.io crate euphrates 0.1.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b3bd7058c139e71bae0862ef8f8ac936208873e9" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 63 packages
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding cloudabi v0.0.3 (latest: v0.1.0)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] [stderr]       Adding rand v0.4.6 (latest: v0.8.5)
[INFO] [stderr]       Adding rand v0.5.6 (latest: v0.8.5)
[INFO] [stderr]       Adding rand_core v0.3.1 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.4.2 (latest: v0.6.4)
[INFO] [stderr]       Adding rdrand v0.4.0 (latest: v0.8.3)
[INFO] [stderr]       Adding remove_dir_all v0.5.3 (latest: v0.8.2)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.58)
[INFO] [stderr]       Adding synstructure v0.12.6 (latest: v0.13.1)
[INFO] [stderr]       Adding windows-core v0.52.0 (latest: v0.55.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b3bd7058c139e71bae0862ef8f8ac936208873e9" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+b3bd7058c139e71bae0862ef8f8ac936208873e9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 856de827babb252a2e6de1900a4c4f78ac06b0378e02d8cd091a94771b675273
[INFO] running `Command { std: "docker" "start" "-a" "856de827babb252a2e6de1900a4c4f78ac06b0378e02d8cd091a94771b675273", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "856de827babb252a2e6de1900a4c4f78ac06b0378e02d8cd091a94771b675273", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "856de827babb252a2e6de1900a4c4f78ac06b0378e02d8cd091a94771b675273", kill_on_drop: false }`
[INFO] [stdout] 856de827babb252a2e6de1900a4c4f78ac06b0378e02d8cd091a94771b675273
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+b3bd7058c139e71bae0862ef8f8ac936208873e9" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cb09b6f194dd0e4428ed56db6fd62dbfc6f552a25540dc1052701821675a930c
[INFO] running `Command { std: "docker" "start" "-a" "cb09b6f194dd0e4428ed56db6fd62dbfc6f552a25540dc1052701821675a930c", kill_on_drop: false }`
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling syn v2.0.58
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking backtrace v0.3.71
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking euphrates v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]    --> src/hardware/sms_memory.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 341 |     use super::*;
[INFO] [stdout]     |         -------- the item `Arc` is already imported here
[INFO] [stdout] 342 |     use std::sync::Arc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnsafeCell` is imported redundantly
[INFO] [stdout]    --> src/hardware/sms_memory.rs:742:9
[INFO] [stdout]     |
[INFO] [stdout] 742 |     use std::cell::UnsafeCell;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 745 |     use super::*;
[INFO] [stdout]     |         -------- the item `UnsafeCell` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `drop` is imported redundantly
[INFO] [stdout]   --> src/hardware/sms_roms.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     use std::mem::drop;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/b3bd7058c139e71bae0862ef8f8ac936208873e9/library/std/src/prelude/mod.rs:124:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `drop` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/hardware/sms_vdp/graphics.rs:684:48
[INFO] [stdout]     |
[INFO] [stdout] 684 |                 let tile_col = if horiz_flip { (7 - j) } else { j };
[INFO] [stdout]     |                                                ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 684 -                 let tile_col = if horiz_flip { (7 - j) } else { j };
[INFO] [stdout] 684 +                 let tile_col = if horiz_flip { 7 - j } else { j };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/hardware/sms_vdp/vdp_interface.rs:153:26
[INFO] [stdout]     |
[INFO] [stdout] 153 |             (Ntsc, Low, 0...0xDA) => v,
[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/hardware/sms_vdp/vdp_interface.rs:155:29
[INFO] [stdout]     |
[INFO] [stdout] 155 |             (Ntsc, Medium, 0...0xEA) => v,
[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/hardware/sms_vdp/vdp_interface.rs:157:27
[INFO] [stdout]     |
[INFO] [stdout] 157 |             (Ntsc, High, 0...0xFF) => v,
[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/hardware/sms_vdp/vdp_interface.rs:159:25
[INFO] [stdout]     |
[INFO] [stdout] 159 |             (Pal, Low, 0...0xF2) => v,
[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/hardware/sms_vdp/vdp_interface.rs:161:28
[INFO] [stdout]     |
[INFO] [stdout] 161 |             (Pal, Medium, 0...0xFF) => v,
[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/hardware/sms_vdp/vdp_interface.rs:162:32
[INFO] [stdout]     |
[INFO] [stdout] 162 |             (Pal, Medium, 0x100...0x102) => v - 0x100,
[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/hardware/sms_vdp/vdp_interface.rs:164:26
[INFO] [stdout]     |
[INFO] [stdout] 164 |             (Pal, High, 0...0xFF) => v,
[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/hardware/sms_vdp/vdp_interface.rs:165:30
[INFO] [stdout]     |
[INFO] [stdout] 165 |             (Pal, High, 0x100...0x10A) => v - 0x100,
[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 `std` is imported redundantly
[INFO] [stdout]  --> src/hardware/sms_vdp/vdp_internal.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `SmsVdpState` is imported redundantly
[INFO] [stdout]    --> src/hardware/sms_vdp/vdp_internal.rs:776:9
[INFO] [stdout]     |
[INFO] [stdout] 775 |     use super::super::*;
[INFO] [stdout]     |         --------------- the item `SmsVdpState` is already imported here
[INFO] [stdout] 776 |     use super::SmsVdpState;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/hardware/z80/no.rs:85:22
[INFO] [stdout]    |
[INFO] [stdout] 85 |             (false, 0...9, false, 0...9) => 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/hardware/z80/no.rs:85:36
[INFO] [stdout]    |
[INFO] [stdout] 85 |             (false, 0...9, false, 0...9) => 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/hardware/z80/no.rs:86:22
[INFO] [stdout]    |
[INFO] [stdout] 86 |             (false, 0...9, true, 0...9) => 0x6,
[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/hardware/z80/no.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 |             (false, 0...9, true, 0...9) => 0x6,
[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/hardware/z80/no.rs:87:22
[INFO] [stdout]    |
[INFO] [stdout] 87 |             (false, 0...8, _, 0xA...0xF) => 0x6,
[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/hardware/z80/no.rs:87:34
[INFO] [stdout]    |
[INFO] [stdout] 87 |             (false, 0...8, _, 0xA...0xF) => 0x6,
[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/hardware/z80/no.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 |             (false, 0xA...0xF, false, 0...9) => 0x60,
[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/hardware/z80/no.rs:88:40
[INFO] [stdout]    |
[INFO] [stdout] 88 |             (false, 0xA...0xF, false, 0...9) => 0x60,
[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/hardware/z80/no.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |             (true, _, false, 0...9) => 0x60,
[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/hardware/z80/no.rs:94:22
[INFO] [stdout]    |
[INFO] [stdout] 94 |             (false, 0...9, 0...9) => 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/hardware/z80/no.rs:94:29
[INFO] [stdout]    |
[INFO] [stdout] 94 |             (false, 0...9, 0...9) => 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/hardware/z80/no.rs:95:22
[INFO] [stdout]    |
[INFO] [stdout] 95 |             (false, 0...8, 0xA...0xF) => 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/hardware/z80/no.rs:95:31
[INFO] [stdout]    |
[INFO] [stdout] 95 |             (false, 0...8, 0xA...0xF) => 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/hardware/z80/no.rs:100:27
[INFO] [stdout]     |
[INFO] [stdout] 100 |             (false, _, 0xA...0xF) => 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/hardware/z80/no.rs:101:27
[INFO] [stdout]     |
[INFO] [stdout] 101 |             (true, true, 0...5) => 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 `fmt` is imported redundantly
[INFO] [stdout]  --> src/hardware/z80/internal.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 2 |
[INFO] [stdout] 3 | use super::*;
[INFO] [stdout]   |     -------- the item `fmt` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `fmt` is imported redundantly
[INFO] [stdout]  --> src/hardware/z80/memo.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{self, Display};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5 | use super::*;
[INFO] [stdout]   |     -------- the item `fmt` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/host_multimedia.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/save.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bincode` is imported redundantly
[INFO] [stdout]   --> src/save.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use bincode;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  | extern crate bincode;
[INFO] [stdout]    | --------------------- the item `bincode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Opcode` is imported redundantly
[INFO] [stdout]  --> src/systems/sms/inbox.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hardware::z80::{Opcode, TargetMnemonic};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 | use super::*;
[INFO] [stdout]   |     -------- the item `Opcode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TargetMnemonic` is imported redundantly
[INFO] [stdout]  --> src/systems/sms/inbox.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hardware::z80::{Opcode, TargetMnemonic};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 | use super::*;
[INFO] [stdout]   |     -------- the item `TargetMnemonic` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]    --> src/hardware/sms_memory.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 341 |     use super::*;
[INFO] [stdout]     |         -------- the item `Arc` is already imported here
[INFO] [stdout] 342 |     use std::sync::Arc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnsafeCell` is imported redundantly
[INFO] [stdout]    --> src/hardware/sms_memory.rs:742:9
[INFO] [stdout]     |
[INFO] [stdout] 742 |     use std::cell::UnsafeCell;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 745 |     use super::*;
[INFO] [stdout]     |         -------- the item `UnsafeCell` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `drop` is imported redundantly
[INFO] [stdout]   --> src/hardware/sms_roms.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     use std::mem::drop;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/b3bd7058c139e71bae0862ef8f8ac936208873e9/library/std/src/prelude/mod.rs:124:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `drop` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/hardware/sms_vdp/graphics.rs:684:48
[INFO] [stdout]     |
[INFO] [stdout] 684 |                 let tile_col = if horiz_flip { (7 - j) } else { j };
[INFO] [stdout]     |                                                ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 684 -                 let tile_col = if horiz_flip { (7 - j) } else { j };
[INFO] [stdout] 684 +                 let tile_col = if horiz_flip { 7 - j } else { j };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/hardware/sms_vdp/vdp_interface.rs:153:26
[INFO] [stdout]     |
[INFO] [stdout] 153 |             (Ntsc, Low, 0...0xDA) => v,
[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/hardware/sms_vdp/vdp_interface.rs:155:29
[INFO] [stdout]     |
[INFO] [stdout] 155 |             (Ntsc, Medium, 0...0xEA) => v,
[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/hardware/sms_vdp/vdp_interface.rs:157:27
[INFO] [stdout]     |
[INFO] [stdout] 157 |             (Ntsc, High, 0...0xFF) => v,
[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/hardware/sms_vdp/vdp_interface.rs:159:25
[INFO] [stdout]     |
[INFO] [stdout] 159 |             (Pal, Low, 0...0xF2) => v,
[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/hardware/sms_vdp/vdp_interface.rs:161:28
[INFO] [stdout]     |
[INFO] [stdout] 161 |             (Pal, Medium, 0...0xFF) => v,
[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/hardware/sms_vdp/vdp_interface.rs:162:32
[INFO] [stdout]     |
[INFO] [stdout] 162 |             (Pal, Medium, 0x100...0x102) => v - 0x100,
[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/hardware/sms_vdp/vdp_interface.rs:164:26
[INFO] [stdout]     |
[INFO] [stdout] 164 |             (Pal, High, 0...0xFF) => v,
[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/hardware/sms_vdp/vdp_interface.rs:165:30
[INFO] [stdout]     |
[INFO] [stdout] 165 |             (Pal, High, 0x100...0x10A) => v - 0x100,
[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 `std` is imported redundantly
[INFO] [stdout]  --> src/hardware/sms_vdp/vdp_internal.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `SmsVdpState` is imported redundantly
[INFO] [stdout]    --> src/hardware/sms_vdp/vdp_internal.rs:776:9
[INFO] [stdout]     |
[INFO] [stdout] 775 |     use super::super::*;
[INFO] [stdout]     |         --------------- the item `SmsVdpState` is already imported here
[INFO] [stdout] 776 |     use super::SmsVdpState;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/hardware/z80/no.rs:85:22
[INFO] [stdout]    |
[INFO] [stdout] 85 |             (false, 0...9, false, 0...9) => 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/hardware/z80/no.rs:85:36
[INFO] [stdout]    |
[INFO] [stdout] 85 |             (false, 0...9, false, 0...9) => 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/hardware/z80/no.rs:86:22
[INFO] [stdout]    |
[INFO] [stdout] 86 |             (false, 0...9, true, 0...9) => 0x6,
[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/hardware/z80/no.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 |             (false, 0...9, true, 0...9) => 0x6,
[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/hardware/z80/no.rs:87:22
[INFO] [stdout]    |
[INFO] [stdout] 87 |             (false, 0...8, _, 0xA...0xF) => 0x6,
[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/hardware/z80/no.rs:87:34
[INFO] [stdout]    |
[INFO] [stdout] 87 |             (false, 0...8, _, 0xA...0xF) => 0x6,
[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/hardware/z80/no.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 |             (false, 0xA...0xF, false, 0...9) => 0x60,
[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/hardware/z80/no.rs:88:40
[INFO] [stdout]    |
[INFO] [stdout] 88 |             (false, 0xA...0xF, false, 0...9) => 0x60,
[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/hardware/z80/no.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |             (true, _, false, 0...9) => 0x60,
[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/hardware/z80/no.rs:94:22
[INFO] [stdout]    |
[INFO] [stdout] 94 |             (false, 0...9, 0...9) => 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/hardware/z80/no.rs:94:29
[INFO] [stdout]    |
[INFO] [stdout] 94 |             (false, 0...9, 0...9) => 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/hardware/z80/no.rs:95:22
[INFO] [stdout]    |
[INFO] [stdout] 95 |             (false, 0...8, 0xA...0xF) => 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/hardware/z80/no.rs:95:31
[INFO] [stdout]    |
[INFO] [stdout] 95 |             (false, 0...8, 0xA...0xF) => 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/hardware/z80/no.rs:100:27
[INFO] [stdout]     |
[INFO] [stdout] 100 |             (false, _, 0xA...0xF) => 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/hardware/z80/no.rs:101:27
[INFO] [stdout]     |
[INFO] [stdout] 101 |             (true, true, 0...5) => 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 `fmt` is imported redundantly
[INFO] [stdout]  --> src/hardware/z80/internal.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 2 |
[INFO] [stdout] 3 | use super::*;
[INFO] [stdout]   |     -------- the item `fmt` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `fmt` is imported redundantly
[INFO] [stdout]  --> src/hardware/z80/memo.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{self, Display};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5 | use super::*;
[INFO] [stdout]   |     -------- the item `fmt` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/host_multimedia.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/save.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bincode` is imported redundantly
[INFO] [stdout]   --> src/save.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use bincode;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  | extern crate bincode;
[INFO] [stdout]    | --------------------- the item `bincode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Opcode` is imported redundantly
[INFO] [stdout]  --> src/systems/sms/inbox.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hardware::z80::{Opcode, TargetMnemonic};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 | use super::*;
[INFO] [stdout]   |     -------- the item `Opcode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TargetMnemonic` is imported redundantly
[INFO] [stdout]  --> src/systems/sms/inbox.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hardware::z80::{Opcode, TargetMnemonic};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 | use super::*;
[INFO] [stdout]   |     -------- the item `TargetMnemonic` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 65 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 65 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/hardware/sms_vdp/debug.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 let mut pattern = v.vram(pattern_table + name + tile_line);
[INFO] [stdout]    |                     ----^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/hardware/sms_vdp/debug.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 let mut pattern = v.vram(pattern_table + name + tile_line);
[INFO] [stdout]    |                     ----^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1002:9
[INFO] [stdout]      |
[INFO] [stdout] 1002 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1002:9
[INFO] [stdout]      |
[INFO] [stdout] 1002 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1286:9
[INFO] [stdout]      |
[INFO] [stdout] 1286 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1286:9
[INFO] [stdout]      |
[INFO] [stdout] 1286 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1558:9
[INFO] [stdout]      |
[INFO] [stdout] 1558 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1558:9
[INFO] [stdout]      |
[INFO] [stdout] 1558 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1831:9
[INFO] [stdout]      |
[INFO] [stdout] 1831 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1831:9
[INFO] [stdout]      |
[INFO] [stdout] 1831 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:2104:9
[INFO] [stdout]      |
[INFO] [stdout] 2104 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:2104:9
[INFO] [stdout]      |
[INFO] [stdout] 2104 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:2378:9
[INFO] [stdout]      |
[INFO] [stdout] 2378 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:2378:9
[INFO] [stdout]      |
[INFO] [stdout] 2378 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:2652:9
[INFO] [stdout]      |
[INFO] [stdout] 2652 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:2652:9
[INFO] [stdout]      |
[INFO] [stdout] 2652 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/hardware/sms_memory.rs:644:21
[INFO] [stdout]     |
[INFO] [stdout] 644 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsMemoryLoadError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/hardware/sms_memory.rs:644:21
[INFO] [stdout]     |
[INFO] [stdout] 644 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsMemoryLoadError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_roms.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsRomError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_roms.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsRomError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/hardware/sms_memory.rs:644:21
[INFO] [stdout]     |
[INFO] [stdout] 644 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsMemoryLoadError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/hardware/sms_memory.rs:644:21
[INFO] [stdout]     |
[INFO] [stdout] 644 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsMemoryLoadError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_vdp/graphics.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsVdpGraphicsError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_vdp/graphics.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsVdpGraphicsError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_roms.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsRomError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_roms.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsRomError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_vdp/graphics.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsVdpGraphicsError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_vdp/graphics.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsVdpGraphicsError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsEmulationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsEmulationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsCreationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsCreationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsEmulationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsEmulationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsCreationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsCreationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 58 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 58 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: trait `Changeable` is private
[INFO] [stdout]   --> examples/test_z80_against.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Changeable, Z80Internal, Z80Irq, Z80MemT, Z80Run, Z80RunImpler, Z80State,
[INFO] [stdout]    |     ^^^^^^^^^^ private trait
[INFO] [stdout]    |
[INFO] [stdout] note: the trait `Changeable` is defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hardware/z80/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use self::mem::*;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] help: import `Changeable` directly
[INFO] [stdout]    |
[INFO] [stdout] 63 |     euphrates::hardware::z80::mem::Changeable, Z80Internal, Z80Irq, Z80MemT, Z80Run, Z80RunImpler, Z80State,
[INFO] [stdout]    |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: trait `Z80MemT` is private
[INFO] [stdout]   --> examples/test_z80_against.rs:63:38
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Changeable, Z80Internal, Z80Irq, Z80MemT, Z80Run, Z80RunImpler, Z80State,
[INFO] [stdout]    |                                      ^^^^^^^ private trait
[INFO] [stdout]    |
[INFO] [stdout] note: the trait `Z80MemT` is defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hardware/z80/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use self::mem::*;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] help: import `Z80MemT` directly
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Changeable, Z80Internal, Z80Irq, euphrates::hardware::z80::mem::Z80MemT, Z80Run, Z80RunImpler, Z80State,
[INFO] [stdout]    |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0603`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `euphrates` (example "test_z80_against") due to 3 previous errors
[INFO] running `Command { std: "docker" "inspect" "cb09b6f194dd0e4428ed56db6fd62dbfc6f552a25540dc1052701821675a930c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb09b6f194dd0e4428ed56db6fd62dbfc6f552a25540dc1052701821675a930c", kill_on_drop: false }`
[INFO] [stdout] cb09b6f194dd0e4428ed56db6fd62dbfc6f552a25540dc1052701821675a930c
[INFO] checking euphrates-0.1.0 against try#57fe1b734d9ff1c8a92bda60b85506b9648158d3 for pr-123752
[INFO] extracting crate euphrates 0.1.0 into /workspace/builds/worker-7-tc2/source
[INFO] validating manifest of crates.io crate euphrates 0.1.0 on toolchain 57fe1b734d9ff1c8a92bda60b85506b9648158d3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+57fe1b734d9ff1c8a92bda60b85506b9648158d3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate euphrates 0.1.0
[INFO] finished tweaking crates.io crate euphrates 0.1.0
[INFO] tweaked toml for crates.io crate euphrates 0.1.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+57fe1b734d9ff1c8a92bda60b85506b9648158d3" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 63 packages
[INFO] [stderr]       Adding bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding cloudabi v0.0.3 (latest: v0.1.0)
[INFO] [stderr]       Adding object v0.32.2 (latest: v0.35.0)
[INFO] [stderr]       Adding rand v0.4.6 (latest: v0.8.5)
[INFO] [stderr]       Adding rand v0.5.6 (latest: v0.8.5)
[INFO] [stderr]       Adding rand_core v0.3.1 (latest: v0.6.4)
[INFO] [stderr]       Adding rand_core v0.4.2 (latest: v0.6.4)
[INFO] [stderr]       Adding rdrand v0.4.0 (latest: v0.8.3)
[INFO] [stderr]       Adding remove_dir_all v0.5.3 (latest: v0.8.2)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.58)
[INFO] [stderr]       Adding synstructure v0.12.6 (latest: v0.13.1)
[INFO] [stderr]       Adding windows-core v0.52.0 (latest: v0.55.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+57fe1b734d9ff1c8a92bda60b85506b9648158d3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+57fe1b734d9ff1c8a92bda60b85506b9648158d3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2e5b8f64523bf2592e30384e77f77c68c8e1b78dd2b7d9ffa3c7bdc5ab00fb70
[INFO] running `Command { std: "docker" "start" "-a" "2e5b8f64523bf2592e30384e77f77c68c8e1b78dd2b7d9ffa3c7bdc5ab00fb70", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2e5b8f64523bf2592e30384e77f77c68c8e1b78dd2b7d9ffa3c7bdc5ab00fb70", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e5b8f64523bf2592e30384e77f77c68c8e1b78dd2b7d9ffa3c7bdc5ab00fb70", kill_on_drop: false }`
[INFO] [stdout] 2e5b8f64523bf2592e30384e77f77c68c8e1b78dd2b7d9ffa3c7bdc5ab00fb70
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+57fe1b734d9ff1c8a92bda60b85506b9648158d3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] aedf14db1118a44d5d57935b2b0f2d6819980dd3eff2bf1c647d62ca8a8e2dbf
[INFO] running `Command { std: "docker" "start" "-a" "aedf14db1118a44d5d57935b2b0f2d6819980dd3eff2bf1c647d62ca8a8e2dbf", kill_on_drop: false }`
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling syn v2.0.58
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking rand v0.5.6
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking backtrace v0.3.71
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking euphrates v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]    --> src/hardware/sms_memory.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 341 |     use super::*;
[INFO] [stdout]     |         -------- the item `Arc` is already imported here
[INFO] [stdout] 342 |     use std::sync::Arc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnsafeCell` is imported redundantly
[INFO] [stdout]    --> src/hardware/sms_memory.rs:742:9
[INFO] [stdout]     |
[INFO] [stdout] 742 |     use std::cell::UnsafeCell;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 745 |     use super::*;
[INFO] [stdout]     |         -------- the item `UnsafeCell` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `drop` is imported redundantly
[INFO] [stdout]   --> src/hardware/sms_roms.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     use std::mem::drop;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/57fe1b734d9ff1c8a92bda60b85506b9648158d3/library/std/src/prelude/mod.rs:124:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `drop` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/hardware/sms_vdp/graphics.rs:684:48
[INFO] [stdout]     |
[INFO] [stdout] 684 |                 let tile_col = if horiz_flip { (7 - j) } else { j };
[INFO] [stdout]     |                                                ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 684 -                 let tile_col = if horiz_flip { (7 - j) } else { j };
[INFO] [stdout] 684 +                 let tile_col = if horiz_flip { 7 - j } else { j };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/hardware/sms_vdp/vdp_interface.rs:153:26
[INFO] [stdout]     |
[INFO] [stdout] 153 |             (Ntsc, Low, 0...0xDA) => v,
[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/hardware/sms_vdp/vdp_interface.rs:155:29
[INFO] [stdout]     |
[INFO] [stdout] 155 |             (Ntsc, Medium, 0...0xEA) => v,
[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/hardware/sms_vdp/vdp_interface.rs:157:27
[INFO] [stdout]     |
[INFO] [stdout] 157 |             (Ntsc, High, 0...0xFF) => v,
[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/hardware/sms_vdp/vdp_interface.rs:159:25
[INFO] [stdout]     |
[INFO] [stdout] 159 |             (Pal, Low, 0...0xF2) => v,
[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/hardware/sms_vdp/vdp_interface.rs:161:28
[INFO] [stdout]     |
[INFO] [stdout] 161 |             (Pal, Medium, 0...0xFF) => v,
[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/hardware/sms_vdp/vdp_interface.rs:162:32
[INFO] [stdout]     |
[INFO] [stdout] 162 |             (Pal, Medium, 0x100...0x102) => v - 0x100,
[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/hardware/sms_vdp/vdp_interface.rs:164:26
[INFO] [stdout]     |
[INFO] [stdout] 164 |             (Pal, High, 0...0xFF) => v,
[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/hardware/sms_vdp/vdp_interface.rs:165:30
[INFO] [stdout]     |
[INFO] [stdout] 165 |             (Pal, High, 0x100...0x10A) => v - 0x100,
[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 `std` is imported redundantly
[INFO] [stdout]  --> src/hardware/sms_vdp/vdp_internal.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `SmsVdpState` is imported redundantly
[INFO] [stdout]    --> src/hardware/sms_vdp/vdp_internal.rs:776:9
[INFO] [stdout]     |
[INFO] [stdout] 775 |     use super::super::*;
[INFO] [stdout]     |         --------------- the item `SmsVdpState` is already imported here
[INFO] [stdout] 776 |     use super::SmsVdpState;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/hardware/z80/no.rs:85:22
[INFO] [stdout]    |
[INFO] [stdout] 85 |             (false, 0...9, false, 0...9) => 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/hardware/z80/no.rs:85:36
[INFO] [stdout]    |
[INFO] [stdout] 85 |             (false, 0...9, false, 0...9) => 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/hardware/z80/no.rs:86:22
[INFO] [stdout]    |
[INFO] [stdout] 86 |             (false, 0...9, true, 0...9) => 0x6,
[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/hardware/z80/no.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 |             (false, 0...9, true, 0...9) => 0x6,
[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/hardware/z80/no.rs:87:22
[INFO] [stdout]    |
[INFO] [stdout] 87 |             (false, 0...8, _, 0xA...0xF) => 0x6,
[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/hardware/z80/no.rs:87:34
[INFO] [stdout]    |
[INFO] [stdout] 87 |             (false, 0...8, _, 0xA...0xF) => 0x6,
[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/hardware/z80/no.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 |             (false, 0xA...0xF, false, 0...9) => 0x60,
[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/hardware/z80/no.rs:88:40
[INFO] [stdout]    |
[INFO] [stdout] 88 |             (false, 0xA...0xF, false, 0...9) => 0x60,
[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/hardware/z80/no.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |             (true, _, false, 0...9) => 0x60,
[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/hardware/z80/no.rs:94:22
[INFO] [stdout]    |
[INFO] [stdout] 94 |             (false, 0...9, 0...9) => 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/hardware/z80/no.rs:94:29
[INFO] [stdout]    |
[INFO] [stdout] 94 |             (false, 0...9, 0...9) => 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/hardware/z80/no.rs:95:22
[INFO] [stdout]    |
[INFO] [stdout] 95 |             (false, 0...8, 0xA...0xF) => 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/hardware/z80/no.rs:95:31
[INFO] [stdout]    |
[INFO] [stdout] 95 |             (false, 0...8, 0xA...0xF) => 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/hardware/z80/no.rs:100:27
[INFO] [stdout]     |
[INFO] [stdout] 100 |             (false, _, 0xA...0xF) => 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/hardware/z80/no.rs:101:27
[INFO] [stdout]     |
[INFO] [stdout] 101 |             (true, true, 0...5) => 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 `fmt` is imported redundantly
[INFO] [stdout]  --> src/hardware/z80/internal.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 2 |
[INFO] [stdout] 3 | use super::*;
[INFO] [stdout]   |     -------- the item `fmt` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `fmt` is imported redundantly
[INFO] [stdout]  --> src/hardware/z80/memo.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{self, Display};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5 | use super::*;
[INFO] [stdout]   |     -------- the item `fmt` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/host_multimedia.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/save.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bincode` is imported redundantly
[INFO] [stdout]   --> src/save.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use bincode;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  | extern crate bincode;
[INFO] [stdout]    | --------------------- the item `bincode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Opcode` is imported redundantly
[INFO] [stdout]  --> src/systems/sms/inbox.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hardware::z80::{Opcode, TargetMnemonic};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 | use super::*;
[INFO] [stdout]   |     -------- the item `Opcode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TargetMnemonic` is imported redundantly
[INFO] [stdout]  --> src/systems/sms/inbox.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hardware::z80::{Opcode, TargetMnemonic};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 | use super::*;
[INFO] [stdout]   |     -------- the item `TargetMnemonic` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Arc` is imported redundantly
[INFO] [stdout]    --> src/hardware/sms_memory.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 341 |     use super::*;
[INFO] [stdout]     |         -------- the item `Arc` is already imported here
[INFO] [stdout] 342 |     use std::sync::Arc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `UnsafeCell` is imported redundantly
[INFO] [stdout]    --> src/hardware/sms_memory.rs:742:9
[INFO] [stdout]     |
[INFO] [stdout] 742 |     use std::cell::UnsafeCell;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 745 |     use super::*;
[INFO] [stdout]     |         -------- the item `UnsafeCell` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `drop` is imported redundantly
[INFO] [stdout]   --> src/hardware/sms_roms.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     use std::mem::drop;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]   --> /rustc/57fe1b734d9ff1c8a92bda60b85506b9648158d3/library/std/src/prelude/mod.rs:124:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `drop` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/hardware/sms_vdp/graphics.rs:684:48
[INFO] [stdout]     |
[INFO] [stdout] 684 |                 let tile_col = if horiz_flip { (7 - j) } else { j };
[INFO] [stdout]     |                                                ^     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 684 -                 let tile_col = if horiz_flip { (7 - j) } else { j };
[INFO] [stdout] 684 +                 let tile_col = if horiz_flip { 7 - j } else { j };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/hardware/sms_vdp/vdp_interface.rs:153:26
[INFO] [stdout]     |
[INFO] [stdout] 153 |             (Ntsc, Low, 0...0xDA) => v,
[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/hardware/sms_vdp/vdp_interface.rs:155:29
[INFO] [stdout]     |
[INFO] [stdout] 155 |             (Ntsc, Medium, 0...0xEA) => v,
[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/hardware/sms_vdp/vdp_interface.rs:157:27
[INFO] [stdout]     |
[INFO] [stdout] 157 |             (Ntsc, High, 0...0xFF) => v,
[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/hardware/sms_vdp/vdp_interface.rs:159:25
[INFO] [stdout]     |
[INFO] [stdout] 159 |             (Pal, Low, 0...0xF2) => v,
[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/hardware/sms_vdp/vdp_interface.rs:161:28
[INFO] [stdout]     |
[INFO] [stdout] 161 |             (Pal, Medium, 0...0xFF) => v,
[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/hardware/sms_vdp/vdp_interface.rs:162:32
[INFO] [stdout]     |
[INFO] [stdout] 162 |             (Pal, Medium, 0x100...0x102) => v - 0x100,
[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/hardware/sms_vdp/vdp_interface.rs:164:26
[INFO] [stdout]     |
[INFO] [stdout] 164 |             (Pal, High, 0...0xFF) => v,
[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/hardware/sms_vdp/vdp_interface.rs:165:30
[INFO] [stdout]     |
[INFO] [stdout] 165 |             (Pal, High, 0x100...0x10A) => v - 0x100,
[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 `std` is imported redundantly
[INFO] [stdout]  --> src/hardware/sms_vdp/vdp_internal.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `SmsVdpState` is imported redundantly
[INFO] [stdout]    --> src/hardware/sms_vdp/vdp_internal.rs:776:9
[INFO] [stdout]     |
[INFO] [stdout] 775 |     use super::super::*;
[INFO] [stdout]     |         --------------- the item `SmsVdpState` is already imported here
[INFO] [stdout] 776 |     use super::SmsVdpState;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/hardware/z80/no.rs:85:22
[INFO] [stdout]    |
[INFO] [stdout] 85 |             (false, 0...9, false, 0...9) => 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/hardware/z80/no.rs:85:36
[INFO] [stdout]    |
[INFO] [stdout] 85 |             (false, 0...9, false, 0...9) => 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/hardware/z80/no.rs:86:22
[INFO] [stdout]    |
[INFO] [stdout] 86 |             (false, 0...9, true, 0...9) => 0x6,
[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/hardware/z80/no.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 |             (false, 0...9, true, 0...9) => 0x6,
[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/hardware/z80/no.rs:87:22
[INFO] [stdout]    |
[INFO] [stdout] 87 |             (false, 0...8, _, 0xA...0xF) => 0x6,
[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/hardware/z80/no.rs:87:34
[INFO] [stdout]    |
[INFO] [stdout] 87 |             (false, 0...8, _, 0xA...0xF) => 0x6,
[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/hardware/z80/no.rs:88:24
[INFO] [stdout]    |
[INFO] [stdout] 88 |             (false, 0xA...0xF, false, 0...9) => 0x60,
[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/hardware/z80/no.rs:88:40
[INFO] [stdout]    |
[INFO] [stdout] 88 |             (false, 0xA...0xF, false, 0...9) => 0x60,
[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/hardware/z80/no.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |             (true, _, false, 0...9) => 0x60,
[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/hardware/z80/no.rs:94:22
[INFO] [stdout]    |
[INFO] [stdout] 94 |             (false, 0...9, 0...9) => 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/hardware/z80/no.rs:94:29
[INFO] [stdout]    |
[INFO] [stdout] 94 |             (false, 0...9, 0...9) => 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/hardware/z80/no.rs:95:22
[INFO] [stdout]    |
[INFO] [stdout] 95 |             (false, 0...8, 0xA...0xF) => 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/hardware/z80/no.rs:95:31
[INFO] [stdout]    |
[INFO] [stdout] 95 |             (false, 0...8, 0xA...0xF) => 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/hardware/z80/no.rs:100:27
[INFO] [stdout]     |
[INFO] [stdout] 100 |             (false, _, 0xA...0xF) => 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/hardware/z80/no.rs:101:27
[INFO] [stdout]     |
[INFO] [stdout] 101 |             (true, true, 0...5) => 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 `fmt` is imported redundantly
[INFO] [stdout]  --> src/hardware/z80/internal.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 2 |
[INFO] [stdout] 3 | use super::*;
[INFO] [stdout]   |     -------- the item `fmt` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `fmt` is imported redundantly
[INFO] [stdout]  --> src/hardware/z80/memo.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{self, Display};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 5 | use super::*;
[INFO] [stdout]   |     -------- the item `fmt` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/host_multimedia.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `std` is imported redundantly
[INFO] [stdout]  --> src/save.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std;
[INFO] [stdout]   |     ^^^ the item `std` is already imported by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `bincode` is imported redundantly
[INFO] [stdout]   --> src/save.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use bincode;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/lib.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  | extern crate bincode;
[INFO] [stdout]    | --------------------- the item `bincode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Opcode` is imported redundantly
[INFO] [stdout]  --> src/systems/sms/inbox.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hardware::z80::{Opcode, TargetMnemonic};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 | use super::*;
[INFO] [stdout]   |     -------- the item `Opcode` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `TargetMnemonic` is imported redundantly
[INFO] [stdout]  --> src/systems/sms/inbox.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use hardware::z80::{Opcode, TargetMnemonic};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 | use super::*;
[INFO] [stdout]   |     -------- the item `TargetMnemonic` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 65 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:54:14
[INFO] [stdout]    |
[INFO] [stdout] 54 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `bincode::config`: please use `options()` instead
[INFO] [stdout]   --> src/save.rs:65:14
[INFO] [stdout]    |
[INFO] [stdout] 65 |     bincode::config()
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/hardware/sms_vdp/debug.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 let mut pattern = v.vram(pattern_table + name + tile_line);
[INFO] [stdout]    |                     ----^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/hardware/sms_vdp/debug.rs:41:21
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 let mut pattern = v.vram(pattern_table + name + tile_line);
[INFO] [stdout]    |                     ----^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1002:9
[INFO] [stdout]      |
[INFO] [stdout] 1002 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1002:9
[INFO] [stdout]      |
[INFO] [stdout] 1002 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1286:9
[INFO] [stdout]      |
[INFO] [stdout] 1286 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1286:9
[INFO] [stdout]      |
[INFO] [stdout] 1286 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1558:9
[INFO] [stdout]      |
[INFO] [stdout] 1558 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1558:9
[INFO] [stdout]      |
[INFO] [stdout] 1558 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1831:9
[INFO] [stdout]      |
[INFO] [stdout] 1831 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:1831:9
[INFO] [stdout]      |
[INFO] [stdout] 1831 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:2104:9
[INFO] [stdout]      |
[INFO] [stdout] 2104 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:2104:9
[INFO] [stdout]      |
[INFO] [stdout] 2104 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:2378:9
[INFO] [stdout]      |
[INFO] [stdout] 2378 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:2378:9
[INFO] [stdout]      |
[INFO] [stdout] 2378 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:2652:9
[INFO] [stdout]      |
[INFO] [stdout] 2652 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/hardware/z80/instruction.rs:2652:9
[INFO] [stdout]      |
[INFO] [stdout] 2652 |         _ => unimplemented!(),
[INFO] [stdout]      |         ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/hardware/sms_memory.rs:644:21
[INFO] [stdout]     |
[INFO] [stdout] 644 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsMemoryLoadError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/hardware/sms_memory.rs:644:21
[INFO] [stdout]     |
[INFO] [stdout] 644 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsMemoryLoadError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_roms.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsRomError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_roms.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsRomError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_vdp/graphics.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsVdpGraphicsError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_vdp/graphics.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsVdpGraphicsError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/hardware/sms_memory.rs:644:21
[INFO] [stdout]     |
[INFO] [stdout] 644 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsMemoryLoadError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/hardware/sms_memory.rs:644:21
[INFO] [stdout]     |
[INFO] [stdout] 644 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsMemoryLoadError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_roms.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsRomError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_roms.rs:16:21
[INFO] [stdout]    |
[INFO] [stdout] 16 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsRomError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_vdp/graphics.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsVdpGraphicsError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/hardware/sms_vdp/graphics.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |     #[derive(Debug, Fail)]
[INFO] [stdout]    |                     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsVdpGraphicsError`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]    = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]    = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsEmulationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsEmulationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsCreationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsCreationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsEmulationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:255:21
[INFO] [stdout]     |
[INFO] [stdout] 255 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsEmulationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_Fail_FOR_SmsCreationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/systems/sms/emulator.rs:281:21
[INFO] [stdout]     |
[INFO] [stdout] 281 |     #[derive(Debug, Fail)]
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_DERIVE_failure_core_fmt_Display_FOR_SmsCreationError`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and may impact type checking outside of that item. This can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: one exception to the rule are anon-const (`const _: () = { ... }`) at top-level module and anon-const at the same nesting as the trait or type
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: the derive macro `Fail` may come from an old version of the `failure_derive` crate, try updating your dependency with `cargo update -p failure_derive`
[INFO] [stdout]     = note: this warning originates in the derive macro `Fail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 58 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 58 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: trait `Changeable` is private
[INFO] [stdout]   --> examples/test_z80_against.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Changeable, Z80Internal, Z80Irq, Z80MemT, Z80Run, Z80RunImpler, Z80State,
[INFO] [stdout]    |     ^^^^^^^^^^ private trait
[INFO] [stdout]    |
[INFO] [stdout] note: the trait `Changeable` is defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hardware/z80/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use self::mem::*;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] help: import `Changeable` directly
[INFO] [stdout]    |
[INFO] [stdout] 63 |     euphrates::hardware::z80::mem::Changeable, Z80Internal, Z80Irq, Z80MemT, Z80Run, Z80RunImpler, Z80State,
[INFO] [stdout]    |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0603]: trait `Z80MemT` is private
[INFO] [stdout]   --> examples/test_z80_against.rs:63:38
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Changeable, Z80Internal, Z80Irq, Z80MemT, Z80Run, Z80RunImpler, Z80State,
[INFO] [stdout]    |                                      ^^^^^^^ private trait
[INFO] [stdout]    |
[INFO] [stdout] note: the trait `Z80MemT` is defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/hardware/z80/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use self::mem::*;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] help: import `Z80MemT` directly
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Changeable, Z80Internal, Z80Irq, euphrates::hardware::z80::mem::Z80MemT, Z80Run, Z80RunImpler, Z80State,
[INFO] [stdout]    |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0603`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `euphrates` (example "test_z80_against") due to 3 previous errors
[INFO] running `Command { std: "docker" "inspect" "aedf14db1118a44d5d57935b2b0f2d6819980dd3eff2bf1c647d62ca8a8e2dbf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aedf14db1118a44d5d57935b2b0f2d6819980dd3eff2bf1c647d62ca8a8e2dbf", kill_on_drop: false }`
[INFO] [stdout] aedf14db1118a44d5d57935b2b0f2d6819980dd3eff2bf1c647d62ca8a8e2dbf
