[INFO] cloning repository https://github.com/Kandles11/gbr
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Kandles11/gbr" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKandles11%2Fgbr", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKandles11%2Fgbr'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9c2297b70dad49c150f4316ff2ef63d12cf33ee0
[INFO] checking Kandles11/gbr against try#db4e1d23234d93b5e96ecc768b35d9090c32cddf for pr-149901
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKandles11%2Fgbr" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Kandles11/gbr
[INFO] finished tweaking git repo https://github.com/Kandles11/gbr
[INFO] tweaked toml for git repo https://github.com/Kandles11/gbr written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Kandles11/gbr on toolchain db4e1d23234d93b5e96ecc768b35d9090c32cddf
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db4e1d23234d93b5e96ecc768b35d9090c32cddf" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Kandles11/gbr 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" "+db4e1d23234d93b5e96ecc768b35d9090c32cddf" "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-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db4e1d23234d93b5e96ecc768b35d9090c32cddf" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f8cda315a416770e28fbed3b2513e1ad467549a10ffdedb601bdbace400a5d8d
[INFO] running `Command { std: "docker" "start" "-a" "f8cda315a416770e28fbed3b2513e1ad467549a10ffdedb601bdbace400a5d8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f8cda315a416770e28fbed3b2513e1ad467549a10ffdedb601bdbace400a5d8d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f8cda315a416770e28fbed3b2513e1ad467549a10ffdedb601bdbace400a5d8d", kill_on_drop: false }`
[INFO] [stdout] f8cda315a416770e28fbed3b2513e1ad467549a10ffdedb601bdbace400a5d8d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db4e1d23234d93b5e96ecc768b35d9090c32cddf" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 02c812e491a45a4503ddd0b7b24a8d912212f28335815724b681c1c51b7339e5
[INFO] running `Command { std: "docker" "start" "-a" "02c812e491a45a4503ddd0b7b24a8d912212f28335815724b681c1c51b7339e5", kill_on_drop: false }`
[INFO] [stderr]     Checking gbr v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variant `LD_8BIT` should have an upper camel case name
[INFO] [stdout]    --> src/main.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     LD_8BIT(Register, Register),
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper camel case: `Ld8bit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LD_8BIT` should have an upper camel case name
[INFO] [stdout]    --> src/main.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     LD_8BIT(Register, Register),
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to upper camel case: `Ld8bit`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/main.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |             _ => 0xFF,
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/main.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             0x0000..=0x7FFF => self.cartridge.read(addr), // Cartridge ROM access
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 58 |             0x8000..=0x9FFF => self.vram[(addr - 0x8000) as usize],
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 59 |             0xA000..=0xBFFF => self.cartridge_ram[(addr - 0xA000) as usize],
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 60 |             0xC000..=0xDFFF => self.wram[(addr - 0xC000) as usize],
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 67 |             _ => 0xFF,
[INFO] [stdout]    |             ^ ...and 6 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: unreachable pattern
[INFO] [stdout]   --> src/main.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |             _ => 0xFF,
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/main.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |             0x0000..=0x7FFF => self.cartridge.read(addr), // Cartridge ROM access
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 58 |             0x8000..=0x9FFF => self.vram[(addr - 0x8000) as usize],
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 59 |             0xA000..=0xBFFF => self.cartridge_ram[(addr - 0xA000) as usize],
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 60 |             0xC000..=0xDFFF => self.wram[(addr - 0xC000) as usize],
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 67 |             _ => 0xFF,
[INFO] [stdout]    |             ^ ...and 6 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: unreachable pattern
[INFO] [stdout]   --> src/main.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |             _ => {},
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/main.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |             0x0000..=0x7FFF => {}
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 74 |             0x8000..=0x9FFF => self.vram[(addr - 0x8000) as usize] = value,
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 75 |             0xA000..=0xBFFF => self.cartridge_ram[(addr - 0xA000) as usize] = value,
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 76 |             0xC000..=0xDFFF => self.wram[(addr - 0xC000) as usize] = value,
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 83 |             _ => {},
[INFO] [stdout]    |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/main.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |             _ => {},
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/main.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |             0x0000..=0x7FFF => {}
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 74 |             0x8000..=0x9FFF => self.vram[(addr - 0x8000) as usize] = value,
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 75 |             0xA000..=0xBFFF => self.cartridge_ram[(addr - 0xA000) as usize] = value,
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] 76 |             0xC000..=0xDFFF => self.wram[(addr - 0xC000) as usize] = value,
[INFO] [stdout]    |             --------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 83 |             _ => {},
[INFO] [stdout]    |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |             _ => 0xFF, // Invalid register
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |             Register::A => self.a,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 165 |             Register::B => self.b,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 166 |             Register::C => self.c,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 167 |             Register::D => self.d,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 171 |             _ => 0xFF, // Invalid register
[INFO] [stdout]     |             ^ ...and 3 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 |             _ => 0xFF, // Invalid register
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |             Register::A => self.a,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 165 |             Register::B => self.b,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 166 |             Register::C => self.c,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 167 |             Register::D => self.d,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 171 |             _ => 0xFF, // Invalid register
[INFO] [stdout]     |             ^ ...and 3 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |             _ => {}
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 177 |             Register::A => self.a = value,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 178 |             Register::B => self.b = value,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 179 |             Register::C => self.c = value,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 180 |             Register::D => self.d = value,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 184 |             _ => {}
[INFO] [stdout]     |             ^ ...and 3 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/main.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |             _ => {}
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/main.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 177 |             Register::A => self.a = value,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 178 |             Register::B => self.b = value,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 179 |             Register::C => self.c = value,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] 180 |             Register::D => self.d = value,
[INFO] [stdout]     |             ----------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 184 |             _ => {}
[INFO] [stdout]     |             ^ ...and 3 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |     let mut bus = Bus {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/main.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |     let mut bus = Bus {
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct Bus {
[INFO] [stdout]    |        --- fields in this struct
[INFO] [stdout] 24 |     cartridge: Cartridge,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 25 |     vram: [u8; 0x2000],
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 26 |     wram: [u8; 0x2000],
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 27 |     cartridge_ram: [u8; 0x2000],
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 28 |     echo_ram: [u8; 0x2000],
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 29 |     oam: [u8; 0xA0],
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 30 |     io_ports: [u8; 0x80],
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 31 |     hram: [u8; 0x7F],
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 32 |     ie_register: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read` is never used
[INFO] [stdout]   --> src/main.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Cartridge {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 36 |     pub fn read(&self, addr: u16) -> u8 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read` and `write` are never used
[INFO] [stdout]   --> src/main.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl Bus {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] 55 |     pub fn read(&self, addr: u16) -> u8 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn write(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |     let mut bus = Bus {
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sp`, `pc`, `z`, `n`, `half_carry`, and `carry` are never read
[INFO] [stdout]    --> src/main.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | struct CPU {
[INFO] [stdout]     |        --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 151 |     sp: u16,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 152 |     pc: u16,
[INFO] [stdout]     |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     z: bool, // Zero flag
[INFO] [stdout]     |     ^
[INFO] [stdout] 156 |     n: bool, // Subtract flag
[INFO] [stdout]     |     ^
[INFO] [stdout] 157 |     half_carry: bool, // Half carry flag
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 158 |     carry: bool, // Carry flag
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/main.rs:227:9
[INFO] [stdout]     |
[INFO] [stdout] 227 |     let mut bus = Bus {
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct Bus {
[INFO] [stdout]    |        --- fields in this struct
[INFO] [stdout] 24 |     cartridge: Cartridge,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 25 |     vram: [u8; 0x2000],
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 26 |     wram: [u8; 0x2000],
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 27 |     cartridge_ram: [u8; 0x2000],
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 28 |     echo_ram: [u8; 0x2000],
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 29 |     oam: [u8; 0xA0],
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 30 |     io_ports: [u8; 0x80],
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 31 |     hram: [u8; 0x7F],
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 32 |     ie_register: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read` is never used
[INFO] [stdout]   --> src/main.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Cartridge {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] 36 |     pub fn read(&self, addr: u16) -> u8 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read` and `write` are never used
[INFO] [stdout]   --> src/main.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | impl Bus {
[INFO] [stdout]    | -------- methods in this implementation
[INFO] [stdout] 55 |     pub fn read(&self, addr: u16) -> u8 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn write(&mut self, addr: u16, value: u8) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sp`, `pc`, `z`, `n`, `half_carry`, and `carry` are never read
[INFO] [stdout]    --> src/main.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 141 | struct CPU {
[INFO] [stdout]     |        --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 151 |     sp: u16,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 152 |     pc: u16,
[INFO] [stdout]     |     ^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     z: bool, // Zero flag
[INFO] [stdout]     |     ^
[INFO] [stdout] 156 |     n: bool, // Subtract flag
[INFO] [stdout]     |     ^
[INFO] [stdout] 157 |     half_carry: bool, // Half carry flag
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 158 |     carry: bool, // Carry flag
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] running `Command { std: "docker" "inspect" "02c812e491a45a4503ddd0b7b24a8d912212f28335815724b681c1c51b7339e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02c812e491a45a4503ddd0b7b24a8d912212f28335815724b681c1c51b7339e5", kill_on_drop: false }`
[INFO] [stdout] 02c812e491a45a4503ddd0b7b24a8d912212f28335815724b681c1c51b7339e5
