[INFO] cloning repository https://github.com/billcui57/rust-chip8-emu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/billcui57/rust-chip8-emu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbillcui57%2Frust-chip8-emu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbillcui57%2Frust-chip8-emu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 69c4fe2390db509d571842d8f24f62ab552ff238
[INFO] checking billcui57/rust-chip8-emu against try#3a4cb0edb4040379c037e06efeb5409e44be7b77 for pr-146377
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbillcui57%2Frust-chip8-emu" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/billcui57/rust-chip8-emu
[INFO] finished tweaking git repo https://github.com/billcui57/rust-chip8-emu
[INFO] tweaked toml for git repo https://github.com/billcui57/rust-chip8-emu written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/billcui57/rust-chip8-emu on toolchain 3a4cb0edb4040379c037e06efeb5409e44be7b77
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/billcui57/rust-chip8-emu 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" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "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
[ERROR] error running command: no output for 300 seconds
[INFO] checking billcui57/rust-chip8-emu against try#3a4cb0edb4040379c037e06efeb5409e44be7b77 for pr-146377
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbillcui57%2Frust-chip8-emu" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/billcui57/rust-chip8-emu
[INFO] finished tweaking git repo https://github.com/billcui57/rust-chip8-emu
[INFO] tweaked toml for git repo https://github.com/billcui57/rust-chip8-emu written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/billcui57/rust-chip8-emu on toolchain 3a4cb0edb4040379c037e06efeb5409e44be7b77
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/billcui57/rust-chip8-emu 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" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "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-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fd4174fe56cf6824bb608fe4c1c5fd5e5c03758f1b2c7688f1152448f54a62b9
[INFO] running `Command { std: "docker" "start" "-a" "fd4174fe56cf6824bb608fe4c1c5fd5e5c03758f1b2c7688f1152448f54a62b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fd4174fe56cf6824bb608fe4c1c5fd5e5c03758f1b2c7688f1152448f54a62b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd4174fe56cf6824bb608fe4c1c5fd5e5c03758f1b2c7688f1152448f54a62b9", kill_on_drop: false }`
[INFO] [stdout] fd4174fe56cf6824bb608fe4c1c5fd5e5c03758f1b2c7688f1152448f54a62b9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+3a4cb0edb4040379c037e06efeb5409e44be7b77" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 95c9569e7078b067c31cafeaee1660735ec4b283ac78af113f6ece25ec7e1ad9
[INFO] running `Command { std: "docker" "start" "-a" "95c9569e7078b067c31cafeaee1660735ec4b283ac78af113f6ece25ec7e1ad9", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.127
[INFO] [stderr]     Checking getrandom v0.2.7
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rust-chip8emu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/chip8.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/chip8/tests.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::chip8::{self, Chip8};
[INFO] [stdout]   |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SE_IMD` should have an upper camel case name
[INFO] [stdout]   --> src/chip8.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     SE_IMD { cmp_val: u8, reg_num: u8 },
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `SeImd`
[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 `SNE_IMD` should have an upper camel case name
[INFO] [stdout]   --> src/chip8.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     SNE_IMD { cmp_val: u8, reg_num: u8 },
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `SneImd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SE_REG` should have an upper camel case name
[INFO] [stdout]   --> src/chip8.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     SE_REG { reg_num_x: u8, reg_num_y: u8 },
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `SeReg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LD_IMD` should have an upper camel case name
[INFO] [stdout]   --> src/chip8.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     LD_IMD { reg_num: u8, byte: u8 },
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `LdImd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ADD_IMD` should have an upper camel case name
[INFO] [stdout]   --> src/chip8.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     ADD_IMD { reg_num: u8, byte: u8 },
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `AddImd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/chip8.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SE_IMD` should have an upper camel case name
[INFO] [stdout]   --> src/chip8.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     SE_IMD { cmp_val: u8, reg_num: u8 },
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `SeImd`
[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 `SNE_IMD` should have an upper camel case name
[INFO] [stdout]   --> src/chip8.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     SNE_IMD { cmp_val: u8, reg_num: u8 },
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `SneImd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SE_REG` should have an upper camel case name
[INFO] [stdout]   --> src/chip8.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     SE_REG { reg_num_x: u8, reg_num_y: u8 },
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `SeReg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LD_IMD` should have an upper camel case name
[INFO] [stdout]   --> src/chip8.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     LD_IMD { reg_num: u8, byte: u8 },
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `LdImd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ADD_IMD` should have an upper camel case name
[INFO] [stdout]   --> src/chip8.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     ADD_IMD { reg_num: u8, byte: u8 },
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `AddImd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/chip8.rs:214:17
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 _ => panic!("Shouldnt be here"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/chip8.rs:214:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 Instruction::CLS => self.cls(),
[INFO] [stdout]     |                 ---------------- matches some of the same values
[INFO] [stdout] 202 |                 Instruction::BRK => break,
[INFO] [stdout]     |                 ---------------- matches some of the same values
[INFO] [stdout] 203 |                 Instruction::RET => self.ret(),
[INFO] [stdout]     |                 ---------------- matches some of the same values
[INFO] [stdout] 204 |                 Instruction::JP { addr } => self.jp(addr),
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 214 |                 _ => panic!("Shouldnt be here"),
[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/chip8.rs:214:17
[INFO] [stdout]     |
[INFO] [stdout] 214 |                 _ => panic!("Shouldnt be here"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/chip8.rs:214:17
[INFO] [stdout]     |
[INFO] [stdout] 201 |                 Instruction::CLS => self.cls(),
[INFO] [stdout]     |                 ---------------- matches some of the same values
[INFO] [stdout] 202 |                 Instruction::BRK => break,
[INFO] [stdout]     |                 ---------------- matches some of the same values
[INFO] [stdout] 203 |                 Instruction::RET => self.ret(),
[INFO] [stdout]     |                 ---------------- matches some of the same values
[INFO] [stdout] 204 |                 Instruction::JP { addr } => self.jp(addr),
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 214 |                 _ => panic!("Shouldnt be here"),
[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: unused variable: `reg_num_x`
[INFO] [stdout]    --> src/chip8.rs:274:26
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn ld_reg(&mut self, reg_num_x: u8, reg_num_y: u8) {}
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reg_num_x`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reg_num_y`
[INFO] [stdout]    --> src/chip8.rs:274:41
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn ld_reg(&mut self, reg_num_x: u8, reg_num_y: u8) {}
[INFO] [stdout]     |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reg_num_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reg_num_x`
[INFO] [stdout]    --> src/chip8.rs:274:26
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn ld_reg(&mut self, reg_num_x: u8, reg_num_y: u8) {}
[INFO] [stdout]     |                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reg_num_x`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Instruction` is more private than the item `Chip8::decode`
[INFO] [stdout]    --> src/chip8.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn decode(&mut self, instr: u16) -> Instruction {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Chip8::decode` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Instruction` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/chip8.rs:72:1
[INFO] [stdout]     |
[INFO] [stdout]  72 | enum Instruction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reg_num_y`
[INFO] [stdout]    --> src/chip8.rs:274:41
[INFO] [stdout]     |
[INFO] [stdout] 274 |     fn ld_reg(&mut self, reg_num_x: u8, reg_num_y: u8) {}
[INFO] [stdout]     |                                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_reg_num_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/chip8.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Chip8 {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout]  6 |     registers: [u8; 16],
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  7 |     memory: [u8; 4096],
[INFO] [stdout]  8 |     index: u16,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]  9 |     pc: u16,
[INFO] [stdout] 10 |     stack: [u16; 16],
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 11 |     sp: u8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 12 |     delayTimer: u8,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 13 |     soundTimer: u8,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 14 |     keypad: [u8; 16],
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 15 |     video: [u32; 64 * 32],
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Instruction` is more private than the item `Chip8::decode`
[INFO] [stdout]    --> src/chip8.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn decode(&mut self, instr: u16) -> Instruction {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `Chip8::decode` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Instruction` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/chip8.rs:72:1
[INFO] [stdout]     |
[INFO] [stdout]  72 | enum Instruction {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index`, `delayTimer`, `soundTimer`, and `keypad` are never read
[INFO] [stdout]   --> src/chip8.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Chip8 {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  8 |     index: u16,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     delayTimer: u8,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 13 |     soundTimer: u8,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 14 |     keypad: [u8; 16],
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `mem_write` and `mem_write_u16` are never used
[INFO] [stdout]   --> src/chip8.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | trait Mem {
[INFO] [stdout]    |       --- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn mem_write(&mut self, addr: u16, data: u8);
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn mem_write_u16(&mut self, pos: u16, data: u16) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `ld_reg` is never used
[INFO] [stdout]    --> src/chip8.rs:274:8
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl Chip8 {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn ld_reg(&mut self, reg_num_x: u8, reg_num_y: u8) {}
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `delayTimer` should have a snake case name
[INFO] [stdout]   --> src/chip8.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     delayTimer: u8,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `delay_timer`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `soundTimer` should have a snake case name
[INFO] [stdout]   --> src/chip8.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     soundTimer: u8,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `sound_timer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `fontset` should have an upper case name
[INFO] [stdout]   --> src/chip8.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const fontset: [u8; FONTSET_SIZE as usize] = [
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 24 - const fontset: [u8; FONTSET_SIZE as usize] = [
[INFO] [stdout] 24 + const FONTSET: [u8; FONTSET_SIZE as usize] = [
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Mem` is never used
[INFO] [stdout]   --> src/chip8.rs:43:7
[INFO] [stdout]    |
[INFO] [stdout] 43 | trait Mem {
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]   --> src/chip8.rs:72:6
[INFO] [stdout]    |
[INFO] [stdout] 72 | enum Instruction {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/chip8.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  85 | impl Chip8 {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn load(&mut self, program: &Vec<u16>) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn decode(&mut self, instr: u16) -> Instruction {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub fn run(&mut self) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 219 |     fn push(&mut self, val: u16) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     fn pop(&mut self) -> u16 {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     fn cls(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     fn ret(&mut self) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 239 |     fn jp(&mut self, addr: u16) {
[INFO] [stdout]     |        ^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     fn call(&mut self, addr: u16) {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 248 |     fn se_imd(&mut self, reg_num: u8, cmp_val: u8) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn sne_imd(&mut self, reg_num: u8, cmp_val: u8) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn se_reg(&mut self, reg_num_x: u8, reg_num_y: u8) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     fn ld_imd(&mut self, reg_num: u8, byte: u8) {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn add_imd(&mut self, reg_num: u8, byte: u8) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn ld_reg(&mut self, reg_num_x: u8, reg_num_y: u8) {}
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `delayTimer` should have a snake case name
[INFO] [stdout]   --> src/chip8.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     delayTimer: u8,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `delay_timer`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `soundTimer` should have a snake case name
[INFO] [stdout]   --> src/chip8.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     soundTimer: u8,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to snake case: `sound_timer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `fontset` should have an upper case name
[INFO] [stdout]   --> src/chip8.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 | const fontset: [u8; FONTSET_SIZE as usize] = [
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]    |
[INFO] [stdout] 24 - const fontset: [u8; FONTSET_SIZE as usize] = [
[INFO] [stdout] 24 + const FONTSET: [u8; FONTSET_SIZE as usize] = [
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.60s
[INFO] running `Command { std: "docker" "inspect" "95c9569e7078b067c31cafeaee1660735ec4b283ac78af113f6ece25ec7e1ad9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95c9569e7078b067c31cafeaee1660735ec4b283ac78af113f6ece25ec7e1ad9", kill_on_drop: false }`
[INFO] [stdout] 95c9569e7078b067c31cafeaee1660735ec4b283ac78af113f6ece25ec7e1ad9
