[INFO] cloning repository https://github.com/stianeklund/z80-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/stianeklund/z80-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstianeklund%2Fz80-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstianeklund%2Fz80-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 563f6195c3d2c6e13cdb27e4a9121f8887e1b63d
[INFO] testing stianeklund/z80-rs against 1.76.0 for beta-1.77-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstianeklund%2Fz80-rs" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/stianeklund/z80-rs on toolchain 1.76.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/stianeklund/z80-rs
[INFO] finished tweaking git repo https://github.com/stianeklund/z80-rs
[INFO] tweaked toml for git repo https://github.com/stianeklund/z80-rs written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/stianeklund/z80-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.76.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[ERROR] this task or one of its parent failed!
[ERROR] no output for 300 seconds
[ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace.
[INFO] testing stianeklund/z80-rs against beta-2024-02-10 for beta-1.77-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstianeklund%2Fz80-rs" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/stianeklund/z80-rs on toolchain beta-2024-02-10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/stianeklund/z80-rs
[INFO] finished tweaking git repo https://github.com/stianeklund/z80-rs
[INFO] tweaked toml for git repo https://github.com/stianeklund/z80-rs written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/stianeklund/z80-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-02-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4f9d555dd890960335ed901213d956383d879404e5dc171b959a430b33dcf0de
[INFO] running `Command { std: "docker" "start" "-a" "4f9d555dd890960335ed901213d956383d879404e5dc171b959a430b33dcf0de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4f9d555dd890960335ed901213d956383d879404e5dc171b959a430b33dcf0de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f9d555dd890960335ed901213d956383d879404e5dc171b959a430b33dcf0de", kill_on_drop: false }`
[INFO] [stdout] 4f9d555dd890960335ed901213d956383d879404e5dc171b959a430b33dcf0de
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4f71f0244772334d6b66ed6c267884b0e37cd0585065eb35830b253d154b6dec
[INFO] running `Command { std: "docker" "start" "-a" "4f71f0244772334d6b66ed6c267884b0e37cd0585065eb35830b253d154b6dec", kill_on_drop: false }`
[INFO] [stderr]    Compiling z80-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/cpu.rs:349:19
[INFO] [stdout]     |
[INFO] [stdout] 349 |             AF => ((self.reg.a as u16) << 8 | (self.flags.get() as u16)),
[INFO] [stdout]     |                   ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 349 -             AF => ((self.reg.a as u16) << 8 | (self.flags.get() as u16)),
[INFO] [stdout] 349 +             AF => (self.reg.a as u16) << 8 | (self.flags.get() as u16),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cpu`, `Registers`
[INFO] [stdout]  --> src/memory.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cpu::{Cpu, Registers};
[INFO] [stdout]   |                  ^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overflow`
[INFO] [stdout]    --> src/cpu.rs:967:13
[INFO] [stdout]     |
[INFO] [stdout] 967 |         let overflow = (self.reg.a as i8).overflowing_sub(value as i8).1;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overflow`
[INFO] [stdout]     --> src/cpu.rs:1610:13
[INFO] [stdout]      |
[INFO] [stdout] 1610 |         let overflow = (self.reg.a as i8).overflowing_sub(value as i8).1;
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overflow`
[INFO] [stdout]     --> src/cpu.rs:1663:13
[INFO] [stdout]      |
[INFO] [stdout] 1663 |         let overflow = (self.reg.a as i8).overflowing_sub(value as i8).1;
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overflow`
[INFO] [stdout]     --> src/cpu.rs:1924:13
[INFO] [stdout]      |
[INFO] [stdout] 1924 |         let overflow = 0_i8.overflowing_sub(value as i8).1;
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `output` is never read
[INFO] [stdout]   --> src/cpu.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Io {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     output: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug_decode` is never used
[INFO] [stdout]   --> src/interconnect.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl Interconnect {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn debug_decode(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cpu.rs:307:25
[INFO] [stdout]     |
[INFO] [stdout] 307 |               _ => panic!(format!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 308 | |                 "Writing to RP: {:#?}, is not supported by write_reg, called by: {}, opcode:{:02X}{:02X}",
[INFO] [stdout] 309 | |                 dst, self.current_instruction, self.opcode, self.next_opcode
[INFO] [stdout] 310 | |             )),
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 307 ~             _ => panic!(
[INFO] [stdout] 308 |                 "Writing to RP: {:#?}, is not supported by write_reg, called by: {}, opcode:{:02X}{:02X}",
[INFO] [stdout] 309 |                 dst, self.current_instruction, self.opcode, self.next_opcode
[INFO] [stdout] 310 ~             ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]     --> src/cpu.rs:2840:63
[INFO] [stdout]      |
[INFO] [stdout] 2840 |             _ => panic!("Unknown or unimplemented instruction:{:#?}"), // Instruction::decode(self)
[INFO] [stdout]      |                                                               ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]      |
[INFO] [stdout] 2840 |             _ => panic!("Unknown or unimplemented instruction:{:#?}", ...), // Instruction::decode(self)
[INFO] [stdout]      |                                                                     +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]      |
[INFO] [stdout] 2840 |             _ => panic!("{}", "Unknown or unimplemented instruction:{:#?}"), // Instruction::decode(self)
[INFO] [stdout]      |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Formatter::<'a>::align` that must be used
[INFO] [stdout]   --> src/formatter.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         fmt.align();
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let _ = fmt.align();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Formatter::<'a>::align` that must be used
[INFO] [stdout]   --> src/formatter.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         fmt.align();
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let _ = fmt.align();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Formatter::<'a>::align` that must be used
[INFO] [stdout]   --> src/instruction_info.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         fmt.align();
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let _ = fmt.align();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.56s
[INFO] running `Command { std: "docker" "inspect" "4f71f0244772334d6b66ed6c267884b0e37cd0585065eb35830b253d154b6dec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f71f0244772334d6b66ed6c267884b0e37cd0585065eb35830b253d154b6dec", kill_on_drop: false }`
[INFO] [stdout] 4f71f0244772334d6b66ed6c267884b0e37cd0585065eb35830b253d154b6dec
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4f7ba74b8a2339d45ebd04a3038f57bb2c6b4a02d6d57a19cce50f72821645ec
[INFO] running `Command { std: "docker" "start" "-a" "4f7ba74b8a2339d45ebd04a3038f57bb2c6b4a02d6d57a19cce50f72821645ec", kill_on_drop: false }`
[INFO] [stderr]    Compiling z80-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/cpu.rs:349:19
[INFO] [stdout]     |
[INFO] [stdout] 349 |             AF => ((self.reg.a as u16) << 8 | (self.flags.get() as u16)),
[INFO] [stdout]     |                   ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 349 -             AF => ((self.reg.a as u16) << 8 | (self.flags.get() as u16)),
[INFO] [stdout] 349 +             AF => (self.reg.a as u16) << 8 | (self.flags.get() as u16),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cpu`, `Registers`
[INFO] [stdout]  --> src/memory.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cpu::{Cpu, Registers};
[INFO] [stdout]   |                  ^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]    --> src/cpu.rs:349:19
[INFO] [stdout]     |
[INFO] [stdout] 349 |             AF => ((self.reg.a as u16) << 8 | (self.flags.get() as u16)),
[INFO] [stdout]     |                   ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 349 -             AF => ((self.reg.a as u16) << 8 | (self.flags.get() as u16)),
[INFO] [stdout] 349 +             AF => (self.reg.a as u16) << 8 | (self.flags.get() as u16),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IXH`
[INFO] [stdout]  --> src/cpu_tests.rs:4:61
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::instruction_info::Register::{BC, DE, HL, IX, IXH, IY, R, SP};
[INFO] [stdout]   |                                                             ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Cpu`, `Registers`
[INFO] [stdout]  --> src/memory.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::cpu::{Cpu, Registers};
[INFO] [stdout]   |                  ^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overflow`
[INFO] [stdout]    --> src/cpu.rs:967:13
[INFO] [stdout]     |
[INFO] [stdout] 967 |         let overflow = (self.reg.a as i8).overflowing_sub(value as i8).1;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overflow`
[INFO] [stdout]     --> src/cpu.rs:1610:13
[INFO] [stdout]      |
[INFO] [stdout] 1610 |         let overflow = (self.reg.a as i8).overflowing_sub(value as i8).1;
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overflow`
[INFO] [stdout]     --> src/cpu.rs:1663:13
[INFO] [stdout]      |
[INFO] [stdout] 1663 |         let overflow = (self.reg.a as i8).overflowing_sub(value as i8).1;
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overflow`
[INFO] [stdout]    --> src/cpu.rs:967:13
[INFO] [stdout]     |
[INFO] [stdout] 967 |         let overflow = (self.reg.a as i8).overflowing_sub(value as i8).1;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overflow`
[INFO] [stdout]     --> src/cpu.rs:1924:13
[INFO] [stdout]      |
[INFO] [stdout] 1924 |         let overflow = 0_i8.overflowing_sub(value as i8).1;
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overflow`
[INFO] [stdout]     --> src/cpu.rs:1610:13
[INFO] [stdout]      |
[INFO] [stdout] 1610 |         let overflow = (self.reg.a as i8).overflowing_sub(value as i8).1;
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overflow`
[INFO] [stdout]     --> src/cpu.rs:1663:13
[INFO] [stdout]      |
[INFO] [stdout] 1663 |         let overflow = (self.reg.a as i8).overflowing_sub(value as i8).1;
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overflow`
[INFO] [stdout]     --> src/cpu.rs:1924:13
[INFO] [stdout]      |
[INFO] [stdout] 1924 |         let overflow = 0_i8.overflowing_sub(value as i8).1;
[INFO] [stdout]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `output` is never read
[INFO] [stdout]   --> src/cpu.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Io {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     output: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug_decode` is never used
[INFO] [stdout]   --> src/interconnect.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl Interconnect {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn debug_decode(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cpu.rs:307:25
[INFO] [stdout]     |
[INFO] [stdout] 307 |               _ => panic!(format!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 308 | |                 "Writing to RP: {:#?}, is not supported by write_reg, called by: {}, opcode:{:02X}{:02X}",
[INFO] [stdout] 309 | |                 dst, self.current_instruction, self.opcode, self.next_opcode
[INFO] [stdout] 310 | |             )),
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 307 ~             _ => panic!(
[INFO] [stdout] 308 |                 "Writing to RP: {:#?}, is not supported by write_reg, called by: {}, opcode:{:02X}{:02X}",
[INFO] [stdout] 309 |                 dst, self.current_instruction, self.opcode, self.next_opcode
[INFO] [stdout] 310 ~             ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]     --> src/cpu.rs:2840:63
[INFO] [stdout]      |
[INFO] [stdout] 2840 |             _ => panic!("Unknown or unimplemented instruction:{:#?}"), // Instruction::decode(self)
[INFO] [stdout]      |                                                               ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]      |
[INFO] [stdout] 2840 |             _ => panic!("Unknown or unimplemented instruction:{:#?}", ...), // Instruction::decode(self)
[INFO] [stdout]      |                                                                     +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]      |
[INFO] [stdout] 2840 |             _ => panic!("{}", "Unknown or unimplemented instruction:{:#?}"), // Instruction::decode(self)
[INFO] [stdout]      |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Formatter::<'a>::align` that must be used
[INFO] [stdout]   --> src/formatter.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         fmt.align();
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let _ = fmt.align();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Formatter::<'a>::align` that must be used
[INFO] [stdout]   --> src/formatter.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         fmt.align();
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let _ = fmt.align();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Formatter::<'a>::align` that must be used
[INFO] [stdout]   --> src/instruction_info.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         fmt.align();
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let _ = fmt.align();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `output` is never read
[INFO] [stdout]   --> src/cpu.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct Io {
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     output: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_tests` is never used
[INFO] [stdout]    --> src/cpu_tests.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn all_tests() {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug_decode` is never used
[INFO] [stdout]   --> src/interconnect.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl Interconnect {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn debug_decode(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/cpu.rs:307:25
[INFO] [stdout]     |
[INFO] [stdout] 307 |               _ => panic!(format!(
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 308 | |                 "Writing to RP: {:#?}, is not supported by write_reg, called by: {}, opcode:{:02X}{:02X}",
[INFO] [stdout] 309 | |                 dst, self.current_instruction, self.opcode, self.next_opcode
[INFO] [stdout] 310 | |             )),
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 307 ~             _ => panic!(
[INFO] [stdout] 308 |                 "Writing to RP: {:#?}, is not supported by write_reg, called by: {}, opcode:{:02X}{:02X}",
[INFO] [stdout] 309 |                 dst, self.current_instruction, self.opcode, self.next_opcode
[INFO] [stdout] 310 ~             ),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message contains an unused formatting placeholder
[INFO] [stdout]     --> src/cpu.rs:2840:63
[INFO] [stdout]      |
[INFO] [stdout] 2840 |             _ => panic!("Unknown or unimplemented instruction:{:#?}"), // Instruction::decode(self)
[INFO] [stdout]      |                                                               ^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stdout] help: add the missing argument
[INFO] [stdout]      |
[INFO] [stdout] 2840 |             _ => panic!("Unknown or unimplemented instruction:{:#?}", ...), // Instruction::decode(self)
[INFO] [stdout]      |                                                                     +++++
[INFO] [stdout] help: or add a "{}" format string to use the message literally
[INFO] [stdout]      |
[INFO] [stdout] 2840 |             _ => panic!("{}", "Unknown or unimplemented instruction:{:#?}"), // Instruction::decode(self)
[INFO] [stdout]      |                         +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Formatter::<'a>::align` that must be used
[INFO] [stdout]   --> src/formatter.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         fmt.align();
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let _ = fmt.align();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Formatter::<'a>::align` that must be used
[INFO] [stdout]   --> src/formatter.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |         fmt.align();
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let _ = fmt.align();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Formatter::<'a>::align` that must be used
[INFO] [stdout]   --> src/instruction_info.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         fmt.align();
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let _ = fmt.align();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [optimized + debuginfo] target(s) in 1.70s
[INFO] running `Command { std: "docker" "inspect" "4f7ba74b8a2339d45ebd04a3038f57bb2c6b4a02d6d57a19cce50f72821645ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f7ba74b8a2339d45ebd04a3038f57bb2c6b4a02d6d57a19cce50f72821645ec", kill_on_drop: false }`
[INFO] [stdout] 4f7ba74b8a2339d45ebd04a3038f57bb2c6b4a02d6d57a19cce50f72821645ec
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-02-10" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e020834c04c0ab6a66b115c1d0fe3bcdebc7c797d29f2edc168a4d7284b6ee79
[INFO] running `Command { std: "docker" "start" "-a" "e020834c04c0ab6a66b115c1d0fe3bcdebc7c797d29f2edc168a4d7284b6ee79", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/cpu.rs:349:19
[INFO] [stderr]     |
[INFO] [stderr] 349 |             AF => ((self.reg.a as u16) << 8 | (self.flags.get() as u16)),
[INFO] [stderr]     |                   ^                                                    ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 349 -             AF => ((self.reg.a as u16) << 8 | (self.flags.get() as u16)),
[INFO] [stderr] 349 +             AF => (self.reg.a as u16) << 8 | (self.flags.get() as u16),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Cpu`, `Registers`
[INFO] [stderr]  --> src/memory.rs:1:18
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::cpu::{Cpu, Registers};
[INFO] [stderr]   |                  ^^^  ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `overflow`
[INFO] [stderr]    --> src/cpu.rs:967:13
[INFO] [stderr]     |
[INFO] [stderr] 967 |         let overflow = (self.reg.a as i8).overflowing_sub(value as i8).1;
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `overflow`
[INFO] [stderr]     --> src/cpu.rs:1610:13
[INFO] [stderr]      |
[INFO] [stderr] 1610 |         let overflow = (self.reg.a as i8).overflowing_sub(value as i8).1;
[INFO] [stderr]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `overflow`
[INFO] [stderr]     --> src/cpu.rs:1663:13
[INFO] [stderr]      |
[INFO] [stderr] 1663 |         let overflow = (self.reg.a as i8).overflowing_sub(value as i8).1;
[INFO] [stderr]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `overflow`
[INFO] [stderr]     --> src/cpu.rs:1924:13
[INFO] [stderr]      |
[INFO] [stderr] 1924 |         let overflow = 0_i8.overflowing_sub(value as i8).1;
[INFO] [stderr]      |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overflow`
[INFO] [stderr] 
[INFO] [stderr] warning: field `output` is never read
[INFO] [stderr]   --> src/cpu.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub struct Io {
[INFO] [stderr]    |            -- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 60 |     output: bool,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `debug_decode` is never used
[INFO] [stderr]   --> src/interconnect.rs:44:8
[INFO] [stderr]    |
[INFO] [stderr] 9  | impl Interconnect {
[INFO] [stderr]    | ----------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 44 |     fn debug_decode(&mut self) {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/cpu.rs:307:25
[INFO] [stderr]     |
[INFO] [stderr] 307 |               _ => panic!(format!(
[INFO] [stderr]     |  _________________________^
[INFO] [stderr] 308 | |                 "Writing to RP: {:#?}, is not supported by write_reg, called by: {}, opcode:{:02X}{:02X}",
[INFO] [stderr] 309 | |                 dst, self.current_instruction, self.opcode, self.next_opcode
[INFO] [stderr] 310 | |             )),
[INFO] [stderr]     | |_____________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 307 ~             _ => panic!(
[INFO] [stderr] 308 |                 "Writing to RP: {:#?}, is not supported by write_reg, called by: {}, opcode:{:02X}{:02X}",
[INFO] [stderr] 309 |                 dst, self.current_instruction, self.opcode, self.next_opcode
[INFO] [stderr] 310 ~             ),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message contains an unused formatting placeholder
[INFO] [stderr]     --> src/cpu.rs:2840:63
[INFO] [stderr]      |
[INFO] [stderr] 2840 |             _ => panic!("Unknown or unimplemented instruction:{:#?}"), // Instruction::decode(self)
[INFO] [stderr]      |                                                               ^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this message is not used as a format string when given without arguments, but will be in Rust 2021
[INFO] [stderr] help: add the missing argument
[INFO] [stderr]      |
[INFO] [stderr] 2840 |             _ => panic!("Unknown or unimplemented instruction:{:#?}", ...), // Instruction::decode(self)
[INFO] [stderr]      |                                                                     +++++
[INFO] [stderr] help: or add a "{}" format string to use the message literally
[INFO] [stderr]      |
[INFO] [stderr] 2840 |             _ => panic!("{}", "Unknown or unimplemented instruction:{:#?}"), // Instruction::decode(self)
[INFO] [stderr]      |                         +++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `Formatter::<'a>::align` that must be used
[INFO] [stderr]   --> src/formatter.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |         fmt.align();
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 21 |         let _ = fmt.align();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `Formatter::<'a>::align` that must be used
[INFO] [stderr]   --> src/formatter.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 45 |         fmt.align();
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 45 |         let _ = fmt.align();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused return value of `Formatter::<'a>::align` that must be used
[INFO] [stderr]   --> src/instruction_info.rs:24:9
[INFO] [stderr]    |
[INFO] [stderr] 24 |         fmt.align();
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let _ = fmt.align();
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `z80-rs` (lib) generated 13 warnings (run `cargo fix --lib -p z80-rs` to apply 8 suggestions)
[INFO] [stderr] warning: unused import: `IXH`
[INFO] [stderr]  --> src/cpu_tests.rs:4:61
[INFO] [stderr]   |
[INFO] [stderr] 4 |     use crate::instruction_info::Register::{BC, DE, HL, IX, IXH, IY, R, SP};
[INFO] [stderr]   |                                                             ^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Cpu`, `Registers`
[INFO] [stderr]  --> src/memory.rs:1:18
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::cpu::{Cpu, Registers};
[INFO] [stderr]   |                  ^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `all_tests` is never used
[INFO] [stderr]    --> src/cpu_tests.rs:111:8
[INFO] [stderr]     |
[INFO] [stderr] 111 |     fn all_tests() {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `z80-rs` (lib test) generated 15 warnings (12 duplicates) (run `cargo fix --lib -p z80-rs --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished test [optimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/z80_rs-63103133abc46e7e)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test cpu_tests::tests::test_ld_hl_indexed ... ignored
[INFO] [stdout] test cpu_tests::tests::test_hf_high_byte ... ok
[INFO] [stdout] test cpu_tests::tests::test_ld_ixh_ixh ... ok
[INFO] [stdout] test cpu_tests::tests::test_overflow_flag_add ... ok
[INFO] [stdout] test cpu_tests::tests::z80_precise ... ignored
[INFO] [stdout] test cpu_tests::tests::test_overflow_flag_sub ... ok
[INFO] [stdout] test cpu_tests::tests::test_hf_flag ... ok
[INFO] [stdout] test cpu_tests::tests::test_add_half_carry ... ok
[INFO] [stdout] test cpu_tests::tests::fast_z80 ... ok
[INFO] [stderr]    Doc-tests z80-rs
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.95s
[INFO] [stdout] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]    --> src/cpu.rs:349:19
[INFO] [stderr]     |
[INFO] [stderr] 349 |             AF => ((self.reg.a as u16) << 8 | (self.flags.get() as u16)),
[INFO] [stderr]     |                   ^                                                    ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 349 -             AF => ((self.reg.a as u16) << 8 | (self.flags.get() as u16)),
[INFO] [stderr] 349 +             AF => (self.reg.a as u16) << 8 | (self.flags.get() as u16),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e020834c04c0ab6a66b115c1d0fe3bcdebc7c797d29f2edc168a4d7284b6ee79", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e020834c04c0ab6a66b115c1d0fe3bcdebc7c797d29f2edc168a4d7284b6ee79", kill_on_drop: false }`
[INFO] [stdout] e020834c04c0ab6a66b115c1d0fe3bcdebc7c797d29f2edc168a4d7284b6ee79
