[INFO] fetching crate rz80 0.1.1...
[INFO] testing rz80-0.1.1 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate rz80 0.1.1 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate rz80 0.1.1
[INFO] finished tweaking crates.io crate rz80 0.1.1
[INFO] tweaked toml for crates.io crate rz80 0.1.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate rz80 0.1.1 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 16 packages to latest compatible versions
[INFO] [stderr]       Adding minifb v0.8.4 (available: v0.28.0)
[INFO] [stderr]       Adding time v0.1.45 (available: v0.3.47)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] [stderr]       Adding x11-dl v2.2.1 (available: v2.21.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c8e431c263aad702a2eccc27e833e71f892a15e7a61f2836cd5e94b3843a323d
[INFO] running `Command { std: "docker" "start" "-a" "c8e431c263aad702a2eccc27e833e71f892a15e7a61f2836cd5e94b3843a323d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c8e431c263aad702a2eccc27e833e71f892a15e7a61f2836cd5e94b3843a323d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c8e431c263aad702a2eccc27e833e71f892a15e7a61f2836cd5e94b3843a323d", kill_on_drop: false }`
[INFO] [stdout] c8e431c263aad702a2eccc27e833e71f892a15e7a61f2836cd5e94b3843a323d
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cafa40c91270b1cdd93411eb5bc8890186d4e91528bda6b122d140b0f424874e
[INFO] running `Command { std: "docker" "start" "-a" "cafa40c91270b1cdd93411eb5bc8890186d4e91528bda6b122d140b0f424874e", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling rz80 v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]  --> src/memory.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | const PAGE_SIZE: usize = (1 << PAGE_SHIFT);
[INFO] [stdout]   |                          ^               ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 5 - const PAGE_SIZE: usize = (1 << PAGE_SHIFT);
[INFO] [stdout] 5 + const PAGE_SIZE: usize = 1 << PAGE_SHIFT ;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/memory.rs:140:32
[INFO] [stdout]     |
[INFO] [stdout] 140 |         mem.map(0, 0, 0, true, (1 << 16));
[INFO] [stdout]     |                                ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 -         mem.map(0, 0, 0, true, (1 << 16));
[INFO] [stdout] 140 +         mem.map(0, 0, 0, true, 1 << 16 );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/pio.rs:25:36
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const INTCTRL_ENABLE_INT: u8 = (1 << 7);
[INFO] [stdout]    |                                    ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 25 - pub const INTCTRL_ENABLE_INT: u8 = (1 << 7);
[INFO] [stdout] 25 + pub const INTCTRL_ENABLE_INT: u8 = 1 << 7 ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/pio.rs:26:38
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const INTCTRL_MASK_FOLLOWS: u8 = (1 << 4);
[INFO] [stdout]    |                                      ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 - pub const INTCTRL_MASK_FOLLOWS: u8 = (1 << 4);
[INFO] [stdout] 26 + pub const INTCTRL_MASK_FOLLOWS: u8 = 1 << 4 ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:158:34
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn step(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn step(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:252:35
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn do_op(&mut self, bus: &Bus, ext: bool) -> i64 {
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn do_op(&mut self, bus: &dyn Bus, ext: bool) -> i64 {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:663:34
[INFO] [stdout]     |
[INFO] [stdout] 663 |     fn do_ed_op(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 663 |     fn do_ed_op(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:952:34
[INFO] [stdout]     |
[INFO] [stdout] 952 |     pub fn reti(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 952 |     pub fn reti(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:959:40
[INFO] [stdout]     |
[INFO] [stdout] 959 |     pub fn handle_irq(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 959 |     pub fn handle_irq(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1638:33
[INFO] [stdout]      |
[INFO] [stdout] 1638 |     pub fn inp(&mut self, bus: &Bus, port: RegT) -> RegT {
[INFO] [stdout]      |                                 ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1638 |     pub fn inp(&mut self, bus: &dyn Bus, port: RegT) -> RegT {
[INFO] [stdout]      |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1643:34
[INFO] [stdout]      |
[INFO] [stdout] 1643 |     pub fn outp(&mut self, bus: &Bus, port: RegT, val: RegT) {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1643 |     pub fn outp(&mut self, bus: &dyn Bus, port: RegT, val: RegT) {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1692:33
[INFO] [stdout]      |
[INFO] [stdout] 1692 |     pub fn ini(&mut self, bus: &Bus) {
[INFO] [stdout]      |                                 ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1692 |     pub fn ini(&mut self, bus: &dyn Bus) {
[INFO] [stdout]      |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1706:33
[INFO] [stdout]      |
[INFO] [stdout] 1706 |     pub fn ind(&mut self, bus: &Bus) {
[INFO] [stdout]      |                                 ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1706 |     pub fn ind(&mut self, bus: &dyn Bus) {
[INFO] [stdout]      |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1720:34
[INFO] [stdout]      |
[INFO] [stdout] 1720 |     pub fn inir(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1720 |     pub fn inir(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1731:34
[INFO] [stdout]      |
[INFO] [stdout] 1731 |     pub fn indr(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1731 |     pub fn indr(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1742:34
[INFO] [stdout]      |
[INFO] [stdout] 1742 |     pub fn outi(&mut self, bus: &Bus) {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1742 |     pub fn outi(&mut self, bus: &dyn Bus) {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1756:34
[INFO] [stdout]      |
[INFO] [stdout] 1756 |     pub fn outd(&mut self, bus: &Bus) {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1756 |     pub fn outd(&mut self, bus: &dyn Bus) {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1770:34
[INFO] [stdout]      |
[INFO] [stdout] 1770 |     pub fn otir(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1770 |     pub fn otir(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1781:34
[INFO] [stdout]      |
[INFO] [stdout] 1781 |     pub fn otdr(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1781 |     pub fn otdr(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pio.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn set_rdy(&mut self, bus: &Bus, chn: usize, rdy: bool) {
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn set_rdy(&mut self, bus: &dyn Bus, chn: usize, rdy: bool) {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pio.rs:159:40
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn write_data(&mut self, bus: &Bus, chn: usize, data: RegT) {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn write_data(&mut self, bus: &dyn Bus, chn: usize, data: RegT) {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pio.rs:186:39
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn read_data(&mut self, bus: &Bus, chn: usize) -> RegT {
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn read_data(&mut self, bus: &dyn Bus, chn: usize) -> RegT {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pio.rs:211:35
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn write(&mut self, bus: &Bus, chn: usize, data: RegT) {
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn write(&mut self, bus: &dyn Bus, chn: usize, data: RegT) {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ctc.rs:83:35
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn write(&mut self, bus: &Bus, chn: usize, val: RegT) {
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn write(&mut self, bus: &dyn Bus, chn: usize, val: RegT) {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ctc.rs:129:37
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn trigger(&mut self, bus: &Bus, chn: usize) {
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn trigger(&mut self, bus: &dyn Bus, chn: usize) {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ctc.rs:143:43
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn update_timers(&mut self, bus: &Bus, cycles: i64) {
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn update_timers(&mut self, bus: &dyn Bus, cycles: i64) {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ctc.rs:182:42
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn down_counter_trigger(&self, bus: &Bus, chn: usize) {
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn down_counter_trigger(&self, bus: &dyn Bus, chn: usize) {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/daisychain.rs:57:33
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn irq(&mut self, bus: &Bus, ctrl_id: usize, vec: u8) {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn irq(&mut self, bus: &dyn Bus, ctrl_id: usize, vec: u8) {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c` is never read
[INFO] [stdout]    --> src/pio.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |             c.bctrl_match = bmatch;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.52s
[INFO] running `Command { std: "docker" "inspect" "cafa40c91270b1cdd93411eb5bc8890186d4e91528bda6b122d140b0f424874e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cafa40c91270b1cdd93411eb5bc8890186d4e91528bda6b122d140b0f424874e", kill_on_drop: false }`
[INFO] [stdout] cafa40c91270b1cdd93411eb5bc8890186d4e91528bda6b122d140b0f424874e
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0f11e524e58278353c885ce9111a4297d45f6314e6e396c4e095ebe531eba9fa
[INFO] running `Command { std: "docker" "start" "-a" "0f11e524e58278353c885ce9111a4297d45f6314e6e396c4e095ebe531eba9fa", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling gcc v0.3.55
[INFO] [stderr]    Compiling dylib v0.0.1
[INFO] [stderr]    Compiling libc v0.1.12
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]  --> src/memory.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | const PAGE_SIZE: usize = (1 << PAGE_SHIFT);
[INFO] [stdout]   |                          ^               ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 5 - const PAGE_SIZE: usize = (1 << PAGE_SHIFT);
[INFO] [stdout] 5 + const PAGE_SIZE: usize = 1 << PAGE_SHIFT ;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/memory.rs:140:32
[INFO] [stdout]     |
[INFO] [stdout] 140 |         mem.map(0, 0, 0, true, (1 << 16));
[INFO] [stdout]     |                                ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 -         mem.map(0, 0, 0, true, (1 << 16));
[INFO] [stdout] 140 +         mem.map(0, 0, 0, true, 1 << 16 );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/pio.rs:25:36
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const INTCTRL_ENABLE_INT: u8 = (1 << 7);
[INFO] [stdout]    |                                    ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 25 - pub const INTCTRL_ENABLE_INT: u8 = (1 << 7);
[INFO] [stdout] 25 + pub const INTCTRL_ENABLE_INT: u8 = 1 << 7 ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/pio.rs:26:38
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const INTCTRL_MASK_FOLLOWS: u8 = (1 << 4);
[INFO] [stdout]    |                                      ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 - pub const INTCTRL_MASK_FOLLOWS: u8 = (1 << 4);
[INFO] [stdout] 26 + pub const INTCTRL_MASK_FOLLOWS: u8 = 1 << 4 ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:158:34
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn step(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn step(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:252:35
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn do_op(&mut self, bus: &Bus, ext: bool) -> i64 {
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn do_op(&mut self, bus: &dyn Bus, ext: bool) -> i64 {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:663:34
[INFO] [stdout]     |
[INFO] [stdout] 663 |     fn do_ed_op(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 663 |     fn do_ed_op(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:952:34
[INFO] [stdout]     |
[INFO] [stdout] 952 |     pub fn reti(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 952 |     pub fn reti(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:959:40
[INFO] [stdout]     |
[INFO] [stdout] 959 |     pub fn handle_irq(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 959 |     pub fn handle_irq(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1638:33
[INFO] [stdout]      |
[INFO] [stdout] 1638 |     pub fn inp(&mut self, bus: &Bus, port: RegT) -> RegT {
[INFO] [stdout]      |                                 ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1638 |     pub fn inp(&mut self, bus: &dyn Bus, port: RegT) -> RegT {
[INFO] [stdout]      |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1643:34
[INFO] [stdout]      |
[INFO] [stdout] 1643 |     pub fn outp(&mut self, bus: &Bus, port: RegT, val: RegT) {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1643 |     pub fn outp(&mut self, bus: &dyn Bus, port: RegT, val: RegT) {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1692:33
[INFO] [stdout]      |
[INFO] [stdout] 1692 |     pub fn ini(&mut self, bus: &Bus) {
[INFO] [stdout]      |                                 ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1692 |     pub fn ini(&mut self, bus: &dyn Bus) {
[INFO] [stdout]      |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1706:33
[INFO] [stdout]      |
[INFO] [stdout] 1706 |     pub fn ind(&mut self, bus: &Bus) {
[INFO] [stdout]      |                                 ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1706 |     pub fn ind(&mut self, bus: &dyn Bus) {
[INFO] [stdout]      |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1720:34
[INFO] [stdout]      |
[INFO] [stdout] 1720 |     pub fn inir(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1720 |     pub fn inir(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1731:34
[INFO] [stdout]      |
[INFO] [stdout] 1731 |     pub fn indr(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1731 |     pub fn indr(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1742:34
[INFO] [stdout]      |
[INFO] [stdout] 1742 |     pub fn outi(&mut self, bus: &Bus) {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1742 |     pub fn outi(&mut self, bus: &dyn Bus) {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1756:34
[INFO] [stdout]      |
[INFO] [stdout] 1756 |     pub fn outd(&mut self, bus: &Bus) {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1756 |     pub fn outd(&mut self, bus: &dyn Bus) {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1770:34
[INFO] [stdout]      |
[INFO] [stdout] 1770 |     pub fn otir(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1770 |     pub fn otir(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1781:34
[INFO] [stdout]      |
[INFO] [stdout] 1781 |     pub fn otdr(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1781 |     pub fn otdr(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pio.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn set_rdy(&mut self, bus: &Bus, chn: usize, rdy: bool) {
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn set_rdy(&mut self, bus: &dyn Bus, chn: usize, rdy: bool) {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pio.rs:159:40
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn write_data(&mut self, bus: &Bus, chn: usize, data: RegT) {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn write_data(&mut self, bus: &dyn Bus, chn: usize, data: RegT) {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pio.rs:186:39
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn read_data(&mut self, bus: &Bus, chn: usize) -> RegT {
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn read_data(&mut self, bus: &dyn Bus, chn: usize) -> RegT {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pio.rs:211:35
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn write(&mut self, bus: &Bus, chn: usize, data: RegT) {
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn write(&mut self, bus: &dyn Bus, chn: usize, data: RegT) {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ctc.rs:83:35
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn write(&mut self, bus: &Bus, chn: usize, val: RegT) {
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn write(&mut self, bus: &dyn Bus, chn: usize, val: RegT) {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ctc.rs:129:37
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn trigger(&mut self, bus: &Bus, chn: usize) {
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn trigger(&mut self, bus: &dyn Bus, chn: usize) {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ctc.rs:143:43
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn update_timers(&mut self, bus: &Bus, cycles: i64) {
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn update_timers(&mut self, bus: &dyn Bus, cycles: i64) {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ctc.rs:182:42
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn down_counter_trigger(&self, bus: &Bus, chn: usize) {
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn down_counter_trigger(&self, bus: &dyn Bus, chn: usize) {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/daisychain.rs:57:33
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn irq(&mut self, bus: &Bus, ctrl_id: usize, vec: u8) {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn irq(&mut self, bus: &dyn Bus, ctrl_id: usize, vec: u8) {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c` is never read
[INFO] [stdout]    --> src/pio.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |             c.bctrl_match = bmatch;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling x11-dl v2.2.1
[INFO] [stderr]    Compiling minifb v0.8.4
[INFO] [stderr]    Compiling rz80 v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]  --> src/memory.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | const PAGE_SIZE: usize = (1 << PAGE_SHIFT);
[INFO] [stdout]   |                          ^               ^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]   |
[INFO] [stdout] 5 - const PAGE_SIZE: usize = (1 << PAGE_SHIFT);
[INFO] [stdout] 5 + const PAGE_SIZE: usize = 1 << PAGE_SHIFT ;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/memory.rs:140:32
[INFO] [stdout]     |
[INFO] [stdout] 140 |         mem.map(0, 0, 0, true, (1 << 16));
[INFO] [stdout]     |                                ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 -         mem.map(0, 0, 0, true, (1 << 16));
[INFO] [stdout] 140 +         mem.map(0, 0, 0, true, 1 << 16 );
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/pio.rs:25:36
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub const INTCTRL_ENABLE_INT: u8 = (1 << 7);
[INFO] [stdout]    |                                    ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 25 - pub const INTCTRL_ENABLE_INT: u8 = (1 << 7);
[INFO] [stdout] 25 + pub const INTCTRL_ENABLE_INT: u8 = 1 << 7 ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/pio.rs:26:38
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub const INTCTRL_MASK_FOLLOWS: u8 = (1 << 4);
[INFO] [stdout]    |                                      ^      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 26 - pub const INTCTRL_MASK_FOLLOWS: u8 = (1 << 4);
[INFO] [stdout] 26 + pub const INTCTRL_MASK_FOLLOWS: u8 = 1 << 4 ;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:158:34
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn step(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn step(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:252:35
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn do_op(&mut self, bus: &Bus, ext: bool) -> i64 {
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 252 |     pub fn do_op(&mut self, bus: &dyn Bus, ext: bool) -> i64 {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:663:34
[INFO] [stdout]     |
[INFO] [stdout] 663 |     fn do_ed_op(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 663 |     fn do_ed_op(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:952:34
[INFO] [stdout]     |
[INFO] [stdout] 952 |     pub fn reti(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 952 |     pub fn reti(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu.rs:959:40
[INFO] [stdout]     |
[INFO] [stdout] 959 |     pub fn handle_irq(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 959 |     pub fn handle_irq(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1638:33
[INFO] [stdout]      |
[INFO] [stdout] 1638 |     pub fn inp(&mut self, bus: &Bus, port: RegT) -> RegT {
[INFO] [stdout]      |                                 ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1638 |     pub fn inp(&mut self, bus: &dyn Bus, port: RegT) -> RegT {
[INFO] [stdout]      |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1643:34
[INFO] [stdout]      |
[INFO] [stdout] 1643 |     pub fn outp(&mut self, bus: &Bus, port: RegT, val: RegT) {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1643 |     pub fn outp(&mut self, bus: &dyn Bus, port: RegT, val: RegT) {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1692:33
[INFO] [stdout]      |
[INFO] [stdout] 1692 |     pub fn ini(&mut self, bus: &Bus) {
[INFO] [stdout]      |                                 ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1692 |     pub fn ini(&mut self, bus: &dyn Bus) {
[INFO] [stdout]      |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1706:33
[INFO] [stdout]      |
[INFO] [stdout] 1706 |     pub fn ind(&mut self, bus: &Bus) {
[INFO] [stdout]      |                                 ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1706 |     pub fn ind(&mut self, bus: &dyn Bus) {
[INFO] [stdout]      |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1720:34
[INFO] [stdout]      |
[INFO] [stdout] 1720 |     pub fn inir(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1720 |     pub fn inir(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1731:34
[INFO] [stdout]      |
[INFO] [stdout] 1731 |     pub fn indr(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1731 |     pub fn indr(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1742:34
[INFO] [stdout]      |
[INFO] [stdout] 1742 |     pub fn outi(&mut self, bus: &Bus) {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1742 |     pub fn outi(&mut self, bus: &dyn Bus) {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1756:34
[INFO] [stdout]      |
[INFO] [stdout] 1756 |     pub fn outd(&mut self, bus: &Bus) {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1756 |     pub fn outd(&mut self, bus: &dyn Bus) {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1770:34
[INFO] [stdout]      |
[INFO] [stdout] 1770 |     pub fn otir(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1770 |     pub fn otir(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cpu.rs:1781:34
[INFO] [stdout]      |
[INFO] [stdout] 1781 |     pub fn otdr(&mut self, bus: &Bus) -> i64 {
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1781 |     pub fn otdr(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stdout]      |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pio.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn set_rdy(&mut self, bus: &Bus, chn: usize, rdy: bool) {
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn set_rdy(&mut self, bus: &dyn Bus, chn: usize, rdy: bool) {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pio.rs:159:40
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn write_data(&mut self, bus: &Bus, chn: usize, data: RegT) {
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn write_data(&mut self, bus: &dyn Bus, chn: usize, data: RegT) {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pio.rs:186:39
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn read_data(&mut self, bus: &Bus, chn: usize) -> RegT {
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 186 |     pub fn read_data(&mut self, bus: &dyn Bus, chn: usize) -> RegT {
[INFO] [stdout]     |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/pio.rs:211:35
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn write(&mut self, bus: &Bus, chn: usize, data: RegT) {
[INFO] [stdout]     |                                   ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 211 |     pub fn write(&mut self, bus: &dyn Bus, chn: usize, data: RegT) {
[INFO] [stdout]     |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/ctc.rs:83:35
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn write(&mut self, bus: &Bus, chn: usize, val: RegT) {
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn write(&mut self, bus: &dyn Bus, chn: usize, val: RegT) {
[INFO] [stdout]    |                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ctc.rs:129:37
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn trigger(&mut self, bus: &Bus, chn: usize) {
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn trigger(&mut self, bus: &dyn Bus, chn: usize) {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ctc.rs:143:43
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn update_timers(&mut self, bus: &Bus, cycles: i64) {
[INFO] [stdout]     |                                           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub fn update_timers(&mut self, bus: &dyn Bus, cycles: i64) {
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ctc.rs:182:42
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn down_counter_trigger(&self, bus: &Bus, chn: usize) {
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 182 |     fn down_counter_trigger(&self, bus: &dyn Bus, chn: usize) {
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/daisychain.rs:57:33
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn irq(&mut self, bus: &Bus, ctrl_id: usize, vec: u8) {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn irq(&mut self, bus: &dyn Bus, ctrl_id: usize, vec: u8) {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `c` is never read
[INFO] [stdout]    --> src/pio.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 |             c.bctrl_match = bmatch;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 4.53s
[INFO] running `Command { std: "docker" "inspect" "0f11e524e58278353c885ce9111a4297d45f6314e6e396c4e095ebe531eba9fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f11e524e58278353c885ce9111a4297d45f6314e6e396c4e095ebe531eba9fa", kill_on_drop: false }`
[INFO] [stdout] 0f11e524e58278353c885ce9111a4297d45f6314e6e396c4e095ebe531eba9fa
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] a728fefadf2e57a9451484c174e87e9918675bb373de56fb4d23f88c57696118
[INFO] running `Command { std: "docker" "start" "-a" "a728fefadf2e57a9451484c174e87e9918675bb373de56fb4d23f88c57696118", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]  --> src/memory.rs:5:26
[INFO] [stderr]   |
[INFO] [stderr] 5 | const PAGE_SIZE: usize = (1 << PAGE_SHIFT);
[INFO] [stderr]   |                          ^               ^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]   |
[INFO] [stderr] 5 - const PAGE_SIZE: usize = (1 << PAGE_SHIFT);
[INFO] [stderr] 5 + const PAGE_SIZE: usize = 1 << PAGE_SHIFT ;
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around method argument
[INFO] [stderr]    --> src/memory.rs:140:32
[INFO] [stderr]     |
[INFO] [stderr] 140 |         mem.map(0, 0, 0, true, (1 << 16));
[INFO] [stderr]     |                                ^       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 140 -         mem.map(0, 0, 0, true, (1 << 16));
[INFO] [stderr] 140 +         mem.map(0, 0, 0, true, 1 << 16 );
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/pio.rs:25:36
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub const INTCTRL_ENABLE_INT: u8 = (1 << 7);
[INFO] [stderr]    |                                    ^      ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 25 - pub const INTCTRL_ENABLE_INT: u8 = (1 << 7);
[INFO] [stderr] 25 + pub const INTCTRL_ENABLE_INT: u8 = 1 << 7 ;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/pio.rs:26:38
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub const INTCTRL_MASK_FOLLOWS: u8 = (1 << 4);
[INFO] [stderr]    |                                      ^      ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 26 - pub const INTCTRL_MASK_FOLLOWS: u8 = (1 << 4);
[INFO] [stderr] 26 + pub const INTCTRL_MASK_FOLLOWS: u8 = 1 << 4 ;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu.rs:158:34
[INFO] [stderr]     |
[INFO] [stderr] 158 |     pub fn step(&mut self, bus: &Bus) -> i64 {
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 158 |     pub fn step(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stderr]     |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu.rs:252:35
[INFO] [stderr]     |
[INFO] [stderr] 252 |     pub fn do_op(&mut self, bus: &Bus, ext: bool) -> i64 {
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 252 |     pub fn do_op(&mut self, bus: &dyn Bus, ext: bool) -> i64 {
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu.rs:663:34
[INFO] [stderr]     |
[INFO] [stderr] 663 |     fn do_ed_op(&mut self, bus: &Bus) -> i64 {
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 663 |     fn do_ed_op(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stderr]     |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu.rs:952:34
[INFO] [stderr]     |
[INFO] [stderr] 952 |     pub fn reti(&mut self, bus: &Bus) -> i64 {
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 952 |     pub fn reti(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stderr]     |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu.rs:959:40
[INFO] [stderr]     |
[INFO] [stderr] 959 |     pub fn handle_irq(&mut self, bus: &Bus) -> i64 {
[INFO] [stderr]     |                                        ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 959 |     pub fn handle_irq(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stderr]     |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/cpu.rs:1638:33
[INFO] [stderr]      |
[INFO] [stderr] 1638 |     pub fn inp(&mut self, bus: &Bus, port: RegT) -> RegT {
[INFO] [stderr]      |                                 ^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1638 |     pub fn inp(&mut self, bus: &dyn Bus, port: RegT) -> RegT {
[INFO] [stderr]      |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/cpu.rs:1643:34
[INFO] [stderr]      |
[INFO] [stderr] 1643 |     pub fn outp(&mut self, bus: &Bus, port: RegT, val: RegT) {
[INFO] [stderr]      |                                  ^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1643 |     pub fn outp(&mut self, bus: &dyn Bus, port: RegT, val: RegT) {
[INFO] [stderr]      |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/cpu.rs:1692:33
[INFO] [stderr]      |
[INFO] [stderr] 1692 |     pub fn ini(&mut self, bus: &Bus) {
[INFO] [stderr]      |                                 ^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1692 |     pub fn ini(&mut self, bus: &dyn Bus) {
[INFO] [stderr]      |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/cpu.rs:1706:33
[INFO] [stderr]      |
[INFO] [stderr] 1706 |     pub fn ind(&mut self, bus: &Bus) {
[INFO] [stderr]      |                                 ^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1706 |     pub fn ind(&mut self, bus: &dyn Bus) {
[INFO] [stderr]      |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/cpu.rs:1720:34
[INFO] [stderr]      |
[INFO] [stderr] 1720 |     pub fn inir(&mut self, bus: &Bus) -> i64 {
[INFO] [stderr]      |                                  ^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1720 |     pub fn inir(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stderr]      |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/cpu.rs:1731:34
[INFO] [stderr]      |
[INFO] [stderr] 1731 |     pub fn indr(&mut self, bus: &Bus) -> i64 {
[INFO] [stderr]      |                                  ^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1731 |     pub fn indr(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stderr]      |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/cpu.rs:1742:34
[INFO] [stderr]      |
[INFO] [stderr] 1742 |     pub fn outi(&mut self, bus: &Bus) {
[INFO] [stderr]      |                                  ^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1742 |     pub fn outi(&mut self, bus: &dyn Bus) {
[INFO] [stderr]      |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/cpu.rs:1756:34
[INFO] [stderr]      |
[INFO] [stderr] 1756 |     pub fn outd(&mut self, bus: &Bus) {
[INFO] [stderr]      |                                  ^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1756 |     pub fn outd(&mut self, bus: &dyn Bus) {
[INFO] [stderr]      |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/cpu.rs:1770:34
[INFO] [stderr]      |
[INFO] [stderr] 1770 |     pub fn otir(&mut self, bus: &Bus) -> i64 {
[INFO] [stderr]      |                                  ^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1770 |     pub fn otir(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stderr]      |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]     --> src/cpu.rs:1781:34
[INFO] [stderr]      |
[INFO] [stderr] 1781 |     pub fn otdr(&mut self, bus: &Bus) -> i64 {
[INFO] [stderr]      |                                  ^^^
[INFO] [stderr]      |
[INFO] [stderr]      = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]      |
[INFO] [stderr] 1781 |     pub fn otdr(&mut self, bus: &dyn Bus) -> i64 {
[INFO] [stderr]      |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pio.rs:150:33
[INFO] [stderr]     |
[INFO] [stderr] 150 |     fn set_rdy(&mut self, bus: &Bus, chn: usize, rdy: bool) {
[INFO] [stderr]     |                                 ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 150 |     fn set_rdy(&mut self, bus: &dyn Bus, chn: usize, rdy: bool) {
[INFO] [stderr]     |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pio.rs:159:40
[INFO] [stderr]     |
[INFO] [stderr] 159 |     pub fn write_data(&mut self, bus: &Bus, chn: usize, data: RegT) {
[INFO] [stderr]     |                                        ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 159 |     pub fn write_data(&mut self, bus: &dyn Bus, chn: usize, data: RegT) {
[INFO] [stderr]     |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pio.rs:186:39
[INFO] [stderr]     |
[INFO] [stderr] 186 |     pub fn read_data(&mut self, bus: &Bus, chn: usize) -> RegT {
[INFO] [stderr]     |                                       ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 186 |     pub fn read_data(&mut self, bus: &dyn Bus, chn: usize) -> RegT {
[INFO] [stderr]     |                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/pio.rs:211:35
[INFO] [stderr]     |
[INFO] [stderr] 211 |     pub fn write(&mut self, bus: &Bus, chn: usize, data: RegT) {
[INFO] [stderr]     |                                   ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 211 |     pub fn write(&mut self, bus: &dyn Bus, chn: usize, data: RegT) {
[INFO] [stderr]     |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/ctc.rs:83:35
[INFO] [stderr]    |
[INFO] [stderr] 83 |     pub fn write(&mut self, bus: &Bus, chn: usize, val: RegT) {
[INFO] [stderr]    |                                   ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 83 |     pub fn write(&mut self, bus: &dyn Bus, chn: usize, val: RegT) {
[INFO] [stderr]    |                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ctc.rs:129:37
[INFO] [stderr]     |
[INFO] [stderr] 129 |     pub fn trigger(&mut self, bus: &Bus, chn: usize) {
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 129 |     pub fn trigger(&mut self, bus: &dyn Bus, chn: usize) {
[INFO] [stderr]     |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ctc.rs:143:43
[INFO] [stderr]     |
[INFO] [stderr] 143 |     pub fn update_timers(&mut self, bus: &Bus, cycles: i64) {
[INFO] [stderr]     |                                           ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 143 |     pub fn update_timers(&mut self, bus: &dyn Bus, cycles: i64) {
[INFO] [stderr]     |                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ctc.rs:182:42
[INFO] [stderr]     |
[INFO] [stderr] 182 |     fn down_counter_trigger(&self, bus: &Bus, chn: usize) {
[INFO] [stderr]     |                                          ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 182 |     fn down_counter_trigger(&self, bus: &dyn Bus, chn: usize) {
[INFO] [stderr]     |                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/daisychain.rs:57:33
[INFO] [stderr]    |
[INFO] [stderr] 57 |     pub fn irq(&mut self, bus: &Bus, ctrl_id: usize, vec: u8) {
[INFO] [stderr]    |                                 ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 57 |     pub fn irq(&mut self, bus: &dyn Bus, ctrl_id: usize, vec: u8) {
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `c` is never read
[INFO] [stderr]    --> src/pio.rs:226:13
[INFO] [stderr]     |
[INFO] [stderr] 226 |             c.bctrl_match = bmatch;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `rz80` (lib) generated 29 warnings (run `cargo fix --lib -p rz80` to apply 28 suggestions)
[INFO] [stderr] warning: `rz80` (lib test) generated 29 warnings (29 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rz80-cb4191cddc03c44c)
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test cpu::tests::cp8 ... ok
[INFO] [stdout] test cpu::tests::halt ... ok
[INFO] [stdout] test cpu::tests::adc8 ... ok
[INFO] [stdout] test cpu::tests::add8 ... ok
[INFO] [stdout] test cpu::tests::neg8 ... ok
[INFO] [stdout] test cpu::tests::or8 ... ok
[INFO] [stdout] test cpu::tests::and8 ... ok
[INFO] [stdout] test cpu::tests::inp ... ok
[INFO] [stdout] test cpu::tests::inc8_dec8 ... ok
[INFO] [stdout] test cpu::tests::push ... ok
[INFO] [stdout] test cpu::tests::sla8 ... ok
[INFO] [stdout] test cpu::tests::rla8_rra8 ... ok
[INFO] [stdout] test cpu::tests::sra8 ... ok
[INFO] [stdout] test cpu::tests::outp ... ok
[INFO] [stdout] test cpu::tests::reg16_rw ... ok
[INFO] [stdout] test cpu::tests::sbc8 ... ok
[INFO] [stdout] test cpu::tests::rlca8_rrca8 ... ok
[INFO] [stdout] test ctc::test::reset ... ok
[INFO] [stdout] test ctc::test::write_control_word ... ok
[INFO] [stdout] test cpu::tests::sub8 ... ok
[INFO] [stdout] test cpu::tests::rst ... ok
[INFO] [stdout] test ctc::test::ctc_counter_with_irq ... ok
[INFO] [stdout] test ctc::test::ctc_timer_no_irq ... ok
[INFO] [stdout] test ctc::test::write_int_vector ... ok
[INFO] [stdout] test ctc::test::ctc_timer_with_irq ... ok
[INFO] [stdout] test cpu::tests::xor8 ... ok
[INFO] [stdout] test daisychain::test::irq_ack ... ok
[INFO] [stdout] test memory::tests::mem_map ... ok
[INFO] [stdout] test memory::tests::mem_readwrite ... ok
[INFO] [stdout] test daisychain::test::reset ... ok
[INFO] [stdout] test cpu::tests::rl8_rr8 ... ok
[INFO] [stdout] test ctc::test::ctc_counter_no_irq ... ok
[INFO] [stdout] test memory::tests::mem_layers ... ok
[INFO] [stdout] test cpu::tests::rlc8_rrc8 ... ok
[INFO] [stdout] test cpu::tests::srl8 ... ok
[INFO] [stdout] test registers::tests::set_get ... ok
[INFO] [stdout] test pio::tests::reset ... ok
[INFO] [stdout] test pio::tests::write_control ... ok
[INFO] [stdout] test registers::tests::new ... ok
[INFO] [stdout] test cpu::tests::reset ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_opcodes.rs (/opt/rustwide/target/debug/deps/test_opcodes-81368e1840cb5438)
[INFO] [stdout] 
[INFO] [stdout] running 71 tests
[INFO] [stdout] test test_opcodes::ld_hlddixiy_inn ... ok
[INFO] [stdout] test test_opcodes::ld_inn_hlddixiy ... ok
[INFO] [stdout] test test_opcodes::test_adc_ihlixiy ... ok
[INFO] [stdout] test test_opcodes::test_adc_r ... ok
[INFO] [stdout] test test_opcodes::test_add_r ... ok
[INFO] [stdout] test test_opcodes::test_and_r ... ok
[INFO] [stdout] test test_opcodes::test_cpd ... ok
[INFO] [stdout] test test_opcodes::test_cp_r ... ok
[INFO] [stdout] test test_opcodes::test_add_adc_sbc_16 ... ok
[INFO] [stdout] test test_opcodes::test_ccf_scf ... ok
[INFO] [stdout] test test_opcodes::test_cpl ... ok
[INFO] [stdout] test test_opcodes::test_djnz ... ok
[INFO] [stdout] test test_opcodes::test_call_ret ... ok
[INFO] [stdout] test test_opcodes::test_add_ihlixiy ... ok
[INFO] [stdout] test test_opcodes::test_cp_ihlixiy ... ok
[INFO] [stdout] test test_opcodes::test_daa ... ok
[INFO] [stdout] test test_opcodes::test_call_cc_ret_cc ... ok
[INFO] [stdout] test test_opcodes::test_and_ihlixiy ... ok
[INFO] [stdout] test test_opcodes::test_cpdr ... ok
[INFO] [stdout] test test_opcodes::test_cpi ... ok
[INFO] [stdout] test test_opcodes::test_ex ... ok
[INFO] [stdout] test test_opcodes::test_ihl_r ... ok
[INFO] [stdout] test test_opcodes::test_inc_dec_ssixiy ... ok
[INFO] [stdout] test test_opcodes::test_in ... ok
[INFO] [stdout] test test_opcodes::test_inir_indr ... ok
[INFO] [stdout] test test_opcodes::test_inc_dec_ihlixiy ... ok
[INFO] [stdout] test test_opcodes::test_ld_a_ir ... ok
[INFO] [stdout] test test_opcodes::test_cpir ... ok
[INFO] [stdout] test test_opcodes::test_ld_ddixiy_nn ... ok
[INFO] [stdout] test test_opcodes::test_halt ... ok
[INFO] [stdout] test test_opcodes::test_inc_dec_r ... ok
[INFO] [stdout] test test_opcodes::test_inc_dec_ss ... ok
[INFO] [stdout] test test_opcodes::test_ld_ihl ... ok
[INFO] [stdout] test test_opcodes::test_ld_ibcdenn_a ... ok
[INFO] [stdout] test test_opcodes::test_jr_cc ... ok
[INFO] [stdout] test test_opcodes::test_ld_ixiy_n ... ok
[INFO] [stdout] test test_opcodes::test_ld_ihl_n ... ok
[INFO] [stdout] test test_opcodes::test_ld_ixiy_r ... ok
[INFO] [stdout] test test_opcodes::test_ld_r_s ... ok
[INFO] [stdout] test test_opcodes::test_jp_jr ... ok
[INFO] [stdout] test test_opcodes::test_ld_r_ixiy ... ok
[INFO] [stdout] test test_opcodes::test_ld_a_ibcdenn ... ok
[INFO] [stdout] test test_opcodes::test_ld_hlddixiy_inn ... ok
[INFO] [stdout] test test_opcodes::test_jp_cc_nn ... ok
[INFO] [stdout] test test_opcodes::test_ld_sp_hlixiy ... ok
[INFO] [stdout] test test_opcodes::test_ld_ir_a ... ok
[INFO] [stdout] test test_opcodes::test_lddr ... ok
[INFO] [stdout] test test_opcodes::test_neg ... ok
[INFO] [stdout] test test_opcodes::test_or_xor_ihlixiy ... ok
[INFO] [stdout] test test_opcodes::test_otir_otdr ... ok
[INFO] [stdout] test test_opcodes::test_push_pop ... ok
[INFO] [stdout] test test_opcodes::test_ldi ... ok
[INFO] [stdout] test test_opcodes::test_out ... ok
[INFO] [stdout] test test_opcodes::test_or_r ... ok
[INFO] [stdout] test test_opcodes::test_ldir ... ok
[INFO] [stdout] test test_opcodes::test_rrc_rlc_rr_rl_ihlixiy ... ok
[INFO] [stdout] test test_opcodes::test_sbc_ihlixiy ... ok
[INFO] [stdout] test test_opcodes::test_sbc_r ... ok
[INFO] [stdout] test test_opcodes::test_sla_r ... ok
[INFO] [stdout] test test_opcodes::test_sra_ihlixiy ... ok
[INFO] [stdout] test test_opcodes::test_srl_r ... ok
[INFO] [stdout] test test_opcodes::test_ldd ... ok
[INFO] [stdout] test test_opcodes::test_rld_rrd ... ok
[INFO] [stdout] test test_opcodes::test_xor_r ... ok
[INFO] [stdout] test test_opcodes::test_sla_ihlixiy ... ok
[INFO] [stdout] test test_opcodes::test_sub_r ... ok
[INFO] [stdout] test test_opcodes::test_rlca_rla_rrca_rra ... ok
[INFO] [stdout] test test_opcodes::test_sra_r ... ok
[INFO] [stdout] test test_opcodes::test_sub_ihlixiy ... ok
[INFO] [stdout] test test_opcodes::test_srl_ihlixiy ... ok
[INFO] [stdout] test test_opcodes::test_rlc_rl_rrc_rr_r ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 71 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_zex.rs (/opt/rustwide/target/debug/deps/test_zex-440f484108f215f3)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_zex::test_zex ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rz80
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]  --> src/memory.rs:5:26
[INFO] [stderr]   |
[INFO] [stderr] 5 | const PAGE_SIZE: usize = (1 << PAGE_SHIFT);
[INFO] [stderr]   |                          ^               ^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]   |
[INFO] [stderr] 5 - const PAGE_SIZE: usize = (1 << PAGE_SHIFT);
[INFO] [stderr] 5 + const PAGE_SIZE: usize = 1 << PAGE_SHIFT ;
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around method argument
[INFO] [stderr]    --> src/memory.rs:140:32
[INFO] [stderr]     |
[INFO] [stderr] 140 |         mem.map(0, 0, 0, true, (1 << 16));
[INFO] [stderr]     |                                ^       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 140 -         mem.map(0, 0, 0, true, (1 << 16));
[INFO] [stderr] 140 +         mem.map(0, 0, 0, true, 1 << 16 );
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/pio.rs:25:36
[INFO] [stderr]    |
[INFO] [stderr] 25 | pub const INTCTRL_ENABLE_INT: u8 = (1 << 7);
[INFO] [stderr]    |                                    ^      ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 25 - pub const INTCTRL_ENABLE_INT: u8 = (1 << 7);
[INFO] [stderr] 25 + pub const INTCTRL_ENABLE_INT: u8 = 1 << 7 ;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]   --> src/pio.rs:26:38
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub const INTCTRL_MASK_FOLLOWS: u8 = (1 << 4);
[INFO] [stderr]    |                                      ^      ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 26 - pub const INTCTRL_MASK_FOLLOWS: u8 = (1 << 4);
[INFO] [stderr] 26 + pub const INTCTRL_MASK_FOLLOWS: u8 = 1 << 4 ;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: 4 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test src/registers.rs - registers::Registers (line 80) ... ok
[INFO] [stdout] test src/memory.rs - memory::Memory (line 107) ... ok
[INFO] [stdout] test src/registers.rs - registers::Registers (line 91) ... ok
[INFO] [stdout] test src/registers.rs - registers::Registers (line 70) ... ok
[INFO] [stdout] test src/memory.rs - memory::Memory (line 90) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.51s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a728fefadf2e57a9451484c174e87e9918675bb373de56fb4d23f88c57696118", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a728fefadf2e57a9451484c174e87e9918675bb373de56fb4d23f88c57696118", kill_on_drop: false }`
[INFO] [stdout] a728fefadf2e57a9451484c174e87e9918675bb373de56fb4d23f88c57696118
