[INFO] cloning repository https://github.com/joshmarinacci/gb_emu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/joshmarinacci/gb_emu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoshmarinacci%2Fgb_emu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoshmarinacci%2Fgb_emu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8bd1cb93a8e87563fdb3b5fd187337f2d731211e
[INFO] documenting joshmarinacci/gb_emu against 1.86.0 for beta-1.87-rustdoc-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjoshmarinacci%2Fgb_emu" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/joshmarinacci/gb_emu on toolchain 1.86.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.86.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/joshmarinacci/gb_emu
[INFO] finished tweaking git repo https://github.com/joshmarinacci/gb_emu
[INFO] tweaked toml for git repo https://github.com/joshmarinacci/gb_emu written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/joshmarinacci/gb_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" "+1.86.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ryu v1.0.9
[INFO] [stderr]   Downloaded unicode-width v0.1.9
[INFO] [stderr]   Downloaded encoding_index_tests v0.1.4
[INFO] [stderr]   Downloaded termcolor v1.1.2
[INFO] [stderr]   Downloaded version-compare v0.1.0
[INFO] [stderr]   Downloaded terminal_size v0.1.17
[INFO] [stderr]   Downloaded zeroize v1.5.1
[INFO] [stderr]   Downloaded lock_api v0.4.5
[INFO] [stderr]   Downloaded once_cell v1.9.0
[INFO] [stderr]   Downloaded unicode-segmentation v1.8.0
[INFO] [stderr]   Downloaded encoding-index-japanese v1.20141219.5
[INFO] [stderr]   Downloaded encoding-index-korean v1.20141219.5
[INFO] [stderr]   Downloaded encoding-index-simpchinese v1.20141219.5
[INFO] [stderr]   Downloaded sdl2 v0.35.1
[INFO] [stderr]   Downloaded encoding-index-tradchinese v1.20141219.5
[INFO] [stderr]   Downloaded png v0.17.2
[INFO] [stderr]   Downloaded quote v1.0.14
[INFO] [stderr]   Downloaded anyhow v1.0.52
[INFO] [stderr]   Downloaded indexmap v1.8.0
[INFO] [stderr]   Downloaded serde_yaml v0.8.23
[INFO] [stderr]   Downloaded deflate v0.9.1
[INFO] [stderr]   Downloaded crc32fast v1.3.0
[INFO] [stderr]   Downloaded libc v0.2.112
[INFO] [stderr]   Downloaded serde_derive v1.0.133
[INFO] [stderr]   Downloaded serde v1.0.133
[INFO] [stderr]   Downloaded console v0.15.0
[INFO] [stderr]   Downloaded dialoguer v0.9.0
[INFO] [stderr]   Downloaded redox_syscall v0.2.10
[INFO] [stderr]   Downloaded encoding-index-singlebyte v1.20141219.5
[INFO] [stderr]   Downloaded itoa v1.0.1
[INFO] [stderr]   Downloaded syn v1.0.85
[INFO] [stderr]   Downloaded sdl2-sys v0.35.1
[INFO] [stderr]   Downloaded serde_json v1.0.75
[INFO] [stderr]   Downloaded encoding v0.2.33
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1.86.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1244b8f2f439405db45150ccaed4ba19ff89260db4eb6184037dc14358f2deca
[INFO] running `Command { std: "docker" "start" "-a" "1244b8f2f439405db45150ccaed4ba19ff89260db4eb6184037dc14358f2deca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1244b8f2f439405db45150ccaed4ba19ff89260db4eb6184037dc14358f2deca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1244b8f2f439405db45150ccaed4ba19ff89260db4eb6184037dc14358f2deca", kill_on_drop: false }`
[INFO] [stdout] 1244b8f2f439405db45150ccaed4ba19ff89260db4eb6184037dc14358f2deca
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1.86.0" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 90c5906424f78f5d67c7ccf157dfd3a42f2c6e653179b2b523ed3374d0157027
[INFO] running `Command { std: "docker" "start" "-a" "90c5906424f78f5d67c7ccf157dfd3a42f2c6e653179b2b523ed3374d0157027", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling libc v0.2.112
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.85
[INFO] [stderr]    Compiling serde_derive v1.0.133
[INFO] [stderr]    Compiling serde v1.0.133
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]     Checking encoding_index_tests v0.1.4
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]    Compiling pkg-config v0.3.24
[INFO] [stderr]    Compiling version-compare v0.1.0
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking traitobject v0.1.0
[INFO] [stderr]     Checking ryu v1.0.9
[INFO] [stderr]     Checking smallvec v1.8.0
[INFO] [stderr]    Compiling serde_json v1.0.75
[INFO] [stderr]    Compiling anyhow v1.0.52
[INFO] [stderr]    Compiling crc32fast v1.3.0
[INFO] [stderr]    Compiling unicode-segmentation v1.8.0
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]     Checking linked-hash-map v0.5.4
[INFO] [stderr]     Checking unsafe-any v0.4.2
[INFO] [stderr]     Checking lock_api v0.4.5
[INFO] [stderr]     Checking encoding-index-simpchinese v1.20141219.5
[INFO] [stderr]     Checking encoding-index-tradchinese v1.20141219.5
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking encoding-index-japanese v1.20141219.5
[INFO] [stderr]    Compiling sdl2-sys v0.35.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling indexmap v1.8.0
[INFO] [stderr]    Compiling miniz_oxide v0.4.4
[INFO] [stderr]     Checking encoding-index-singlebyte v1.20141219.5
[INFO] [stderr]     Checking encoding-index-korean v1.20141219.5
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking once_cell v1.9.0
[INFO] [stderr]     Checking itoa v1.0.1
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking adler32 v1.2.0
[INFO] [stderr]    Compiling sdl2 v0.35.1
[INFO] [stderr]     Checking ansi_term v0.12.1
[INFO] [stderr]     Checking fastrand v1.7.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]     Checking deflate v0.9.1
[INFO] [stderr]     Checking encoding v0.2.33
[INFO] [stderr]     Checking typemap v0.3.3
[INFO] [stderr]     Checking log-mdc v0.1.0
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking zeroize v1.5.1
[INFO] [stderr]     Checking arc-swap v0.4.8
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking terminal_size v0.1.17
[INFO] [stderr]     Checking thread-id v3.3.0
[INFO] [stderr]     Checking tempfile v3.3.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]    Compiling quote v1.0.14
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking png v0.17.2
[INFO] [stderr]     Checking ordered-float v2.10.0
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking console v0.15.0
[INFO] [stderr]     Checking dialoguer v0.9.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.30
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]     Checking thiserror v1.0.30
[INFO] [stderr]     Checking structopt v0.3.26
[INFO] [stderr]     Checking serde_yaml v0.8.23
[INFO] [stderr]     Checking serde-value v0.7.0
[INFO] [stderr]     Checking env_logger v0.9.0
[INFO] [stderr]     Checking log4rs v1.0.0
[INFO] [stderr]  Documenting gb_emu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking gb_emu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/ppu.rs:84:40
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     self.next_clock += (456-172-80);
[INFO] [stdout]    |                                        ^          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 84 -                     self.next_clock += (456-172-80);
[INFO] [stdout] 84 +                     self.next_clock += 456-172-80;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `HBlank_0` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     HBlank_0,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Hblank0`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `VBlank_1` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     VBlank_1,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Vblank1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Searching_2` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     Searching_2,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `Searching2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Transferring_3` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     Transferring_3,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Transferring3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `JOYPAD_P1` should have an upper camel case name
[INFO] [stdout]    --> src/hardware.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     JOYPAD_P1 = 0xFF00,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `JoypadP1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DISABLE_BOOTROM` should have an upper camel case name
[INFO] [stdout]    --> src/hardware.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     DISABLE_BOOTROM = 0xFF50,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DisableBootrom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/ops.rs:965:19
[INFO] [stdout]     |
[INFO] [stdout] 965 |         let col = (i as u16);
[INFO] [stdout]     |                   ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 965 -         let col = (i as u16);
[INFO] [stdout] 965 +         let col = i as u16;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/ops.rs:1157:34
[INFO] [stdout]      |
[INFO] [stdout] 1157 |                 gb.cpu.r.half  = ((a & 0x000F) + (b & 0x000F) > 0x000F);
[INFO] [stdout]      |                                  ^                                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1157 -                 gb.cpu.r.half  = ((a & 0x000F) + (b & 0x000F) > 0x000F);
[INFO] [stdout] 1157 +                 gb.cpu.r.half  = (a & 0x000F) + (b & 0x000F) > 0x000F;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/ops.rs:1158:34
[INFO] [stdout]      |
[INFO] [stdout] 1158 |                 gb.cpu.r.carry = ((a & 0x00FF) + (b & 0x00FF) > 0x00FF);
[INFO] [stdout]      |                                  ^                                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1158 -                 gb.cpu.r.carry = ((a & 0x00FF) + (b & 0x00FF) > 0x00FF);
[INFO] [stdout] 1158 +                 gb.cpu.r.carry = (a & 0x00FF) + (b & 0x00FF) > 0x00FF;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/ops.rs:1513:30
[INFO] [stdout]      |
[INFO] [stdout] 1513 |             gb.cpu.r.half  = ((a & 0x000F) + (b & 0x000F) > 0x000F);
[INFO] [stdout]      |                              ^                                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1513 -             gb.cpu.r.half  = ((a & 0x000F) + (b & 0x000F) > 0x000F);
[INFO] [stdout] 1513 +             gb.cpu.r.half  = (a & 0x000F) + (b & 0x000F) > 0x000F;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/ops.rs:1514:30
[INFO] [stdout]      |
[INFO] [stdout] 1514 |             gb.cpu.r.carry = ((a & 0x00FF) + (b & 0x00FF) > 0x00FF);
[INFO] [stdout]      |                              ^                                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1514 -             gb.cpu.r.carry = ((a & 0x00FF) + (b & 0x00FF) > 0x00FF);
[INFO] [stdout] 1514 +             gb.cpu.r.carry = (a & 0x00FF) + (b & 0x00FF) > 0x00FF;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::info`
[INFO] [stdout]  --> src/mmu.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use log::info;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/gbstate.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Path`
[INFO] [stdout]  --> src/gbstate.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `R16` and `R8`
[INFO] [stdout]  --> src/gbstate.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::cpu::{CPU, R16, R8};
[INFO] [stdout]   |                       ^^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]  --> src/ppu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::OpenOptions;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/ppu.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `print_ram` and `set_bit`
[INFO] [stdout]  --> src/ppu.rs:4:55
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::common::{Bitmap, get_bit, get_bit_as_bool, print_ram, set_bit};
[INFO] [stdout]   |                                                       ^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gbstate::GBState`
[INFO] [stdout]  --> src/ppu.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::gbstate::GBState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/ppu.rs:84:40
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     self.next_clock += (456-172-80);
[INFO] [stdout]    |                                        ^          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 84 -                     self.next_clock += (456-172-80);
[INFO] [stdout] 84 +                     self.next_clock += 456-172-80;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `get_bit_as_bool` and `get_bit`
[INFO] [stdout]  --> src/hardware.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::common::{get_bit, get_bit_as_bool, is_bit_set, MemRange, VerboseByte};
[INFO] [stdout]   |                     ^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `HBlank_0` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     HBlank_0,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Hblank0`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `VBlank_1` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     VBlank_1,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Vblank1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Searching_2` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     Searching_2,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `Searching2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Transferring_3` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     Transferring_3,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Transferring3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `JOYPAD_P1` should have an upper camel case name
[INFO] [stdout]    --> src/hardware.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     JOYPAD_P1 = 0xFF00,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `JoypadP1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DISABLE_BOOTROM` should have an upper camel case name
[INFO] [stdout]    --> src/hardware.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     DISABLE_BOOTROM = 0xFF50,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DisableBootrom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CPU`
[INFO] [stdout]  --> src/ops.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::cpu::{CPU, R16, R8};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mmu::MMU2`
[INFO] [stdout]  --> src/ops.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::mmu::MMU2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ppu::PPU2`
[INFO] [stdout]  --> src/ops.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::ppu::PPU2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/ops.rs:965:19
[INFO] [stdout]     |
[INFO] [stdout] 965 |         let col = (i as u16);
[INFO] [stdout]     |                   ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 965 -         let col = (i as u16);
[INFO] [stdout] 965 +         let col = i as u16;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/ops.rs:1157:34
[INFO] [stdout]      |
[INFO] [stdout] 1157 |                 gb.cpu.r.half  = ((a & 0x000F) + (b & 0x000F) > 0x000F);
[INFO] [stdout]      |                                  ^                                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1157 -                 gb.cpu.r.half  = ((a & 0x000F) + (b & 0x000F) > 0x000F);
[INFO] [stdout] 1157 +                 gb.cpu.r.half  = (a & 0x000F) + (b & 0x000F) > 0x000F;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/ops.rs:1158:34
[INFO] [stdout]      |
[INFO] [stdout] 1158 |                 gb.cpu.r.carry = ((a & 0x00FF) + (b & 0x00FF) > 0x00FF);
[INFO] [stdout]      |                                  ^                                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1158 -                 gb.cpu.r.carry = ((a & 0x00FF) + (b & 0x00FF) > 0x00FF);
[INFO] [stdout] 1158 +                 gb.cpu.r.carry = (a & 0x00FF) + (b & 0x00FF) > 0x00FF;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/ops.rs:1513:30
[INFO] [stdout]      |
[INFO] [stdout] 1513 |             gb.cpu.r.half  = ((a & 0x000F) + (b & 0x000F) > 0x000F);
[INFO] [stdout]      |                              ^                                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1513 -             gb.cpu.r.half  = ((a & 0x000F) + (b & 0x000F) > 0x000F);
[INFO] [stdout] 1513 +             gb.cpu.r.half  = (a & 0x000F) + (b & 0x000F) > 0x000F;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/ops.rs:1514:30
[INFO] [stdout]      |
[INFO] [stdout] 1514 |             gb.cpu.r.carry = ((a & 0x00FF) + (b & 0x00FF) > 0x00FF);
[INFO] [stdout]      |                              ^                                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1514 -             gb.cpu.r.carry = ((a & 0x00FF) + (b & 0x00FF) > 0x00FF);
[INFO] [stdout] 1514 +             gb.cpu.r.carry = (a & 0x00FF) + (b & 0x00FF) > 0x00FF;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/mmu.rs:162:33
[INFO] [stdout]     |
[INFO] [stdout] 162 | ...                   let name = match bit {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]    --> src/mmu.rs:183:33
[INFO] [stdout]     |
[INFO] [stdout] 183 | ...                   let name = match bit {
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src_addr_end`
[INFO] [stdout]    --> src/mmu.rs:249:13
[INFO] [stdout]     |
[INFO] [stdout] 249 |         let src_addr_end = src_addr + 0xA0;
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_src_addr_end`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gbstate.rs:190:25
[INFO] [stdout]     |
[INFO] [stdout] 190 |                     let mut tma = self.mmu.read8_IO(IORegister::TMA);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/ppu.rs:181:18
[INFO] [stdout]     |
[INFO] [stdout] 181 |             for (i, atts) in oam_table.chunks_exact(4).enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `priority`
[INFO] [stdout]    --> src/ppu.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |     let priority = get_bit_as_bool(flags,7);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_priority`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ppu.rs:247:17
[INFO] [stdout]     |
[INFO] [stdout] 247 |             let mut final_y = y + (line as i32);
[INFO] [stdout]     |                 ----^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/screen.rs:247:25
[INFO] [stdout]     |
[INFO] [stdout] 247 |                     let n: usize = ((j * bitmap.w + i) * 4) as usize;
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/hardware.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let mut lcd = STATRegister {
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/ops.rs:605:20
[INFO] [stdout]     |
[INFO] [stdout] 605 |             SrcR16(r) => (1, 8),
[INFO] [stdout]     |                    ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/ops.rs:606:37
[INFO] [stdout]     |
[INFO] [stdout] 606 |             Src16::SrcR16WithOffset(r) => (2,12),
[INFO] [stdout]     |                                     ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/ops.rs:1169:26
[INFO] [stdout]      |
[INFO] [stdout] 1169 |                 let (v2, b) = v.overflowing_add(1);
[INFO] [stdout]      |                          ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/ops.rs:1174:26
[INFO] [stdout]      |
[INFO] [stdout] 1174 |                 let (v2, b) = v.overflowing_sub(1);
[INFO] [stdout]      |                          ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/ops.rs:1179:26
[INFO] [stdout]      |
[INFO] [stdout] 1179 |                 let (v2, b) = v.overflowing_add(1);
[INFO] [stdout]      |                          ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]     --> src/ops.rs:1184:26
[INFO] [stdout]      |
[INFO] [stdout] 1184 |                 let (v2, b) = v.overflowing_sub(1);
[INFO] [stdout]      |                          ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `over`
[INFO] [stdout]     --> src/ops.rs:1483:28
[INFO] [stdout]      |
[INFO] [stdout] 1483 |                     let (v,over) = if gb.cpu.r.subn { v.overflowing_sub(adj) } else { v.overflowing_add(adj) };
[INFO] [stdout]      |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_over`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/ops.rs:1470:25
[INFO] [stdout]      |
[INFO] [stdout] 1470 |                     let mut v: u8 = A.get_value(gb);
[INFO] [stdout]      |                         ----^
[INFO] [stdout]      |                         |
[INFO] [stdout]      |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clear_with` is never used
[INFO] [stdout]   --> src/common.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl Bitmap {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] 64 |     pub(crate) fn clear_with(&mut self, r: u8, g: u8, b: u8) {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `inc_pc` and `check_infinite_loop` are never used
[INFO] [stdout]    --> src/cpu.rs:219:19
[INFO] [stdout]     |
[INFO] [stdout] 185 | impl CPU {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 219 |     pub(crate) fn inc_pc(&mut self) {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     fn check_infinite_loop(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `init_empty` is never used
[INFO] [stdout]   --> src/mmu.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl MMU2 {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] 21 |     pub(crate) fn init_empty(val: u8) -> MMU2 {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `make_test_context` is never used
[INFO] [stdout]   --> src/gbstate.rs:44:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl GBState {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub(crate) fn make_test_context(rom: &Vec<u8>) -> GBState {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fetch_opcode_from_memory` is never used
[INFO] [stdout]    --> src/gbstate.rs:315:4
[INFO] [stdout]     |
[INFO] [stdout] 315 | fn fetch_opcode_from_memory(gb: &GBState) -> u16 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `copy_at` is never used
[INFO] [stdout]    --> src/ppu.rs:359:4
[INFO] [stdout]     |
[INFO] [stdout] 359 | fn copy_at(rom: &mut Vec<u8>, start: usize, data: Vec<u8>) -> usize {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup` is never used
[INFO] [stdout]    --> src/ops.rs:615:19
[INFO] [stdout]     |
[INFO] [stdout] 555 | impl OpTable {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 615 |     pub(crate) fn lookup(&self, code: &u16) -> Option<&Op> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IME` should have a snake case name
[INFO] [stdout]   --> src/cpu.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub IME:bool,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `ime`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read8_IO` should have a snake case name
[INFO] [stdout]    --> src/mmu.rs:118:12
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub fn read8_IO(&self, reg: IORegister) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `read8_io`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/mmu.rs:207:16
[INFO] [stdout]     |
[INFO] [stdout] 207 |             if addr >= 0x0000 && addr <= 0x7FFF {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/mmu.rs:210:16
[INFO] [stdout]     |
[INFO] [stdout] 210 |             if addr >= 0x0000 && addr <= 0x1FFF {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write8_IO_raw` should have a snake case name
[INFO] [stdout]    --> src/mmu.rs:229:19
[INFO] [stdout]     |
[INFO] [stdout] 229 |     pub(crate) fn write8_IO_raw(&mut self, reg: IORegister, value: u8) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `write8_io_raw`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write8_IO` should have a snake case name
[INFO] [stdout]    --> src/mmu.rs:232:12
[INFO] [stdout]     |
[INFO] [stdout] 232 |     pub fn write8_IO(&mut self, reg: IORegister, value: u8) {
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `write8_io`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_IO_bit` should have a snake case name
[INFO] [stdout]    --> src/mmu.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 258 |     pub fn set_IO_bit(&mut self, reg: IORegister, bit: u8, tf: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `set_io_bit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_IO_bit` should have a snake case name
[INFO] [stdout]    --> src/mmu.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout] 263 |     pub fn get_IO_bit(&self, reg: IORegister, bit:u8) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_io_bit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IE` should have a snake case name
[INFO] [stdout]   --> src/gbstate.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let IE = self.mmu.read8_IO(IORegister::IE);
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `ie`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IF` should have a snake case name
[INFO] [stdout]   --> src/gbstate.rs:97:13
[INFO] [stdout]    |
[INFO] [stdout] 97 |         let IF = self.mmu.read8_IO(IORegister::IF);
[INFO] [stdout]    |             ^^
[INFO] [stdout]    |
[INFO] [stdout] help: rename the identifier or convert it to a snake case raw identifier
[INFO] [stdout]    |
[INFO] [stdout] 97 -         let IF = self.mmu.read8_IO(IORegister::IF);
[INFO] [stdout] 97 +         let r#if = self.mmu.read8_IO(IORegister::IF);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `TAC` should have a snake case name
[INFO] [stdout]    --> src/gbstate.rs:178:21
[INFO] [stdout]     |
[INFO] [stdout] 178 |                 let TAC = self.mmu.read8_IO(IORegister::TAC);
[INFO] [stdout]     |                     ^^^ help: convert the identifier to snake case: `tac`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SCX` should have a snake case name
[INFO] [stdout]   --> src/ppu.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub SCX: u8,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case (notice the capitalization): `scx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SCY` should have a snake case name
[INFO] [stdout]   --> src/ppu.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub SCY: u8,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case (notice the capitalization): `scy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused arithmetic operation that must be used
[INFO] [stdout]    --> src/ppu.rs:249:17
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 y + 7 - (line as i32);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[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] 249 |                 let _ = y + 7 - (line as i32);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/screen.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |                         to_cpu.send(InputEvent::Stop());
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |                         let _ = to_cpu.send(InputEvent::Stop());
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/screen.rs:49:25
[INFO] [stdout]    |
[INFO] [stdout] 49 |                         to_cpu.send(Press(JoyPadKey::A));
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 49 |                         let _ = to_cpu.send(Press(JoyPadKey::A));
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/screen.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |                         to_cpu.send(Release(JoyPadKey::A));
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 55 |                         let _ = to_cpu.send(Release(JoyPadKey::A));
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/screen.rs:61:25
[INFO] [stdout]    |
[INFO] [stdout] 61 |                         to_cpu.send(Press(JoyPadKey::B));
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 61 |                         let _ = to_cpu.send(Press(JoyPadKey::B));
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/screen.rs:67:25
[INFO] [stdout]    |
[INFO] [stdout] 67 |                         to_cpu.send(Break());
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 67 |                         let _ = to_cpu.send(Break());
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/screen.rs:73:25
[INFO] [stdout]    |
[INFO] [stdout] 73 |                         to_cpu.send(Release(JoyPadKey::B));
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |                         let _ = to_cpu.send(Release(JoyPadKey::B));
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/screen.rs:79:25
[INFO] [stdout]    |
[INFO] [stdout] 79 |                         to_cpu.send(Press(JoyPadKey::Select));
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 79 |                         let _ = to_cpu.send(Press(JoyPadKey::Select));
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/screen.rs:85:25
[INFO] [stdout]    |
[INFO] [stdout] 85 |                         to_cpu.send(Release(JoyPadKey::Select));
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 85 |                         let _ = to_cpu.send(Release(JoyPadKey::Select));
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/screen.rs:91:25
[INFO] [stdout]    |
[INFO] [stdout] 91 |                         to_cpu.send(Press(JoyPadKey::Start));
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 91 |                         let _ = to_cpu.send(Press(JoyPadKey::Start));
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/screen.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |                         to_cpu.send(Release(JoyPadKey::Start));
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 97 |                         let _ = to_cpu.send(Release(JoyPadKey::Start));
[INFO] [stdout]    |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/screen.rs:103:25
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         to_cpu.send(Press(JoyPadKey::Left));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         let _ = to_cpu.send(Press(JoyPadKey::Left));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/screen.rs:109:25
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         to_cpu.send(Release(JoyPadKey::Left));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |                         let _ = to_cpu.send(Release(JoyPadKey::Left));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/screen.rs:115:25
[INFO] [stdout]     |
[INFO] [stdout] 115 |                         to_cpu.send(Press(JoyPadKey::Right));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 115 |                         let _ = to_cpu.send(Press(JoyPadKey::Right));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/screen.rs:121:25
[INFO] [stdout]     |
[INFO] [stdout] 121 |                         to_cpu.send(Release(JoyPadKey::Right));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 121 |                         let _ = to_cpu.send(Release(JoyPadKey::Right));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/screen.rs:127:25
[INFO] [stdout]     |
[INFO] [stdout] 127 |                         to_cpu.send(Press(JoyPadKey::Up));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 127 |                         let _ = to_cpu.send(Press(JoyPadKey::Up));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/screen.rs:133:25
[INFO] [stdout]     |
[INFO] [stdout] 133 |                         to_cpu.send(Release(JoyPadKey::Up));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 133 |                         let _ = to_cpu.send(Release(JoyPadKey::Up));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/screen.rs:139:25
[INFO] [stdout]     |
[INFO] [stdout] 139 |                         to_cpu.send(Press(JoyPadKey::Down));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 139 |                         let _ = to_cpu.send(Press(JoyPadKey::Down));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/screen.rs:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                         to_cpu.send(Release(JoyPadKey::Down));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 145 |                         let _ = to_cpu.send(Release(JoyPadKey::Down));
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/screen.rs:151:25
[INFO] [stdout]     |
[INFO] [stdout] 151 |                         to_cpu.send(JumpNextVBlank());
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 151 |                         let _ = to_cpu.send(JumpNextVBlank());
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/screen.rs:157:25
[INFO] [stdout]     |
[INFO] [stdout] 157 |                         to_cpu.send(JumpNextVBlank());
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 157 |                         let _ = to_cpu.send(JumpNextVBlank());
[INFO] [stdout]     |                         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/screen.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 | /             copy_texture(
[INFO] [stdout] 214 | |                 &mut self.canvas,
[INFO] [stdout] 215 | |                 &mut self.texture,
[INFO] [stdout] 216 | |                 &sss.backbuffer,
[INFO] [stdout] ...   |
[INFO] [stdout] 219 | |                 0,
[INFO] [stdout] 220 | |             );
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 213 |             let _ = copy_texture(
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/screen.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 | /             copy_texture(
[INFO] [stdout] 222 | |                 &mut self.canvas,
[INFO] [stdout] 223 | |                 &mut self.tex2,
[INFO] [stdout] 224 | |                 &sss.vramdump,
[INFO] [stdout] ...   |
[INFO] [stdout] 227 | |                 0,
[INFO] [stdout] 228 | |             );
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 221 |             let _ = copy_texture(
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/screen.rs:254:21
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     can.fill_rect(Rect::new(i as i32, j as i32, 1, 1));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let _ = can.fill_rect(Rect::new(i as i32, j as i32, 1, 1));
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/bin/db2.rs:458:49
[INFO] [stdout]     |
[INFO] [stdout] 458 |     let data = gb.mmu.borrow_slice(range.start, (range.start + range.len));
[INFO] [stdout]     |                                                 ^                       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 458 -     let data = gb.mmu.borrow_slice(range.start, (range.start + range.len));
[INFO] [stdout] 458 +     let data = gb.mmu.borrow_slice(range.start, range.start + range.len);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 29.62s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: traitobject v0.1.0, typemap v0.3.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]    Generated /opt/rustwide/target/doc/gb_emu/index.html and 1 other file
[INFO] running `Command { std: "docker" "inspect" "90c5906424f78f5d67c7ccf157dfd3a42f2c6e653179b2b523ed3374d0157027", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90c5906424f78f5d67c7ccf157dfd3a42f2c6e653179b2b523ed3374d0157027", kill_on_drop: false }`
[INFO] [stdout] 90c5906424f78f5d67c7ccf157dfd3a42f2c6e653179b2b523ed3374d0157027
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/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" "RUSTC_BOOTSTRAP=1" "-e" "DOCS_RS=1" "-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:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+1.86.0" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--document-private-items\"]" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 684af3b03be14cc4ed3f692ef8e596e67b21ff9e62f9d6e1bf76d0260a8b2d99
[INFO] running `Command { std: "docker" "start" "-a" "684af3b03be14cc4ed3f692ef8e596e67b21ff9e62f9d6e1bf76d0260a8b2d99", kill_on_drop: false }`
[INFO] [stderr]  Documenting gb_emu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]   --> src/ppu.rs:84:40
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     self.next_clock += (456-172-80);
[INFO] [stdout]    |                                        ^          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 84 -                     self.next_clock += (456-172-80);
[INFO] [stdout] 84 +                     self.next_clock += 456-172-80;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `HBlank_0` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 |     HBlank_0,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Hblank0`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `VBlank_1` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     VBlank_1,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `Vblank1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Searching_2` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     Searching_2,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `Searching2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Transferring_3` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     Transferring_3,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `Transferring3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `JOYPAD_P1` should have an upper camel case name
[INFO] [stdout]    --> src/hardware.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     JOYPAD_P1 = 0xFF00,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `JoypadP1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DISABLE_BOOTROM` should have an upper camel case name
[INFO] [stdout]    --> src/hardware.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     DISABLE_BOOTROM = 0xFF50,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DisableBootrom`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/ops.rs:965:19
[INFO] [stdout]     |
[INFO] [stdout] 965 |         let col = (i as u16);
[INFO] [stdout]     |                   ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 965 -         let col = (i as u16);
[INFO] [stdout] 965 +         let col = i as u16;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/ops.rs:1157:34
[INFO] [stdout]      |
[INFO] [stdout] 1157 |                 gb.cpu.r.half  = ((a & 0x000F) + (b & 0x000F) > 0x000F);
[INFO] [stdout]      |                                  ^                                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1157 -                 gb.cpu.r.half  = ((a & 0x000F) + (b & 0x000F) > 0x000F);
[INFO] [stdout] 1157 +                 gb.cpu.r.half  = (a & 0x000F) + (b & 0x000F) > 0x000F;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/ops.rs:1158:34
[INFO] [stdout]      |
[INFO] [stdout] 1158 |                 gb.cpu.r.carry = ((a & 0x00FF) + (b & 0x00FF) > 0x00FF);
[INFO] [stdout]      |                                  ^                                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1158 -                 gb.cpu.r.carry = ((a & 0x00FF) + (b & 0x00FF) > 0x00FF);
[INFO] [stdout] 1158 +                 gb.cpu.r.carry = (a & 0x00FF) + (b & 0x00FF) > 0x00FF;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/ops.rs:1513:30
[INFO] [stdout]      |
[INFO] [stdout] 1513 |             gb.cpu.r.half  = ((a & 0x000F) + (b & 0x000F) > 0x000F);
[INFO] [stdout]      |                              ^                                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1513 -             gb.cpu.r.half  = ((a & 0x000F) + (b & 0x000F) > 0x000F);
[INFO] [stdout] 1513 +             gb.cpu.r.half  = (a & 0x000F) + (b & 0x000F) > 0x000F;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]     --> src/ops.rs:1514:30
[INFO] [stdout]      |
[INFO] [stdout] 1514 |             gb.cpu.r.carry = ((a & 0x00FF) + (b & 0x00FF) > 0x00FF);
[INFO] [stdout]      |                              ^                                    ^
[INFO] [stdout]      |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]      |
[INFO] [stdout] 1514 -             gb.cpu.r.carry = ((a & 0x00FF) + (b & 0x00FF) > 0x00FF);
[INFO] [stdout] 1514 +             gb.cpu.r.carry = (a & 0x00FF) + (b & 0x00FF) > 0x00FF;
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.96s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: traitobject v0.1.0, typemap v0.3.3
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]    Generated /opt/rustwide/target/doc/gb_emu/index.html
[INFO] running `Command { std: "docker" "inspect" "684af3b03be14cc4ed3f692ef8e596e67b21ff9e62f9d6e1bf76d0260a8b2d99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "684af3b03be14cc4ed3f692ef8e596e67b21ff9e62f9d6e1bf76d0260a8b2d99", kill_on_drop: false }`
[INFO] [stdout] 684af3b03be14cc4ed3f692ef8e596e67b21ff9e62f9d6e1bf76d0260a8b2d99
