[INFO] cloning repository https://github.com/dspray95/rust-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/dspray95/rust-gb-emu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdspray95%2Frust-gb-emu", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdspray95%2Frust-gb-emu'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] a277e55d66fdd51cb334ee06747aeb70d6f57785 [INFO] checking dspray95/rust-gb-emu against master#8c32e313cccf7df531e2d49ffb8227bb92304aee for pr-145608-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdspray95%2Frust-gb-emu" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/dspray95/rust-gb-emu [INFO] finished tweaking git repo https://github.com/dspray95/rust-gb-emu [INFO] tweaked toml for git repo https://github.com/dspray95/rust-gb-emu written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/dspray95/rust-gb-emu on toolchain 8c32e313cccf7df531e2d49ffb8227bb92304aee [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/dspray95/rust-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" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c8148177c9d508b84ec8782e267cda67dde65ff157e88099a2ab704044a91f3b [INFO] running `Command { std: "docker" "start" "-a" "c8148177c9d508b84ec8782e267cda67dde65ff157e88099a2ab704044a91f3b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c8148177c9d508b84ec8782e267cda67dde65ff157e88099a2ab704044a91f3b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c8148177c9d508b84ec8782e267cda67dde65ff157e88099a2ab704044a91f3b", kill_on_drop: false }` [INFO] [stdout] c8148177c9d508b84ec8782e267cda67dde65ff157e88099a2ab704044a91f3b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8fdd4c3a0a38c58490d921cb5ea6f2ac0c23c68c007f00745decada52a114fa8 [INFO] running `Command { std: "docker" "start" "-a" "8fdd4c3a0a38c58490d921cb5ea6f2ac0c23c68c007f00745decada52a114fa8", kill_on_drop: false }` [INFO] [stderr] Checking rust_gbe v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/rusty_gb/bus.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use super::cartridge::{self, Cartridge}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_R` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | R_R, [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case: `RR` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_D8` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | R_D8, [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `RD8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_D16` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | R_D16, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `RD16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `MR_R` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | MR_R, [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `MrR` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_MR` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | R_MR, [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `RMr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_HLI` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | R_HLI, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `RHli` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_HLD` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | R_HLD, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `RHld` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `HLI_R` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | HLI_R, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `HliR` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `HLD_R` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | HLD_R, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `HldR` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `A8_R` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | A8_R, [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `A8R` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `HL_SPR` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | HL_SPR, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `HlSpr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `A16_R` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | A16_R, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `A16R` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `D16_R` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | D16_R, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `D16R` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `MR_D8` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | MR_D8, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `MrD8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_A8` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | R_A8, [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `RA8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_A16` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | R_A16, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `RA16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/rusty_gb/bus.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use super::cartridge::{self, Cartridge}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_R` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | R_R, [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case: `RR` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_D8` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | R_D8, [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `RD8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_D16` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 55 | R_D16, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `RD16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `MR_R` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | MR_R, [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `MrR` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_MR` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | R_MR, [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `RMr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_HLI` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | R_HLI, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `RHli` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_HLD` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | R_HLD, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `RHld` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `HLI_R` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 62 | HLI_R, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `HliR` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `HLD_R` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:63:5 [INFO] [stdout] | [INFO] [stdout] 63 | HLD_R, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `HldR` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `A8_R` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:64:5 [INFO] [stdout] | [INFO] [stdout] 64 | A8_R, [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `A8R` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `HL_SPR` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 65 | HL_SPR, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `HlSpr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `A16_R` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:66:5 [INFO] [stdout] | [INFO] [stdout] 66 | A16_R, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `A16R` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `D16_R` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:67:5 [INFO] [stdout] | [INFO] [stdout] 67 | D16_R, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `D16R` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `MR_D8` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 68 | MR_D8, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `MrD8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_A8` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:70:5 [INFO] [stdout] | [INFO] [stdout] 70 | R_A8, [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `RA8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `R_A16` should have an upper camel case name [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 71 | R_A16, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `RA16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:122:26 [INFO] [stdout] | [INFO] [stdout] 122 | ... if register_type == RegisterType::AF || register_type == RegisterType::BC || register_type == RegisterType::DE || register_type == ... [INFO] [stdout] | ------------- ^^ ---------------- RegisterType [INFO] [stdout] | | [INFO] [stdout] | RegisterType [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq` might be missing for `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum RegisterType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq` [INFO] [stdout] help: consider annotating `RegisterType` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 75 + #[derive(PartialEq)] [INFO] [stdout] 76 | pub enum RegisterType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:122:63 [INFO] [stdout] | [INFO] [stdout] 122 | ... if register_type == RegisterType::AF || register_type == RegisterType::BC || register_type == RegisterType::DE || register_type == ... [INFO] [stdout] | ------------- ^^ ---------------- RegisterType [INFO] [stdout] | | [INFO] [stdout] | RegisterType [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq` might be missing for `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum RegisterType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq` [INFO] [stdout] help: consider annotating `RegisterType` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 75 + #[derive(PartialEq)] [INFO] [stdout] 76 | pub enum RegisterType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:122:26 [INFO] [stdout] | [INFO] [stdout] 122 | ... if register_type == RegisterType::AF || register_type == RegisterType::BC || register_type == RegisterType::DE || register_type == ... [INFO] [stdout] | ------------- ^^ ---------------- RegisterType [INFO] [stdout] | | [INFO] [stdout] | RegisterType [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq` might be missing for `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum RegisterType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq` [INFO] [stdout] help: consider annotating `RegisterType` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 75 + #[derive(PartialEq)] [INFO] [stdout] 76 | pub enum RegisterType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:122:100 [INFO] [stdout] | [INFO] [stdout] 122 | ... if register_type == RegisterType::AF || register_type == RegisterType::BC || register_type == RegisterType::DE || register_type == ... [INFO] [stdout] | ------------- ^^ ---------------- RegisterType [INFO] [stdout] | | [INFO] [stdout] | RegisterType [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq` might be missing for `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum RegisterType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq` [INFO] [stdout] help: consider annotating `RegisterType` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 75 + #[derive(PartialEq)] [INFO] [stdout] 76 | pub enum RegisterType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:122:63 [INFO] [stdout] | [INFO] [stdout] 122 | ... if register_type == RegisterType::AF || register_type == RegisterType::BC || register_type == RegisterType::DE || register_type == ... [INFO] [stdout] | ------------- ^^ ---------------- RegisterType [INFO] [stdout] | | [INFO] [stdout] | RegisterType [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq` might be missing for `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum RegisterType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq` [INFO] [stdout] help: consider annotating `RegisterType` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 75 + #[derive(PartialEq)] [INFO] [stdout] 76 | pub enum RegisterType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:122:100 [INFO] [stdout] | [INFO] [stdout] 122 | ... if register_type == RegisterType::AF || register_type == RegisterType::BC || register_type == RegisterType::DE || register_type == ... [INFO] [stdout] | ------------- ^^ ---------------- RegisterType [INFO] [stdout] | | [INFO] [stdout] | RegisterType [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq` might be missing for `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum RegisterType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq` [INFO] [stdout] help: consider annotating `RegisterType` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 75 + #[derive(PartialEq)] [INFO] [stdout] 76 | pub enum RegisterType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:122:137 [INFO] [stdout] | [INFO] [stdout] 122 | ...:BC || register_type == RegisterType::DE || register_type == RegisterType::HL { [INFO] [stdout] | ------------- ^^ ---------------- RegisterType [INFO] [stdout] | | [INFO] [stdout] | RegisterType [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq` might be missing for `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum RegisterType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq` [INFO] [stdout] help: consider annotating `RegisterType` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 75 + #[derive(PartialEq)] [INFO] [stdout] 76 | pub enum RegisterType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:122:137 [INFO] [stdout] | [INFO] [stdout] 122 | ...:BC || register_type == RegisterType::DE || register_type == RegisterType::HL { [INFO] [stdout] | ------------- ^^ ---------------- RegisterType [INFO] [stdout] | | [INFO] [stdout] | RegisterType [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialEq` might be missing for `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum RegisterType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ must implement `PartialEq` [INFO] [stdout] help: consider annotating `RegisterType` with `#[derive(PartialEq)]` [INFO] [stdout] | [INFO] [stdout] 75 + #[derive(PartialEq)] [INFO] [stdout] 76 | pub enum RegisterType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `>=` cannot be applied to type `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/processors.rs:32:47 [INFO] [stdout] | [INFO] [stdout] 32 | if cpu.current_instruction.register_2 >= RegisterType::AF { [INFO] [stdout] | ---------------------------------- ^^ ---------------- RegisterType [INFO] [stdout] | | [INFO] [stdout] | RegisterType [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialOrd` might be missing for `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum RegisterType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ must implement `PartialOrd` [INFO] [stdout] help: consider annotating `RegisterType` with `#[derive(PartialEq, PartialOrd)]` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 + #[derive(PartialEq, PartialOrd)] [INFO] [stdout] 76 | pub enum RegisterType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `>=` cannot be applied to type `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/processors.rs:32:47 [INFO] [stdout] | [INFO] [stdout] 32 | if cpu.current_instruction.register_2 >= RegisterType::AF { [INFO] [stdout] | ---------------------------------- ^^ ---------------- RegisterType [INFO] [stdout] | | [INFO] [stdout] | RegisterType [INFO] [stdout] | [INFO] [stdout] note: an implementation of `PartialOrd` might be missing for `RegisterType` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum RegisterType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ must implement `PartialOrd` [INFO] [stdout] help: consider annotating `RegisterType` with `#[derive(PartialEq, PartialOrd)]` [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:75:1 [INFO] [stdout] | [INFO] [stdout] 75 + #[derive(PartialEq, PartialOrd)] [INFO] [stdout] 76 | pub enum RegisterType { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/rusty_gb/cartridge.rs:58:29 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/rusty_gb/cartridge.rs:58:43 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | _ => panic!("Invalid instruction type"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 16 | InstructionType::NONE => println!("NONE"), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 17 | InstructionType::NOP => println!("NOP"), [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 18 | InstructionType::JP => println!("JP"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 19 | InstructionType::LD => println!("LD"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 23 | _ => panic!("Invalid instruction type"), [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | _ => panic!("Invalid instruction type"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 29 | InstructionType::NONE => return String::from("NONE"), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 30 | InstructionType::NOP => return String::from("NOP"), [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 31 | InstructionType::JP => return String::from("JP"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 32 | InstructionType::LD => return String::from("LD"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 36 | _ => panic!("Invalid instruction type"), [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/rusty_gb/cartridge.rs:58:29 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/rusty_gb/cartridge.rs:58:43 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | _ => panic!("Invalid instruction type"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 16 | InstructionType::NONE => println!("NONE"), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 17 | InstructionType::NOP => println!("NOP"), [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 18 | InstructionType::JP => println!("JP"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 19 | InstructionType::LD => println!("LD"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 23 | _ => panic!("Invalid instruction type"), [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | _ => panic!("Invalid instruction type"), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/rusty_gb/cpu/instructions/instruction.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 29 | InstructionType::NONE => return String::from("NONE"), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 30 | InstructionType::NOP => return String::from("NOP"), [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 31 | InstructionType::JP => return String::from("JP"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 32 | InstructionType::LD => return String::from("LD"), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 36 | _ => panic!("Invalid instruction type"), [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/rusty_gb/cpu/processors.rs:38:20 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn process_dec(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/rusty_gb/cpu/processors.rs:42:19 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn process_di(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/rusty_gb/cpu/processors.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | _ => return false, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/rusty_gb/cpu/processors.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 50 | ConditionType::NONE => return true, [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 51 | ConditionType::NZ => return !z, [INFO] [stdout] | ----------------- matches some of the same values [INFO] [stdout] 52 | ConditionType::Z => return z, [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] 53 | ConditionType::NC => return !c, [INFO] [stdout] | ----------------- matches some of the same values [INFO] [stdout] 54 | ConditionType::C => return c, [INFO] [stdout] 55 | _ => return false, [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/rusty_gb/cpu/processors.rs:38:20 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn process_dec(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/rusty_gb/cpu/processors.rs:42:19 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn process_di(cpu: &mut Cpu) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/rusty_gb/cpu/processors.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 55 | _ => return false, [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/rusty_gb/cpu/processors.rs:55:9 [INFO] [stdout] | [INFO] [stdout] 50 | ConditionType::NONE => return true, [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 51 | ConditionType::NZ => return !z, [INFO] [stdout] | ----------------- matches some of the same values [INFO] [stdout] 52 | ConditionType::Z => return z, [INFO] [stdout] | ---------------- matches some of the same values [INFO] [stdout] 53 | ConditionType::NC => return !c, [INFO] [stdout] | ----------------- matches some of the same values [INFO] [stdout] 54 | ConditionType::C => return c, [INFO] [stdout] 55 | _ => return false, [INFO] [stdout] | ^ ...and 1 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/rusty_gb/cpu/processors.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | _ => panic!( [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/rusty_gb/cpu/processors.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 61 | InstructionType::NOP => return process_nop, [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 62 | InstructionType::NONE => return process_none, [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 63 | InstructionType::JP => return process_jp, [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 64 | InstructionType::XOR => return process_xor, [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 68 | _ => panic!( [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/rusty_gb/cpu/processors.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 68 | _ => panic!( [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/rusty_gb/cpu/processors.rs:68:9 [INFO] [stdout] | [INFO] [stdout] 61 | InstructionType::NOP => return process_nop, [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] 62 | InstructionType::NONE => return process_none, [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 63 | InstructionType::JP => return process_jp, [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 64 | InstructionType::XOR => return process_xor, [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 68 | _ => panic!( [INFO] [stdout] | ^ ...and 3 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `registers_flag` [INFO] [stdout] --> src/rusty_gb/cpu.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | let registers_flag = self.registers.f; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registers_flag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `registers_flag` [INFO] [stdout] --> src/rusty_gb/cpu.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | let registers_flag = self.registers.f; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registers_flag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_cycles` [INFO] [stdout] --> src/rusty_gb.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn emulator_cycles(n_cycles: u8){ [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_cycles` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_cycles` [INFO] [stdout] --> src/rusty_gb.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn emulator_cycles(n_cycles: u8){ [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_cycles` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0369`. [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0369`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rust_gbe` (bin "rust_gbe" test) due to 5 previous errors; 28 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `rust_gbe` (bin "rust_gbe") due to 5 previous errors; 28 warnings emitted [INFO] running `Command { std: "docker" "inspect" "8fdd4c3a0a38c58490d921cb5ea6f2ac0c23c68c007f00745decada52a114fa8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8fdd4c3a0a38c58490d921cb5ea6f2ac0c23c68c007f00745decada52a114fa8", kill_on_drop: false }` [INFO] [stdout] 8fdd4c3a0a38c58490d921cb5ea6f2ac0c23c68c007f00745decada52a114fa8