[INFO] cloning repository https://github.com/colbsmcdolbs/rust_boi [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/colbsmcdolbs/rust_boi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolbsmcdolbs%2Frust_boi", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolbsmcdolbs%2Frust_boi'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f1c36a3cd0ae24f542737f79c410cad08b8cbd58 [INFO] testing colbsmcdolbs/rust_boi against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolbsmcdolbs%2Frust_boi" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/colbsmcdolbs/rust_boi [INFO] finished tweaking git repo https://github.com/colbsmcdolbs/rust_boi [INFO] tweaked toml for git repo https://github.com/colbsmcdolbs/rust_boi written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/colbsmcdolbs/rust_boi on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/colbsmcdolbs/rust_boi 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" "+b83b707f97d809763b7861afa7638871f3339a33" "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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1521c141fe8932125708602a65f222dff490a808cdfdf1bd02b2f4292dc6cb57 [INFO] running `Command { std: "docker" "start" "-a" "1521c141fe8932125708602a65f222dff490a808cdfdf1bd02b2f4292dc6cb57", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1521c141fe8932125708602a65f222dff490a808cdfdf1bd02b2f4292dc6cb57", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1521c141fe8932125708602a65f222dff490a808cdfdf1bd02b2f4292dc6cb57", kill_on_drop: false }` [INFO] [stdout] 1521c141fe8932125708602a65f222dff490a808cdfdf1bd02b2f4292dc6cb57 [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d3b08c40abbbb4792453b99d68cdf1d1dbcd6e41d85853ec481a5420c32ba080 [INFO] running `Command { std: "docker" "start" "-a" "d3b08c40abbbb4792453b99d68cdf1d1dbcd6e41d85853ec481a5420c32ba080", kill_on_drop: false }` [INFO] [stderr] Compiling rust_boi v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/cpu.rs:876:21 [INFO] [stdout] | [INFO] [stdout] 876 | _ => panic!("Instruction not implemented!"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/cpu.rs:876:21 [INFO] [stdout] | [INFO] [stdout] 468 | 0x00 => self.b = self.rlc(self.b, false), // RLC B [INFO] [stdout] | ---- matches some of the same values [INFO] [stdout] 469 | 0x01 => self.c = self.rlc(self.c, false), // RLC C [INFO] [stdout] | ---- matches some of the same values [INFO] [stdout] 470 | 0x02 => self.d = self.rlc(self.d, false), // RLC D [INFO] [stdout] | ---- matches some of the same values [INFO] [stdout] 471 | 0x03 => self.e = self.rlc(self.e, false), // RLC E [INFO] [stdout] | ---- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 876 | _ => panic!("Instruction not implemented!"), [INFO] [stdout] | ^ ...and 252 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cpu` is never constructed [INFO] [stdout] --> src/cpu.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 21 | pub(crate) struct Cpu { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/cpu.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl Cpu { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 38 | pub fn new() -> Cpu { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn get_16_register(&self, register: Register) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn set_16_register(&mut self, register: Register, value: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | fn set_f(&mut self, value: u8) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn get_f(&mut self) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn execute(&mut self, mut mem_map: MemoryMap) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 989 | fn set_flag(&mut self, flag: Flag, value: bool) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 998 | fn get_pc(&mut self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1005 | fn get_pc_u16(&mut self, mem_map: &mut MemoryMap) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1011 | fn get_hl_as_usize(&mut self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1015 | fn get_sp_inc(&mut self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1021 | fn get_sp_dec(&mut self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1034 | fn adc(&mut self, value: u8) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1049 | fn add_8(&mut self, value: u8) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1063 | fn and(&mut self, value: u8) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1077 | fn cp(&mut self, value: u8) { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 1088 | fn dec(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1100 | fn inc(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1113 | fn or(&mut self, value: u8) { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 1127 | fn sbc(&mut self, value: u8) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1142 | fn sub(&mut self, value: u8) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1156 | fn xor(&mut self, value: u8) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1169 | fn add_hl(&mut self, value: u16) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1180 | fn dec_16(&self, value: u16) -> u16 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1185 | fn inc_16(&self, value: u16) -> u16 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1191 | fn bit(&mut self, value: u8, bit: usize) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1199 | fn res(&self, value: u8, bit: usize) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1206 | fn set(&self, value: u8, bit: usize) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1213 | fn swap(&self, value: u8) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 1220 | fn rl(&mut self, value: u8, is_rla: bool) -> u8 { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 1239 | fn rlc(&mut self, value: u8, is_rlca: bool) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1258 | fn rr(&mut self, value: u8, is_rra: bool) -> u8 { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 1277 | fn rrc(&mut self, value: u8, is_rrca: bool) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1295 | fn sla(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1309 | fn sra(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1328 | fn srl(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1341 | fn jr(&mut self, mem_map: &mut MemoryMap) { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 1347 | fn jr_cond(&mut self, value: i8) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1352 | fn cpl(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1357 | fn scf(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1364 | fn ccf(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1370 | fn pop(&mut self, mem_map: &mut MemoryMap, register: Register) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1393 | fn pop_pc(&mut self, mem_map: &mut MemoryMap) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1400 | fn push(&mut self, mem_map: &mut MemoryMap, register: Register) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_half_carry` is never used [INFO] [stdout] --> src/cpu.rs:1425:4 [INFO] [stdout] | [INFO] [stdout] 1425 | fn add_half_carry(a: u8, b: u8, c: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_u16_half_carry` is never used [INFO] [stdout] --> src/cpu.rs:1429:4 [INFO] [stdout] | [INFO] [stdout] 1429 | fn add_u16_half_carry(a: u16, b: u16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sub_half_carry` is never used [INFO] [stdout] --> src/cpu.rs:1433:4 [INFO] [stdout] | [INFO] [stdout] 1433 | fn sub_half_carry(a: u8, b: u8, c: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemoryMap` is never constructed [INFO] [stdout] --> src/memory_map.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) struct MemoryMap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, `set`, `set_u16`, and `update_switchable_bank_index` are never used [INFO] [stdout] --> src/memory_map.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl MemoryMap { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 38 | pub fn new(rom_bank_size: usize, external_ram_size: usize) -> MemoryMap { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn get(&mut self, index: usize) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn set(&mut self, index: usize, value: u8) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn set_u16(&mut self, index: usize, value: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn update_switchable_bank_index(&mut self, bank_index: usize, switchable_bank_type: SwitchableBankType) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SwitchableMemoryBank` is never constructed [INFO] [stdout] --> src/switchable_memory_bank.rs:1:19 [INFO] [stdout] | [INFO] [stdout] 1 | pub(crate) struct SwitchableMemoryBank { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_value`, `set_value`, and `set_bank` are never used [INFO] [stdout] --> src/switchable_memory_bank.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl SwitchableMemoryBank { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 7 | pub fn new(size: usize, bank_size: usize) -> SwitchableMemoryBank { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn get_value(&self, index: usize) -> u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn set_value(&mut self, index: usize, value: u8) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn set_bank(&mut self, bank_index: usize) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu.rs:1434:5 [INFO] [stdout] | [INFO] [stdout] 1434 | ((a & 0xF) - (b & 0xF) - (c & 0xF)) < 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.34s [INFO] running `Command { std: "docker" "inspect" "d3b08c40abbbb4792453b99d68cdf1d1dbcd6e41d85853ec481a5420c32ba080", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d3b08c40abbbb4792453b99d68cdf1d1dbcd6e41d85853ec481a5420c32ba080", kill_on_drop: false }` [INFO] [stdout] d3b08c40abbbb4792453b99d68cdf1d1dbcd6e41d85853ec481a5420c32ba080 [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] da2cecc78da50b1169253c0e97b6a52f9bdd8e11701bb4d747a43e4331134810 [INFO] running `Command { std: "docker" "start" "-a" "da2cecc78da50b1169253c0e97b6a52f9bdd8e11701bb4d747a43e4331134810", kill_on_drop: false }` [INFO] [stderr] Compiling rust_boi v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/cpu.rs:876:21 [INFO] [stdout] | [INFO] [stdout] 876 | _ => panic!("Instruction not implemented!"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/cpu.rs:876:21 [INFO] [stdout] | [INFO] [stdout] 468 | 0x00 => self.b = self.rlc(self.b, false), // RLC B [INFO] [stdout] | ---- matches some of the same values [INFO] [stdout] 469 | 0x01 => self.c = self.rlc(self.c, false), // RLC C [INFO] [stdout] | ---- matches some of the same values [INFO] [stdout] 470 | 0x02 => self.d = self.rlc(self.d, false), // RLC D [INFO] [stdout] | ---- matches some of the same values [INFO] [stdout] 471 | 0x03 => self.e = self.rlc(self.e, false), // RLC E [INFO] [stdout] | ---- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 876 | _ => panic!("Instruction not implemented!"), [INFO] [stdout] | ^ ...and 252 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sp` and `pc` are never read [INFO] [stdout] --> src/cpu.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub(crate) struct Cpu { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 29 | sp: usize, [INFO] [stdout] | ^^ [INFO] [stdout] 30 | pc: usize, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/cpu.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 37 | impl Cpu { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 93 | fn set_f(&mut self, value: u8) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn get_f(&mut self) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn execute(&mut self, mut mem_map: MemoryMap) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 998 | fn get_pc(&mut self) -> usize { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1005 | fn get_pc_u16(&mut self, mem_map: &mut MemoryMap) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1011 | fn get_hl_as_usize(&mut self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1015 | fn get_sp_inc(&mut self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1021 | fn get_sp_dec(&mut self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1034 | fn adc(&mut self, value: u8) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1049 | fn add_8(&mut self, value: u8) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1063 | fn and(&mut self, value: u8) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1077 | fn cp(&mut self, value: u8) { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 1088 | fn dec(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1100 | fn inc(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1113 | fn or(&mut self, value: u8) { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 1127 | fn sbc(&mut self, value: u8) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1142 | fn sub(&mut self, value: u8) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1156 | fn xor(&mut self, value: u8) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1169 | fn add_hl(&mut self, value: u16) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1180 | fn dec_16(&self, value: u16) -> u16 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1185 | fn inc_16(&self, value: u16) -> u16 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1191 | fn bit(&mut self, value: u8, bit: usize) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1206 | fn set(&self, value: u8, bit: usize) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1220 | fn rl(&mut self, value: u8, is_rla: bool) -> u8 { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 1239 | fn rlc(&mut self, value: u8, is_rlca: bool) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1258 | fn rr(&mut self, value: u8, is_rra: bool) -> u8 { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 1277 | fn rrc(&mut self, value: u8, is_rrca: bool) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1295 | fn sla(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1309 | fn sra(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1328 | fn srl(&mut self, value: u8) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1341 | fn jr(&mut self, mem_map: &mut MemoryMap) { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 1347 | fn jr_cond(&mut self, value: i8) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1352 | fn cpl(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1357 | fn scf(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1364 | fn ccf(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1370 | fn pop(&mut self, mem_map: &mut MemoryMap, register: Register) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 1393 | fn pop_pc(&mut self, mem_map: &mut MemoryMap) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1400 | fn push(&mut self, mem_map: &mut MemoryMap, register: Register) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_half_carry` is never used [INFO] [stdout] --> src/cpu.rs:1425:4 [INFO] [stdout] | [INFO] [stdout] 1425 | fn add_half_carry(a: u8, b: u8, c: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_u16_half_carry` is never used [INFO] [stdout] --> src/cpu.rs:1429:4 [INFO] [stdout] | [INFO] [stdout] 1429 | fn add_u16_half_carry(a: u16, b: u16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sub_half_carry` is never used [INFO] [stdout] --> src/cpu.rs:1433:4 [INFO] [stdout] | [INFO] [stdout] 1433 | fn sub_half_carry(a: u8, b: u8, c: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemoryMap` is never constructed [INFO] [stdout] --> src/memory_map.rs:17:19 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) struct MemoryMap { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, `set`, `set_u16`, and `update_switchable_bank_index` are never used [INFO] [stdout] --> src/memory_map.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 37 | impl MemoryMap { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 38 | pub fn new(rom_bank_size: usize, external_ram_size: usize) -> MemoryMap { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn get(&mut self, index: usize) -> u8 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn set(&mut self, index: usize, value: u8) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 85 | pub fn set_u16(&mut self, index: usize, value: u16) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn update_switchable_bank_index(&mut self, bank_index: usize, switchable_bank_type: SwitchableBankType) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/cpu.rs:1434:5 [INFO] [stdout] | [INFO] [stdout] 1434 | ((a & 0xF) - (b & 0xF) - (c & 0xF)) < 0 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.51s [INFO] running `Command { std: "docker" "inspect" "da2cecc78da50b1169253c0e97b6a52f9bdd8e11701bb4d747a43e4331134810", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "da2cecc78da50b1169253c0e97b6a52f9bdd8e11701bb4d747a43e4331134810", kill_on_drop: false }` [INFO] [stdout] da2cecc78da50b1169253c0e97b6a52f9bdd8e11701bb4d747a43e4331134810 [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 77b63155820944f5161c4c16cd6dda4237655ffdcf866f3e26f57c542e90fe56 [INFO] running `Command { std: "docker" "start" "-a" "77b63155820944f5161c4c16cd6dda4237655ffdcf866f3e26f57c542e90fe56", kill_on_drop: false }` [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/cpu.rs:876:21 [INFO] [stderr] | [INFO] [stderr] 876 | _ => panic!("Instruction not implemented!"), [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/cpu.rs:876:21 [INFO] [stderr] | [INFO] [stderr] 468 | 0x00 => self.b = self.rlc(self.b, false), // RLC B [INFO] [stderr] | ---- matches some of the same values [INFO] [stderr] 469 | 0x01 => self.c = self.rlc(self.c, false), // RLC C [INFO] [stderr] | ---- matches some of the same values [INFO] [stderr] 470 | 0x02 => self.d = self.rlc(self.d, false), // RLC D [INFO] [stderr] | ---- matches some of the same values [INFO] [stderr] 471 | 0x03 => self.e = self.rlc(self.e, false), // RLC E [INFO] [stderr] | ---- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 876 | _ => panic!("Instruction not implemented!"), [INFO] [stderr] | ^ ...and 252 other patterns collectively make this unreachable [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `sp` and `pc` are never read [INFO] [stderr] --> src/cpu.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 21 | pub(crate) struct Cpu { [INFO] [stderr] | --- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 29 | sp: usize, [INFO] [stderr] | ^^ [INFO] [stderr] 30 | pc: usize, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: multiple methods are never used [INFO] [stderr] --> src/cpu.rs:93:8 [INFO] [stderr] | [INFO] [stderr] 37 | impl Cpu { [INFO] [stderr] | -------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 93 | fn set_f(&mut self, value: u8) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 100 | fn get_f(&mut self) -> u8 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 104 | pub fn execute(&mut self, mut mem_map: MemoryMap) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 998 | fn get_pc(&mut self) -> usize { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1005 | fn get_pc_u16(&mut self, mem_map: &mut MemoryMap) -> u16 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1011 | fn get_hl_as_usize(&mut self) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1015 | fn get_sp_inc(&mut self) -> usize { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1021 | fn get_sp_dec(&mut self) -> usize { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1034 | fn adc(&mut self, value: u8) { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1049 | fn add_8(&mut self, value: u8) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1063 | fn and(&mut self, value: u8) { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1077 | fn cp(&mut self, value: u8) { [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 1088 | fn dec(&mut self, value: u8) -> u8 { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1100 | fn inc(&mut self, value: u8) -> u8 { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1113 | fn or(&mut self, value: u8) { [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 1127 | fn sbc(&mut self, value: u8) { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1142 | fn sub(&mut self, value: u8) { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1156 | fn xor(&mut self, value: u8) { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1169 | fn add_hl(&mut self, value: u16) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1180 | fn dec_16(&self, value: u16) -> u16 { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1185 | fn inc_16(&self, value: u16) -> u16 { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1191 | fn bit(&mut self, value: u8, bit: usize) { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1206 | fn set(&self, value: u8, bit: usize) -> u8 { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1220 | fn rl(&mut self, value: u8, is_rla: bool) -> u8 { [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 1239 | fn rlc(&mut self, value: u8, is_rlca: bool) -> u8 { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1258 | fn rr(&mut self, value: u8, is_rra: bool) -> u8 { [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 1277 | fn rrc(&mut self, value: u8, is_rrca: bool) -> u8 { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1295 | fn sla(&mut self, value: u8) -> u8 { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1309 | fn sra(&mut self, value: u8) -> u8 { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1328 | fn srl(&mut self, value: u8) -> u8 { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1341 | fn jr(&mut self, mem_map: &mut MemoryMap) { [INFO] [stderr] | ^^ [INFO] [stderr] ... [INFO] [stderr] 1347 | fn jr_cond(&mut self, value: i8) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1352 | fn cpl(&mut self) { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1357 | fn scf(&mut self) { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1364 | fn ccf(&mut self) { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1370 | fn pop(&mut self, mem_map: &mut MemoryMap, register: Register) { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 1393 | fn pop_pc(&mut self, mem_map: &mut MemoryMap) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 1400 | fn push(&mut self, mem_map: &mut MemoryMap, register: Register) { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `add_half_carry` is never used [INFO] [stderr] --> src/cpu.rs:1425:4 [INFO] [stderr] | [INFO] [stderr] 1425 | fn add_half_carry(a: u8, b: u8, c: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `add_u16_half_carry` is never used [INFO] [stderr] --> src/cpu.rs:1429:4 [INFO] [stderr] | [INFO] [stderr] 1429 | fn add_u16_half_carry(a: u16, b: u16) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `sub_half_carry` is never used [INFO] [stderr] --> src/cpu.rs:1433:4 [INFO] [stderr] | [INFO] [stderr] 1433 | fn sub_half_carry(a: u8, b: u8, c: u8) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `MemoryMap` is never constructed [INFO] [stderr] --> src/memory_map.rs:17:19 [INFO] [stderr] | [INFO] [stderr] 17 | pub(crate) struct MemoryMap { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `get`, `set`, `set_u16`, and `update_switchable_bank_index` are never used [INFO] [stderr] --> src/memory_map.rs:38:12 [INFO] [stderr] | [INFO] [stderr] 37 | impl MemoryMap { [INFO] [stderr] | -------------- associated items in this implementation [INFO] [stderr] 38 | pub fn new(rom_bank_size: usize, external_ram_size: usize) -> MemoryMap { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 53 | pub fn get(&mut self, index: usize) -> u8 { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 69 | pub fn set(&mut self, index: usize, value: u8) { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 85 | pub fn set_u16(&mut self, index: usize, value: u16) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 90 | pub fn update_switchable_bank_index(&mut self, bank_index: usize, switchable_bank_type: SwitchableBankType) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/cpu.rs:1434:5 [INFO] [stderr] | [INFO] [stderr] 1434 | ((a & 0xF) - (b & 0xF) - (c & 0xF)) < 0 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `rust_boi` (bin "rust_boi" test) generated 9 warnings [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rust_boi-a157b2bd41c92b43) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test cpu::cpu_tests::res_correctly_turns_bit_to_zero ... ok [INFO] [stdout] test cpu::cpu_tests::correctly_parses_flags ... ok [INFO] [stdout] test cpu::cpu_tests::set_correctly_turns_bit_to_one ... ok [INFO] [stdout] test cpu::cpu_tests::successfully_sets_flag ... ok [INFO] [stdout] test cpu::cpu_tests::temp_test ... ok [INFO] [stdout] test cpu::cpu_tests::swap_correctly_rotates_byte ... ok [INFO] [stdout] test cpu::cpu_tests::set_af_correctly_sets_flags ... ok [INFO] [stdout] test switchable_memory_bank::switchable_memory_bank_tests::successfully_creates ... ok [INFO] [stdout] test cpu::cpu_tests::set_af_correctly_sets_flags_to_off ... ok [INFO] [stdout] test switchable_memory_bank::switchable_memory_bank_tests::fails_to_create_with_size_0 - should panic ... ok [INFO] [stdout] test switchable_memory_bank::switchable_memory_bank_tests::setting_at_invalid_bank_index_and_getting_should_panic - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "77b63155820944f5161c4c16cd6dda4237655ffdcf866f3e26f57c542e90fe56", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "77b63155820944f5161c4c16cd6dda4237655ffdcf866f3e26f57c542e90fe56", kill_on_drop: false }` [INFO] [stdout] 77b63155820944f5161c4c16cd6dda4237655ffdcf866f3e26f57c542e90fe56