[INFO] cloning repository https://github.com/wwared/rgb [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wwared/rgb" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwwared%2Frgb", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwwared%2Frgb'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d63ec1874cb333fadf6067622487425f53512930 [INFO] checking wwared/rgb against try#998b6603a58e47f42ccce7a67943234e96b6839e for pr-143170 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwwared%2Frgb" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/wwared/rgb [INFO] finished tweaking git repo https://github.com/wwared/rgb [INFO] tweaked toml for git repo https://github.com/wwared/rgb written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/wwared/rgb on toolchain 998b6603a58e47f42ccce7a67943234e96b6839e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/wwared/rgb 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" "+998b6603a58e47f42ccce7a67943234e96b6839e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3419027d52cdbe1691376c690565f316f1faf37aa0789ed585b02014f08719b5 [INFO] running `Command { std: "docker" "start" "-a" "3419027d52cdbe1691376c690565f316f1faf37aa0789ed585b02014f08719b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3419027d52cdbe1691376c690565f316f1faf37aa0789ed585b02014f08719b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3419027d52cdbe1691376c690565f316f1faf37aa0789ed585b02014f08719b5", kill_on_drop: false }` [INFO] [stdout] 3419027d52cdbe1691376c690565f316f1faf37aa0789ed585b02014f08719b5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] de41ef94579e26e740d01d6da92262a70731126792f339455658794ca97ed1d3 [INFO] running `Command { std: "docker" "start" "-a" "de41ef94579e26e740d01d6da92262a70731126792f339455658794ca97ed1d3", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Checking rgb v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `mem::ROM` [INFO] [stdout] --> src/cpu.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use mem::ROM; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:407:12 [INFO] [stdout] | [INFO] [stdout] 407 | 0x80 ... 0x87 => AddReg8(reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:408:12 [INFO] [stdout] | [INFO] [stdout] 408 | 0x88 ... 0x8F => AddCarryReg8(reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:409:12 [INFO] [stdout] | [INFO] [stdout] 409 | 0x90 ... 0x97 => SubReg8(reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:410:12 [INFO] [stdout] | [INFO] [stdout] 410 | 0x98 ... 0x9F => SubCarryReg8(reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:411:12 [INFO] [stdout] | [INFO] [stdout] 411 | 0xA0 ... 0xA7 => AndReg8(reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:412:12 [INFO] [stdout] | [INFO] [stdout] 412 | 0xA8 ... 0xAF => XorReg8(reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:413:12 [INFO] [stdout] | [INFO] [stdout] 413 | 0xB0 ... 0xB7 => OrReg8(reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:414:12 [INFO] [stdout] | [INFO] [stdout] 414 | 0xB8 ... 0xBF => Compare(reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:443:12 [INFO] [stdout] | [INFO] [stdout] 443 | 0x40 ... 0x47 => LoadReg8(Reg8::B, reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:444:12 [INFO] [stdout] | [INFO] [stdout] 444 | 0x48 ... 0x4F => LoadReg8(Reg8::C, reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:445:12 [INFO] [stdout] | [INFO] [stdout] 445 | 0x50 ... 0x57 => LoadReg8(Reg8::D, reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:446:12 [INFO] [stdout] | [INFO] [stdout] 446 | 0x58 ... 0x5F => LoadReg8(Reg8::E, reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:447:12 [INFO] [stdout] | [INFO] [stdout] 447 | 0x60 ... 0x67 => LoadReg8(Reg8::H, reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:448:12 [INFO] [stdout] | [INFO] [stdout] 448 | 0x68 ... 0x6F => LoadReg8(Reg8::L, reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:449:12 [INFO] [stdout] | [INFO] [stdout] 449 | 0x70 ... 0x75 | 0x77 => LoadReg8(Reg8::MemHL, reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:450:12 [INFO] [stdout] | [INFO] [stdout] 450 | 0x78 ... 0x7F => LoadReg8(Reg8::A, reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:491:16 [INFO] [stdout] | [INFO] [stdout] 491 | 0x00 ... 0x07 => Rlc(reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:492:16 [INFO] [stdout] | [INFO] [stdout] 492 | 0x08 ... 0x0F => Rrc(reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:494:16 [INFO] [stdout] | [INFO] [stdout] 494 | 0x10 ... 0x17 => Rl(reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:495:16 [INFO] [stdout] | [INFO] [stdout] 495 | 0x18 ... 0x1F => Rr(reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:497:16 [INFO] [stdout] | [INFO] [stdout] 497 | 0x20 ... 0x27 => Sla(reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:498:16 [INFO] [stdout] | [INFO] [stdout] 498 | 0x28 ... 0x2F => Sra(reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:500:16 [INFO] [stdout] | [INFO] [stdout] 500 | 0x30 ... 0x37 => Swap(reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:501:16 [INFO] [stdout] | [INFO] [stdout] 501 | 0x38 ... 0x3F => Srl(reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:503:16 [INFO] [stdout] | [INFO] [stdout] 503 | 0x40 ... 0x47 => TestBit(0, reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:504:16 [INFO] [stdout] | [INFO] [stdout] 504 | 0x48 ... 0x4F => TestBit(1, reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:505:16 [INFO] [stdout] | [INFO] [stdout] 505 | 0x50 ... 0x57 => TestBit(2, reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:506:16 [INFO] [stdout] | [INFO] [stdout] 506 | 0x58 ... 0x5F => TestBit(3, reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:507:16 [INFO] [stdout] | [INFO] [stdout] 507 | 0x60 ... 0x67 => TestBit(4, reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:508:16 [INFO] [stdout] | [INFO] [stdout] 508 | 0x68 ... 0x6F => TestBit(5, reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:509:16 [INFO] [stdout] | [INFO] [stdout] 509 | 0x70 ... 0x77 => TestBit(6, reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:510:16 [INFO] [stdout] | [INFO] [stdout] 510 | 0x78 ... 0x7F => TestBit(7, reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:512:16 [INFO] [stdout] | [INFO] [stdout] 512 | 0x80 ... 0x87 => SetBit(0, reg8[(opcode2 & 0x0f) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:513:16 [INFO] [stdout] | [INFO] [stdout] 513 | 0x88 ... 0x8F => SetBit(1, reg8[(opcode2 & 0x0f - 8) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:514:16 [INFO] [stdout] | [INFO] [stdout] 514 | 0x90 ... 0x97 => SetBit(2, reg8[(opcode2 & 0x0f) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:515:16 [INFO] [stdout] | [INFO] [stdout] 515 | 0x98 ... 0x9F => SetBit(3, reg8[(opcode2 & 0x0f - 8) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:516:16 [INFO] [stdout] | [INFO] [stdout] 516 | 0xA0 ... 0xA7 => SetBit(4, reg8[(opcode2 & 0x0f) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:517:16 [INFO] [stdout] | [INFO] [stdout] 517 | 0xA8 ... 0xAF => SetBit(5, reg8[(opcode2 & 0x0f - 8) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:518:16 [INFO] [stdout] | [INFO] [stdout] 518 | 0xB0 ... 0xB7 => SetBit(6, reg8[(opcode2 & 0x0f) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:519:16 [INFO] [stdout] | [INFO] [stdout] 519 | 0xB8 ... 0xBF => SetBit(7, reg8[(opcode2 & 0x0f - 8) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `mem::ROM` [INFO] [stdout] --> src/cpu.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use mem::ROM; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:407:12 [INFO] [stdout] | [INFO] [stdout] 407 | 0x80 ... 0x87 => AddReg8(reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:408:12 [INFO] [stdout] | [INFO] [stdout] 408 | 0x88 ... 0x8F => AddCarryReg8(reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:409:12 [INFO] [stdout] | [INFO] [stdout] 409 | 0x90 ... 0x97 => SubReg8(reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:410:12 [INFO] [stdout] | [INFO] [stdout] 410 | 0x98 ... 0x9F => SubCarryReg8(reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:411:12 [INFO] [stdout] | [INFO] [stdout] 411 | 0xA0 ... 0xA7 => AndReg8(reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:412:12 [INFO] [stdout] | [INFO] [stdout] 412 | 0xA8 ... 0xAF => XorReg8(reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:413:12 [INFO] [stdout] | [INFO] [stdout] 413 | 0xB0 ... 0xB7 => OrReg8(reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:414:12 [INFO] [stdout] | [INFO] [stdout] 414 | 0xB8 ... 0xBF => Compare(reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:443:12 [INFO] [stdout] | [INFO] [stdout] 443 | 0x40 ... 0x47 => LoadReg8(Reg8::B, reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:444:12 [INFO] [stdout] | [INFO] [stdout] 444 | 0x48 ... 0x4F => LoadReg8(Reg8::C, reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:445:12 [INFO] [stdout] | [INFO] [stdout] 445 | 0x50 ... 0x57 => LoadReg8(Reg8::D, reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:446:12 [INFO] [stdout] | [INFO] [stdout] 446 | 0x58 ... 0x5F => LoadReg8(Reg8::E, reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:447:12 [INFO] [stdout] | [INFO] [stdout] 447 | 0x60 ... 0x67 => LoadReg8(Reg8::H, reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:448:12 [INFO] [stdout] | [INFO] [stdout] 448 | 0x68 ... 0x6F => LoadReg8(Reg8::L, reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:449:12 [INFO] [stdout] | [INFO] [stdout] 449 | 0x70 ... 0x75 | 0x77 => LoadReg8(Reg8::MemHL, reg8[(opcode & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:450:12 [INFO] [stdout] | [INFO] [stdout] 450 | 0x78 ... 0x7F => LoadReg8(Reg8::A, reg8[(opcode & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:491:16 [INFO] [stdout] | [INFO] [stdout] 491 | 0x00 ... 0x07 => Rlc(reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:521:16 [INFO] [stdout] | [INFO] [stdout] 521 | 0xC0 ... 0xC7 => SetBit(0, reg8[(opcode2 & 0x0f) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:492:16 [INFO] [stdout] | [INFO] [stdout] 492 | 0x08 ... 0x0F => Rrc(reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:522:16 [INFO] [stdout] | [INFO] [stdout] 522 | 0xC8 ... 0xCF => SetBit(1, reg8[(opcode2 & 0x0f - 8) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:494:16 [INFO] [stdout] | [INFO] [stdout] 494 | 0x10 ... 0x17 => Rl(reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:523:16 [INFO] [stdout] | [INFO] [stdout] 523 | 0xD0 ... 0xD7 => SetBit(2, reg8[(opcode2 & 0x0f) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:495:16 [INFO] [stdout] | [INFO] [stdout] 495 | 0x18 ... 0x1F => Rr(reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:524:16 [INFO] [stdout] | [INFO] [stdout] 524 | 0xD8 ... 0xDF => SetBit(3, reg8[(opcode2 & 0x0f - 8) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:497:16 [INFO] [stdout] | [INFO] [stdout] 497 | 0x20 ... 0x27 => Sla(reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:525:16 [INFO] [stdout] | [INFO] [stdout] 525 | 0xE0 ... 0xE7 => SetBit(4, reg8[(opcode2 & 0x0f) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:498:16 [INFO] [stdout] | [INFO] [stdout] 498 | 0x28 ... 0x2F => Sra(reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:526:16 [INFO] [stdout] | [INFO] [stdout] 526 | 0xE8 ... 0xEF => SetBit(5, reg8[(opcode2 & 0x0f - 8) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:500:16 [INFO] [stdout] | [INFO] [stdout] 500 | 0x30 ... 0x37 => Swap(reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:527:16 [INFO] [stdout] | [INFO] [stdout] 527 | 0xF0 ... 0xF7 => SetBit(6, reg8[(opcode2 & 0x0f) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:501:16 [INFO] [stdout] | [INFO] [stdout] 501 | 0x38 ... 0x3F => Srl(reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:528:16 [INFO] [stdout] | [INFO] [stdout] 528 | 0xF8 ... 0xFF => SetBit(7, reg8[(opcode2 & 0x0f - 8) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:503:16 [INFO] [stdout] | [INFO] [stdout] 503 | 0x40 ... 0x47 => TestBit(0, reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:504:16 [INFO] [stdout] | [INFO] [stdout] 504 | 0x48 ... 0x4F => TestBit(1, reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:505:16 [INFO] [stdout] | [INFO] [stdout] 505 | 0x50 ... 0x57 => TestBit(2, reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:506:16 [INFO] [stdout] | [INFO] [stdout] 506 | 0x58 ... 0x5F => TestBit(3, reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:507:16 [INFO] [stdout] | [INFO] [stdout] 507 | 0x60 ... 0x67 => TestBit(4, reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:508:16 [INFO] [stdout] | [INFO] [stdout] 508 | 0x68 ... 0x6F => TestBit(5, reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:509:16 [INFO] [stdout] | [INFO] [stdout] 509 | 0x70 ... 0x77 => TestBit(6, reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:510:16 [INFO] [stdout] | [INFO] [stdout] 510 | 0x78 ... 0x7F => TestBit(7, reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:512:16 [INFO] [stdout] | [INFO] [stdout] 512 | 0x80 ... 0x87 => SetBit(0, reg8[(opcode2 & 0x0f) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:513:16 [INFO] [stdout] | [INFO] [stdout] 513 | 0x88 ... 0x8F => SetBit(1, reg8[(opcode2 & 0x0f - 8) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:514:16 [INFO] [stdout] | [INFO] [stdout] 514 | 0x90 ... 0x97 => SetBit(2, reg8[(opcode2 & 0x0f) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:515:16 [INFO] [stdout] | [INFO] [stdout] 515 | 0x98 ... 0x9F => SetBit(3, reg8[(opcode2 & 0x0f - 8) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:516:16 [INFO] [stdout] | [INFO] [stdout] 516 | 0xA0 ... 0xA7 => SetBit(4, reg8[(opcode2 & 0x0f) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:517:16 [INFO] [stdout] | [INFO] [stdout] 517 | 0xA8 ... 0xAF => SetBit(5, reg8[(opcode2 & 0x0f - 8) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:518:16 [INFO] [stdout] | [INFO] [stdout] 518 | 0xB0 ... 0xB7 => SetBit(6, reg8[(opcode2 & 0x0f) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:519:16 [INFO] [stdout] | [INFO] [stdout] 519 | 0xB8 ... 0xBF => SetBit(7, reg8[(opcode2 & 0x0f - 8) as usize], false), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:521:16 [INFO] [stdout] | [INFO] [stdout] 521 | 0xC0 ... 0xC7 => SetBit(0, reg8[(opcode2 & 0x0f) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:522:16 [INFO] [stdout] | [INFO] [stdout] 522 | 0xC8 ... 0xCF => SetBit(1, reg8[(opcode2 & 0x0f - 8) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:523:16 [INFO] [stdout] | [INFO] [stdout] 523 | 0xD0 ... 0xD7 => SetBit(2, reg8[(opcode2 & 0x0f) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:524:16 [INFO] [stdout] | [INFO] [stdout] 524 | 0xD8 ... 0xDF => SetBit(3, reg8[(opcode2 & 0x0f - 8) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:525:16 [INFO] [stdout] | [INFO] [stdout] 525 | 0xE0 ... 0xE7 => SetBit(4, reg8[(opcode2 & 0x0f) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:526:16 [INFO] [stdout] | [INFO] [stdout] 526 | 0xE8 ... 0xEF => SetBit(5, reg8[(opcode2 & 0x0f - 8) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:527:16 [INFO] [stdout] | [INFO] [stdout] 527 | 0xF0 ... 0xF7 => SetBit(6, reg8[(opcode2 & 0x0f) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/cpu.rs:528:16 [INFO] [stdout] | [INFO] [stdout] 528 | 0xF8 ... 0xFF => SetBit(7, reg8[(opcode2 & 0x0f - 8) as usize], true), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cycles` [INFO] [stdout] --> src/cpu.rs:340:9 [INFO] [stdout] | [INFO] [stdout] 340 | let cycles = self.run(next); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/cpu.rs:530:11 [INFO] [stdout] | [INFO] [stdout] 530 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/cpu.rs:530:11 [INFO] [stdout] | [INFO] [stdout] 491 | 0x00 ... 0x07 => Rlc(reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] 492 | 0x08 ... 0x0F => Rrc(reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] 493 | [INFO] [stdout] 494 | 0x10 ... 0x17 => Rl(reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] 495 | 0x18 ... 0x1F => Rr(reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 530 | _ => { [INFO] [stdout] | ^ ...and 28 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:820:19 [INFO] [stdout] | [INFO] [stdout] 820 | cpu.regs.pc = 0; [INFO] [stdout] | ----------- ^ expected `Wrapping`, found integer [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 820 | cpu.regs.pc = std::num::Wrapping(0); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:642:15 [INFO] [stdout] | [INFO] [stdout] 642 | AddReg8(r) => { /* TODO */ }, [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/cpu.rs:643:20 [INFO] [stdout] | [INFO] [stdout] 643 | AddCarryReg8(r) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:644:15 [INFO] [stdout] | [INFO] [stdout] 644 | AddImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:645:20 [INFO] [stdout] | [INFO] [stdout] 645 | AddCarryImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:646:15 [INFO] [stdout] | [INFO] [stdout] 646 | IncReg8(r) => { /* TODO */ }, [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/cpu.rs:647:16 [INFO] [stdout] | [INFO] [stdout] 647 | IncReg16(r) => { /* TODO */ }, [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/cpu.rs:648:15 [INFO] [stdout] | [INFO] [stdout] 648 | SubReg8(r) => { /* TODO */ }, [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/cpu.rs:649:20 [INFO] [stdout] | [INFO] [stdout] 649 | SubCarryReg8(r) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:650:15 [INFO] [stdout] | [INFO] [stdout] 650 | SubImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:651:20 [INFO] [stdout] | [INFO] [stdout] 651 | SubCarryImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:652:15 [INFO] [stdout] | [INFO] [stdout] 652 | Compare(r) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:653:19 [INFO] [stdout] | [INFO] [stdout] 653 | CompareImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:654:15 [INFO] [stdout] | [INFO] [stdout] 654 | DecReg8(r) => { /* TODO */ }, [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/cpu.rs:655:16 [INFO] [stdout] | [INFO] [stdout] 655 | DecReg16(r) => { /* TODO */ }, [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/cpu.rs:656:15 [INFO] [stdout] | [INFO] [stdout] 656 | AndReg8(r) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:657:15 [INFO] [stdout] | [INFO] [stdout] 657 | AndImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:658:15 [INFO] [stdout] | [INFO] [stdout] 658 | XorReg8(r) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:659:15 [INFO] [stdout] | [INFO] [stdout] 659 | XorImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:660:14 [INFO] [stdout] | [INFO] [stdout] 660 | OrReg8(r) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:661:14 [INFO] [stdout] | [INFO] [stdout] 661 | OrImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:673:14 [INFO] [stdout] | [INFO] [stdout] 673 | WriteA(r, f) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/cpu.rs:673:17 [INFO] [stdout] | [INFO] [stdout] 673 | WriteA(r, f) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:674:19 [INFO] [stdout] | [INFO] [stdout] 674 | WriteAImm16(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:675:13 [INFO] [stdout] | [INFO] [stdout] 675 | ReadA(r, f) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/cpu.rs:675:16 [INFO] [stdout] | [INFO] [stdout] 675 | ReadA(r, f) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:676:18 [INFO] [stdout] | [INFO] [stdout] 676 | ReadAImm16(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/cpu.rs:744:13 [INFO] [stdout] | [INFO] [stdout] 744 | let val = self.get_flag(Flag::Carry); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/cpu.rs:751:13 [INFO] [stdout] | [INFO] [stdout] 751 | let val = self.get_flag(Flag::Carry); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:757:11 [INFO] [stdout] | [INFO] [stdout] 757 | Rlc(r) => { /* TODO */ }, [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/cpu.rs:758:11 [INFO] [stdout] | [INFO] [stdout] 758 | Rrc(r) => { /* TODO */ }, [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/cpu.rs:759:10 [INFO] [stdout] | [INFO] [stdout] 759 | Rl(r) => { /* TODO */ }, [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/cpu.rs:760:10 [INFO] [stdout] | [INFO] [stdout] 760 | Rr(r) => { /* TODO */ }, [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/cpu.rs:761:11 [INFO] [stdout] | [INFO] [stdout] 761 | Sla(r) => { /* TODO */ }, [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/cpu.rs:762:11 [INFO] [stdout] | [INFO] [stdout] 762 | Sra(r) => { /* TODO */ }, [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/cpu.rs:763:11 [INFO] [stdout] | [INFO] [stdout] 763 | Srl(r) => { /* TODO */ }, [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/cpu.rs:764:12 [INFO] [stdout] | [INFO] [stdout] 764 | Swap(r) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cpu.rs:768:13 [INFO] [stdout] | [INFO] [stdout] 768 | let mut val = self.get_reg8(r); [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: constant `MEM_TOP` is never used [INFO] [stdout] --> src/mem.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub const MEM_TOP: usize = 0x10000; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `MemoryBlock` is never used [INFO] [stdout] --> src/mem.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub trait MemoryBlock { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RAM` is never constructed [INFO] [stdout] --> src/mem.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct RAM { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ROM` is never constructed [INFO] [stdout] --> src/mem.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct ROM { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:822:22 [INFO] [stdout] | [INFO] [stdout] 822 | cpu.mem.write8(cpu.regs.pc, opcode as u8); [INFO] [stdout] | ------ ^^^^^^^^^^^ expected `u16`, found `Wrapping` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected type `u16` [INFO] [stdout] found struct `Wrapping` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/mem.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | fn write8(&mut self, pos: u16, val: u8) { [INFO] [stdout] | ^^^^^^ -------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Registers` is never constructed [INFO] [stdout] --> src/cpu.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct Registers { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CPU` is never constructed [INFO] [stdout] --> src/cpu.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct CPU { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Reg8` is never used [INFO] [stdout] --> src/cpu.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | pub enum Reg8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Reg16` is never used [INFO] [stdout] --> src/cpu.rs:41:10 [INFO] [stdout] | [INFO] [stdout] 41 | pub enum Reg16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Flag` is never used [INFO] [stdout] --> src/cpu.rs:51:10 [INFO] [stdout] | [INFO] [stdout] 51 | pub enum Flag { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `InstrFlag` is never used [INFO] [stdout] --> src/cpu.rs:60:10 [INFO] [stdout] | [INFO] [stdout] 60 | pub enum InstrFlag { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Instruction` is never used [INFO] [stdout] --> src/cpu.rs:67:10 [INFO] [stdout] | [INFO] [stdout] 67 | pub enum Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:825:19 [INFO] [stdout] | [INFO] [stdout] 825 | cpu.regs.pc = 0; [INFO] [stdout] | ----------- ^ expected `Wrapping`, found integer [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 825 | cpu.regs.pc = std::num::Wrapping(0); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `size` is never used [INFO] [stdout] --> src/cpu.rs:156:6 [INFO] [stdout] | [INFO] [stdout] 155 | impl Instruction { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 156 | fn size(&self) -> u16 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `concat_u8` is never used [INFO] [stdout] --> src/cpu.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn concat_u8(h: W, l: W) -> W { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `break_u16` is never used [INFO] [stdout] --> src/cpu.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | fn break_u16(val: W) -> (W, W) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `signed_add` is never used [INFO] [stdout] --> src/cpu.rs:185:4 [INFO] [stdout] | [INFO] [stdout] 185 | fn signed_add(a: W, b: W) -> W { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extend_u8` is never used [INFO] [stdout] --> src/cpu.rs:193:4 [INFO] [stdout] | [INFO] [stdout] 193 | fn extend_u8(n: W) -> W { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit` is never used [INFO] [stdout] --> src/cpu.rs:197:4 [INFO] [stdout] | [INFO] [stdout] 197 | fn bit(x: W, n: u8) -> bool { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/cpu.rs:203:10 [INFO] [stdout] | [INFO] [stdout] 202 | impl CPU { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 203 | pub fn new() -> CPU { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | fn get_reg8(&self, r: Reg8) -> W { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | fn set_reg8(&mut self, r: Reg8, val: W) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | fn get_reg16(&self, r: Reg16) -> W { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | fn set_reg16(&mut self, r: Reg16, val: W) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | fn read8(&self, pos: W) -> W { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | fn write8(&mut self, pos: W, val: W) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 298 | fn read16(&self, pos: W) -> W { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 304 | fn write16(&mut self, pos: W, val: W) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 311 | fn get_flag(&self, flag: Flag) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 316 | fn set_flag(&mut self, flag: Flag, value: bool) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 322 | fn zero_flags(&mut self) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 326 | fn push(&mut self, val: W) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 332 | fn pop(&mut self) -> W { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 338 | fn step(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 343 | fn opcode_u8(&self) -> W { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 347 | fn opcode_i8(&self) -> W { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 351 | fn opcode_u16(&self) -> W { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 355 | pub fn decode_next(&mut self) -> Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 544 | pub fn duration(&self, instr: Instruction, jumped: bool) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 579 | fn run(&mut self, instr: Instruction) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:842:19 [INFO] [stdout] | [INFO] [stdout] 842 | cpu.regs.pc = 0; [INFO] [stdout] | ----------- ^ expected `Wrapping`, found integer [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 842 | cpu.regs.pc = std::num::Wrapping(0); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:844:22 [INFO] [stdout] | [INFO] [stdout] 844 | cpu.mem.write8(cpu.regs.pc, 0xCB as u8); [INFO] [stdout] | ------ ^^^^^^^^^^^ expected `u16`, found `Wrapping` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected type `u16` [INFO] [stdout] found struct `Wrapping` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/mem.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | fn write8(&mut self, pos: u16, val: u8) { [INFO] [stdout] | ^^^^^^ -------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:846:22 [INFO] [stdout] | [INFO] [stdout] 846 | cpu.mem.write8(cpu.regs.pc, opcode as u8); [INFO] [stdout] | ------ ^^^^^^^^^^^ expected `u16`, found `Wrapping` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected type `u16` [INFO] [stdout] found struct `Wrapping` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/mem.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | fn write8(&mut self, pos: u16, val: u8) { [INFO] [stdout] | ^^^^^^ -------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:849:19 [INFO] [stdout] | [INFO] [stdout] 849 | cpu.regs.pc = 0; [INFO] [stdout] | ----------- ^ expected `Wrapping`, found integer [INFO] [stdout] | | [INFO] [stdout] | expected due to the type of this binding [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 849 | cpu.regs.pc = std::num::Wrapping(0); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:870:20 [INFO] [stdout] | [INFO] [stdout] 870 | cpu.mem.write8(cpu.regs.pc, 0); [INFO] [stdout] | ------ ^^^^^^^^^^^ expected `u16`, found `Wrapping` [INFO] [stdout] | | [INFO] [stdout] | arguments to this method are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected type `u16` [INFO] [stdout] found struct `Wrapping` [INFO] [stdout] note: method defined here [INFO] [stdout] --> src/mem.rs:8:6 [INFO] [stdout] | [INFO] [stdout] 8 | fn write8(&mut self, pos: u16, val: u8) { [INFO] [stdout] | ^^^^^^ -------- [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: arguments to this function are incorrect [INFO] [stdout] --> src/cpu.rs:902:16 [INFO] [stdout] | [INFO] [stdout] 902 | assert_eq!(concat_u8(0, 0), 0); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: expected `Wrapping`, found integer [INFO] [stdout] --> src/cpu.rs:902:26 [INFO] [stdout] | [INFO] [stdout] 902 | assert_eq!(concat_u8(0, 0), 0); [INFO] [stdout] | ^ [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: expected `Wrapping`, found integer [INFO] [stdout] --> src/cpu.rs:902:29 [INFO] [stdout] | [INFO] [stdout] 902 | assert_eq!(concat_u8(0, 0), 0); [INFO] [stdout] | ^ [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/cpu.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn concat_u8(h: W, l: W) -> W { [INFO] [stdout] | ^^^^^^^^^ -------- -------- [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 902 | assert_eq!(concat_u8(std::num::Wrapping(0), 0), 0); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 902 | assert_eq!(concat_u8(0, std::num::Wrapping(0)), 0); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:902:33 [INFO] [stdout] | [INFO] [stdout] 902 | assert_eq!(concat_u8(0, 0), 0); [INFO] [stdout] | ^ expected `Wrapping`, found integer [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 902 | assert_eq!(concat_u8(0, 0), std::num::Wrapping(0)); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: arguments to this function are incorrect [INFO] [stdout] --> src/cpu.rs:903:16 [INFO] [stdout] | [INFO] [stdout] 903 | assert_eq!(concat_u8(0xFF, 0), 0xFF00); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: expected `Wrapping`, found integer [INFO] [stdout] --> src/cpu.rs:903:26 [INFO] [stdout] | [INFO] [stdout] 903 | assert_eq!(concat_u8(0xFF, 0), 0xFF00); [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: expected `Wrapping`, found integer [INFO] [stdout] --> src/cpu.rs:903:32 [INFO] [stdout] | [INFO] [stdout] 903 | assert_eq!(concat_u8(0xFF, 0), 0xFF00); [INFO] [stdout] | ^ [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/cpu.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn concat_u8(h: W, l: W) -> W { [INFO] [stdout] | ^^^^^^^^^ -------- -------- [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 903 | assert_eq!(concat_u8(std::num::Wrapping(0xFF), 0), 0xFF00); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 903 | assert_eq!(concat_u8(0xFF, std::num::Wrapping(0)), 0xFF00); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:903:36 [INFO] [stdout] | [INFO] [stdout] 903 | assert_eq!(concat_u8(0xFF, 0), 0xFF00); [INFO] [stdout] | ^^^^^^ expected `Wrapping`, found integer [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 903 | assert_eq!(concat_u8(0xFF, 0), std::num::Wrapping(0xFF00)); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: arguments to this function are incorrect [INFO] [stdout] --> src/cpu.rs:904:16 [INFO] [stdout] | [INFO] [stdout] 904 | assert_eq!(concat_u8(0, 0xFF), 0xFF); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: expected `Wrapping`, found integer [INFO] [stdout] --> src/cpu.rs:904:26 [INFO] [stdout] | [INFO] [stdout] 904 | assert_eq!(concat_u8(0, 0xFF), 0xFF); [INFO] [stdout] | ^ [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: expected `Wrapping`, found integer [INFO] [stdout] --> src/cpu.rs:904:29 [INFO] [stdout] | [INFO] [stdout] 904 | assert_eq!(concat_u8(0, 0xFF), 0xFF); [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/cpu.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn concat_u8(h: W, l: W) -> W { [INFO] [stdout] | ^^^^^^^^^ -------- -------- [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 904 | assert_eq!(concat_u8(std::num::Wrapping(0), 0xFF), 0xFF); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 904 | assert_eq!(concat_u8(0, std::num::Wrapping(0xFF)), 0xFF); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:904:36 [INFO] [stdout] | [INFO] [stdout] 904 | assert_eq!(concat_u8(0, 0xFF), 0xFF); [INFO] [stdout] | ^^^^ expected `Wrapping`, found integer [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 904 | assert_eq!(concat_u8(0, 0xFF), std::num::Wrapping(0xFF)); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: arguments to this function are incorrect [INFO] [stdout] --> src/cpu.rs:905:16 [INFO] [stdout] | [INFO] [stdout] 905 | assert_eq!(concat_u8(0xFF, 0xFF), 0xFFFF); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: expected `Wrapping`, found integer [INFO] [stdout] --> src/cpu.rs:905:26 [INFO] [stdout] | [INFO] [stdout] 905 | assert_eq!(concat_u8(0xFF, 0xFF), 0xFFFF); [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: expected `Wrapping`, found integer [INFO] [stdout] --> src/cpu.rs:905:32 [INFO] [stdout] | [INFO] [stdout] 905 | assert_eq!(concat_u8(0xFF, 0xFF), 0xFFFF); [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/cpu.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn concat_u8(h: W, l: W) -> W { [INFO] [stdout] | ^^^^^^^^^ -------- -------- [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 905 | assert_eq!(concat_u8(std::num::Wrapping(0xFF), 0xFF), 0xFFFF); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 905 | assert_eq!(concat_u8(0xFF, std::num::Wrapping(0xFF)), 0xFFFF); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:905:39 [INFO] [stdout] | [INFO] [stdout] 905 | assert_eq!(concat_u8(0xFF, 0xFF), 0xFFFF); [INFO] [stdout] | ^^^^^^ expected `Wrapping`, found integer [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 905 | assert_eq!(concat_u8(0xFF, 0xFF), std::num::Wrapping(0xFFFF)); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: arguments to this function are incorrect [INFO] [stdout] --> src/cpu.rs:906:16 [INFO] [stdout] | [INFO] [stdout] 906 | assert_eq!(concat_u8(0x12, 0x34), 0x1234); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: expected `Wrapping`, found integer [INFO] [stdout] --> src/cpu.rs:906:26 [INFO] [stdout] | [INFO] [stdout] 906 | assert_eq!(concat_u8(0x12, 0x34), 0x1234); [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: expected `Wrapping`, found integer [INFO] [stdout] --> src/cpu.rs:906:32 [INFO] [stdout] | [INFO] [stdout] 906 | assert_eq!(concat_u8(0x12, 0x34), 0x1234); [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/cpu.rs:175:4 [INFO] [stdout] | [INFO] [stdout] 175 | fn concat_u8(h: W, l: W) -> W { [INFO] [stdout] | ^^^^^^^^^ -------- -------- [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 906 | assert_eq!(concat_u8(std::num::Wrapping(0x12), 0x34), 0x1234); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 906 | assert_eq!(concat_u8(0x12, std::num::Wrapping(0x34)), 0x1234); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:906:39 [INFO] [stdout] | [INFO] [stdout] 906 | assert_eq!(concat_u8(0x12, 0x34), 0x1234); [INFO] [stdout] | ^^^^^^ expected `Wrapping`, found integer [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 906 | assert_eq!(concat_u8(0x12, 0x34), std::num::Wrapping(0x1234)); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:911:26 [INFO] [stdout] | [INFO] [stdout] 911 | assert_eq!(break_u16(0xFFFF), (0xFF, 0xFF)); [INFO] [stdout] | --------- ^^^^^^ expected `Wrapping`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/cpu.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | fn break_u16(val: W) -> (W, W) { [INFO] [stdout] | ^^^^^^^^^ ----------- [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 911 | assert_eq!(break_u16(std::num::Wrapping(0xFFFF)), (0xFF, 0xFF)); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:911:35 [INFO] [stdout] | [INFO] [stdout] 911 | assert_eq!(break_u16(0xFFFF), (0xFF, 0xFF)); [INFO] [stdout] | ^^^^^^^^^^^^ expected `(Wrapping, Wrapping)`, found `({integer}, {integer})` [INFO] [stdout] | [INFO] [stdout] = note: expected tuple `(Wrapping, Wrapping)` [INFO] [stdout] found tuple `({integer}, {integer})` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:912:26 [INFO] [stdout] | [INFO] [stdout] 912 | assert_eq!(break_u16(0x1234), (0x12, 0x34)); [INFO] [stdout] | --------- ^^^^^^ expected `Wrapping`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/cpu.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | fn break_u16(val: W) -> (W, W) { [INFO] [stdout] | ^^^^^^^^^ ----------- [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 912 | assert_eq!(break_u16(std::num::Wrapping(0x1234)), (0x12, 0x34)); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:912:35 [INFO] [stdout] | [INFO] [stdout] 912 | assert_eq!(break_u16(0x1234), (0x12, 0x34)); [INFO] [stdout] | ^^^^^^^^^^^^ expected `(Wrapping, Wrapping)`, found `({integer}, {integer})` [INFO] [stdout] | [INFO] [stdout] = note: expected tuple `(Wrapping, Wrapping)` [INFO] [stdout] found tuple `({integer}, {integer})` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:913:26 [INFO] [stdout] | [INFO] [stdout] 913 | assert_eq!(break_u16(0), (0, 0)); [INFO] [stdout] | --------- ^ expected `Wrapping`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/cpu.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | fn break_u16(val: W) -> (W, W) { [INFO] [stdout] | ^^^^^^^^^ ----------- [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 913 | assert_eq!(break_u16(std::num::Wrapping(0)), (0, 0)); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:913:30 [INFO] [stdout] | [INFO] [stdout] 913 | assert_eq!(break_u16(0), (0, 0)); [INFO] [stdout] | ^^^^^^ expected `(Wrapping, Wrapping)`, found `({integer}, {integer})` [INFO] [stdout] | [INFO] [stdout] = note: expected tuple `(Wrapping, Wrapping)` [INFO] [stdout] found tuple `({integer}, {integer})` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:914:26 [INFO] [stdout] | [INFO] [stdout] 914 | assert_eq!(break_u16(0xFF), (0, 0xFF)); [INFO] [stdout] | --------- ^^^^ expected `Wrapping`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/cpu.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | fn break_u16(val: W) -> (W, W) { [INFO] [stdout] | ^^^^^^^^^ ----------- [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 914 | assert_eq!(break_u16(std::num::Wrapping(0xFF)), (0, 0xFF)); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:914:33 [INFO] [stdout] | [INFO] [stdout] 914 | assert_eq!(break_u16(0xFF), (0, 0xFF)); [INFO] [stdout] | ^^^^^^^^^ expected `(Wrapping, Wrapping)`, found `({integer}, {integer})` [INFO] [stdout] | [INFO] [stdout] = note: expected tuple `(Wrapping, Wrapping)` [INFO] [stdout] found tuple `({integer}, {integer})` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:915:26 [INFO] [stdout] | [INFO] [stdout] 915 | assert_eq!(break_u16(0xFF00), (0xFF, 0)); [INFO] [stdout] | --------- ^^^^^^ expected `Wrapping`, found integer [INFO] [stdout] | | [INFO] [stdout] | arguments to this function are incorrect [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Wrapping` [INFO] [stdout] found type `{integer}` [INFO] [stdout] note: function defined here [INFO] [stdout] --> src/cpu.rs:179:4 [INFO] [stdout] | [INFO] [stdout] 179 | fn break_u16(val: W) -> (W, W) { [INFO] [stdout] | ^^^^^^^^^ ----------- [INFO] [stdout] help: try wrapping the expression in `std::num::Wrapping` [INFO] [stdout] | [INFO] [stdout] 915 | assert_eq!(break_u16(std::num::Wrapping(0xFF00)), (0xFF, 0)); [INFO] [stdout] | +++++++++++++++++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:915:35 [INFO] [stdout] | [INFO] [stdout] 915 | assert_eq!(break_u16(0xFF00), (0xFF, 0)); [INFO] [stdout] | ^^^^^^^^^ expected `(Wrapping, Wrapping)`, found `({integer}, {integer})` [INFO] [stdout] | [INFO] [stdout] = note: expected tuple `(Wrapping, Wrapping)` [INFO] [stdout] found tuple `({integer}, {integer})` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cycles` [INFO] [stdout] --> src/cpu.rs:340:9 [INFO] [stdout] | [INFO] [stdout] 340 | let cycles = self.run(next); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cycles` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/cpu.rs:530:11 [INFO] [stdout] | [INFO] [stdout] 530 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/cpu.rs:530:11 [INFO] [stdout] | [INFO] [stdout] 491 | 0x00 ... 0x07 => Rlc(reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] 492 | 0x08 ... 0x0F => Rrc(reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] 493 | [INFO] [stdout] 494 | 0x10 ... 0x17 => Rl(reg8[(opcode2 & 0x0f) as usize]), [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] 495 | 0x18 ... 0x1F => Rr(reg8[(opcode2 & 0x0f - 8) as usize]), [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 530 | _ => { [INFO] [stdout] | ^ ...and 28 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:642:15 [INFO] [stdout] | [INFO] [stdout] 642 | AddReg8(r) => { /* TODO */ }, [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/cpu.rs:643:20 [INFO] [stdout] | [INFO] [stdout] 643 | AddCarryReg8(r) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:644:15 [INFO] [stdout] | [INFO] [stdout] 644 | AddImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:645:20 [INFO] [stdout] | [INFO] [stdout] 645 | AddCarryImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:646:15 [INFO] [stdout] | [INFO] [stdout] 646 | IncReg8(r) => { /* TODO */ }, [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/cpu.rs:647:16 [INFO] [stdout] | [INFO] [stdout] 647 | IncReg16(r) => { /* TODO */ }, [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/cpu.rs:648:15 [INFO] [stdout] | [INFO] [stdout] 648 | SubReg8(r) => { /* TODO */ }, [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/cpu.rs:649:20 [INFO] [stdout] | [INFO] [stdout] 649 | SubCarryReg8(r) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:650:15 [INFO] [stdout] | [INFO] [stdout] 650 | SubImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:651:20 [INFO] [stdout] | [INFO] [stdout] 651 | SubCarryImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:652:15 [INFO] [stdout] | [INFO] [stdout] 652 | Compare(r) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:653:19 [INFO] [stdout] | [INFO] [stdout] 653 | CompareImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:654:15 [INFO] [stdout] | [INFO] [stdout] 654 | DecReg8(r) => { /* TODO */ }, [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/cpu.rs:655:16 [INFO] [stdout] | [INFO] [stdout] 655 | DecReg16(r) => { /* TODO */ }, [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/cpu.rs:656:15 [INFO] [stdout] | [INFO] [stdout] 656 | AndReg8(r) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:657:15 [INFO] [stdout] | [INFO] [stdout] 657 | AndImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:658:15 [INFO] [stdout] | [INFO] [stdout] 658 | XorReg8(r) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:659:15 [INFO] [stdout] | [INFO] [stdout] 659 | XorImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:660:14 [INFO] [stdout] | [INFO] [stdout] 660 | OrReg8(r) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:661:14 [INFO] [stdout] | [INFO] [stdout] 661 | OrImm8(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:673:14 [INFO] [stdout] | [INFO] [stdout] 673 | WriteA(r, f) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/cpu.rs:673:17 [INFO] [stdout] | [INFO] [stdout] 673 | WriteA(r, f) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:674:19 [INFO] [stdout] | [INFO] [stdout] 674 | WriteAImm16(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:675:13 [INFO] [stdout] | [INFO] [stdout] 675 | ReadA(r, f) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/cpu.rs:675:16 [INFO] [stdout] | [INFO] [stdout] 675 | ReadA(r, f) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/cpu.rs:676:18 [INFO] [stdout] | [INFO] [stdout] 676 | ReadAImm16(n) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/cpu.rs:744:13 [INFO] [stdout] | [INFO] [stdout] 744 | let val = self.get_flag(Flag::Carry); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `val` [INFO] [stdout] --> src/cpu.rs:751:13 [INFO] [stdout] | [INFO] [stdout] 751 | let val = self.get_flag(Flag::Carry); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `r` [INFO] [stdout] --> src/cpu.rs:757:11 [INFO] [stdout] | [INFO] [stdout] 757 | Rlc(r) => { /* TODO */ }, [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/cpu.rs:758:11 [INFO] [stdout] | [INFO] [stdout] 758 | Rrc(r) => { /* TODO */ }, [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/cpu.rs:759:10 [INFO] [stdout] | [INFO] [stdout] 759 | Rl(r) => { /* TODO */ }, [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/cpu.rs:760:10 [INFO] [stdout] | [INFO] [stdout] 760 | Rr(r) => { /* TODO */ }, [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/cpu.rs:761:11 [INFO] [stdout] | [INFO] [stdout] 761 | Sla(r) => { /* TODO */ }, [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/cpu.rs:762:11 [INFO] [stdout] | [INFO] [stdout] 762 | Sra(r) => { /* TODO */ }, [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/cpu.rs:763:11 [INFO] [stdout] | [INFO] [stdout] 763 | Srl(r) => { /* TODO */ }, [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/cpu.rs:764:12 [INFO] [stdout] | [INFO] [stdout] 764 | Swap(r) => { /* TODO */ }, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_r` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cpu.rs:768:13 [INFO] [stdout] | [INFO] [stdout] 768 | let mut val = self.get_reg8(r); [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] For more information about this error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rgb` (bin "rgb" test) due to 28 previous errors; 88 warnings emitted [INFO] running `Command { std: "docker" "inspect" "de41ef94579e26e740d01d6da92262a70731126792f339455658794ca97ed1d3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "de41ef94579e26e740d01d6da92262a70731126792f339455658794ca97ed1d3", kill_on_drop: false }` [INFO] [stdout] de41ef94579e26e740d01d6da92262a70731126792f339455658794ca97ed1d3