[INFO] cloning repository https://github.com/VictorFordham/rust_gb_emulator [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/VictorFordham/rust_gb_emulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVictorFordham%2Frust_gb_emulator", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVictorFordham%2Frust_gb_emulator'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c117d26a42c88a8d23e315ca195609c53bc32989 [INFO] checking VictorFordham/rust_gb_emulator against master#3aedcf06b73fc36feeebca3d579e1d2a6c40acc5 for pr-65819 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVictorFordham%2Frust_gb_emulator" "/workspace/builds/worker-7/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/VictorFordham/rust_gb_emulator on toolchain 3aedcf06b73fc36feeebca3d579e1d2a6c40acc5 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3aedcf06b73fc36feeebca3d579e1d2a6c40acc5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/VictorFordham/rust_gb_emulator [INFO] finished tweaking git repo https://github.com/VictorFordham/rust_gb_emulator [INFO] tweaked toml for git repo https://github.com/VictorFordham/rust_gb_emulator written to /workspace/builds/worker-7/source/Cargo.toml [INFO] crate git repo https://github.com/VictorFordham/rust_gb_emulator already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3aedcf06b73fc36feeebca3d579e1d2a6c40acc5" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "rustops/crates-build-env@sha256:c46a2d1a26fb48b37929c74ca49dd9409f2375a0a3bdb8fe07617f3ffccaa889" "/opt/rustwide/cargo-home/bin/cargo" "+3aedcf06b73fc36feeebca3d579e1d2a6c40acc5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5766f8a95a61af090052cc8284b904bb30c69fa92e621cadd47f12c39e5f774b [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "5766f8a95a61af090052cc8284b904bb30c69fa92e621cadd47f12c39e5f774b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5766f8a95a61af090052cc8284b904bb30c69fa92e621cadd47f12c39e5f774b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5766f8a95a61af090052cc8284b904bb30c69fa92e621cadd47f12c39e5f774b", kill_on_drop: false }` [INFO] [stdout] 5766f8a95a61af090052cc8284b904bb30c69fa92e621cadd47f12c39e5f774b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:c46a2d1a26fb48b37929c74ca49dd9409f2375a0a3bdb8fe07617f3ffccaa889" "/opt/rustwide/cargo-home/bin/cargo" "+3aedcf06b73fc36feeebca3d579e1d2a6c40acc5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 93654154e25bf7b0935f79eb49422b4eddc29de7f836564c9388c1789ccd1b51 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "93654154e25bf7b0935f79eb49422b4eddc29de7f836564c9388c1789ccd1b51", kill_on_drop: false }` [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.62 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Checking smallvec v1.6.1 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Compiling wide v0.4.6 [INFO] [stderr] Checking copyless v0.1.5 [INFO] [stderr] Checking pollster v0.2.1 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking tracing-core v0.1.17 [INFO] [stderr] Checking libloading v0.6.7 [INFO] [stderr] Checking instant v0.1.9 [INFO] [stderr] Checking lock_api v0.4.2 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [INFO] [stderr] Checking raw-window-handle v0.3.3 [INFO] [stderr] Checking parking_lot_core v0.8.3 [INFO] [stderr] Checking ash v0.31.0 [INFO] [stderr] Checking tracing v0.1.25 [INFO] [stderr] Checking gfx-hal v0.6.0 [INFO] [stderr] Checking wgpu-types v0.6.1 [INFO] [stderr] Checking parking_lot v0.11.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Compiling x11 v2.18.2 [INFO] [stderr] Checking ultraviolet v0.4.6 [INFO] [stderr] Checking spirv_headers v1.5.0 [INFO] [stderr] Checking gfx-memory v0.2.2 [INFO] [stderr] Checking gfx-descriptor v0.2.0 [INFO] [stderr] Checking gfx-backend-empty v0.6.0 [INFO] [stderr] Compiling thiserror-impl v1.0.24 [INFO] [stderr] Compiling futures-macro v0.3.13 [INFO] [stderr] Checking futures-util v0.3.13 [INFO] [stderr] Checking thiserror v1.0.24 [INFO] [stderr] Checking naga v0.2.0 [INFO] [stderr] Checking gfx-backend-vulkan v0.6.5 [INFO] [stderr] Checking wgpu-core v0.6.5 [INFO] [stderr] Checking futures-executor v0.3.13 [INFO] [stderr] Checking futures v0.3.13 [INFO] [stderr] Checking wgpu v0.6.2 [INFO] [stderr] Checking pixels v0.2.0 [INFO] [stderr] Checking gb_emulator v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: mismatched closing delimiter: `}` [INFO] [stdout] --> src/cpu.rs:1179:9 [INFO] [stdout] | [INFO] [stdout] 1174 | if cpu.f & ZERO_FLAG == ZERO_FLAG { [INFO] [stdout] | - closing delimiter possibly meant for this [INFO] [stdout] 1175 | cpu.sp = cpu.sp.wrapping_sub(2); [INFO] [stdout] 1176 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2); [INFO] [stdout] | - unclosed delimiter [INFO] [stdout] ... [INFO] [stdout] 1179 | } else { cpu.pc += 2; } [INFO] [stdout] | ^ mismatched closing delimiter [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: mismatched closing delimiter: `}` [INFO] [stdout] --> src/cpu.rs:1179:9 [INFO] [stdout] | [INFO] [stdout] 1174 | if cpu.f & ZERO_FLAG == ZERO_FLAG { [INFO] [stdout] | - closing delimiter possibly meant for this [INFO] [stdout] 1175 | cpu.sp = cpu.sp.wrapping_sub(2); [INFO] [stdout] 1176 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2); [INFO] [stdout] | - unclosed delimiter [INFO] [stdout] ... [INFO] [stdout] 1179 | } else { cpu.pc += 2; } [INFO] [stdout] | ^ mismatched closing delimiter [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:124:32 [INFO] [stdout] | [INFO] [stdout] 124 | let hl = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:124:32 [INFO] [stdout] | [INFO] [stdout] 124 | let hl = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:125:32 [INFO] [stdout] | [INFO] [stdout] 125 | let bc = (cpu.b as u16 << 8) + cpu.c as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.b as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `:`, `;`, `=`, or `|`, found `hl` [INFO] [stdout] --> src/cpu.rs:126:20 [INFO] [stdout] | [INFO] [stdout] 126 | let (i, b) hl.overflowing_add(bc); [INFO] [stdout] | ^^ expected one of `:`, `;`, `=`, or `|` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:137:37 [INFO] [stdout] | [INFO] [stdout] 137 | let address = (cpu.b as u16 << 8) + cpu.c as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.b as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:125:32 [INFO] [stdout] | [INFO] [stdout] 125 | let bc = (cpu.b as u16 << 8) + cpu.c as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.b as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:230:37 [INFO] [stdout] | [INFO] [stdout] 230 | let hl: u16 = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `:`, `;`, `=`, or `|`, found `hl` [INFO] [stdout] --> src/cpu.rs:126:20 [INFO] [stdout] | [INFO] [stdout] 126 | let (i, b) hl.overflowing_add(bc); [INFO] [stdout] | ^^ expected one of `:`, `;`, `=`, or `|` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:231:37 [INFO] [stdout] | [INFO] [stdout] 231 | let de: u16 = (cpu.d as u16 << 8) + cpu.e as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.d as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found `=` [INFO] [stdout] --> src/cpu.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | let co = (cpu.a & 1 != = 0) as u8 0x10; [INFO] [stdout] | ^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:137:37 [INFO] [stdout] | [INFO] [stdout] 137 | let address = (cpu.b as u16 << 8) + cpu.c as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.b as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `!`, `(`, `.`, `::`, `;`, `<`, or `?`, found `0x10` [INFO] [stdout] --> src/cpu.rs:268:43 [INFO] [stdout] | [INFO] [stdout] 268 | let co = (cpu.a & 1 != = 0) as u8 0x10; [INFO] [stdout] | ^^^^ expected one of 7 possible tokens [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:230:37 [INFO] [stdout] | [INFO] [stdout] 230 | let hl: u16 = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:231:37 [INFO] [stdout] | [INFO] [stdout] 231 | let de: u16 = (cpu.d as u16 << 8) + cpu.e as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.d as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected expression, found `=` [INFO] [stdout] --> src/cpu.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | let co = (cpu.a & 1 != = 0) as u8 0x10; [INFO] [stdout] | ^ expected expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `!`, `(`, `.`, `::`, `;`, `<`, or `?`, found `0x10` [INFO] [stdout] --> src/cpu.rs:268:43 [INFO] [stdout] | [INFO] [stdout] 268 | let co = (cpu.a & 1 != = 0) as u8 0x10; [INFO] [stdout] | ^^^^ expected one of 7 possible tokens [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:291:45 [INFO] [stdout] | [INFO] [stdout] 291 | let mut address: u16 =(cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:331:37 [INFO] [stdout] | [INFO] [stdout] 331 | let hl: u16 = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:343:46 [INFO] [stdout] | [INFO] [stdout] 343 | let mut address: u16 = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `~` cannot be used as a unary operator [INFO] [stdout] --> src/cpu.rs:373:17 [INFO] [stdout] | [INFO] [stdout] 373 | cpu.a = ~cpu.a; [INFO] [stdout] | ^ help: use `!` to perform bitwise not [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:395:32 [INFO] [stdout] | [INFO] [stdout] 395 | let hl = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:404:40 [INFO] [stdout] | [INFO] [stdout] 404 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:413:40 [INFO] [stdout] | [INFO] [stdout] 413 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:422:37 [INFO] [stdout] | [INFO] [stdout] 422 | let address = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:439:32 [INFO] [stdout] | [INFO] [stdout] 439 | let hl = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:447:41 [INFO] [stdout] | [INFO] [stdout] 447 | let mut address = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:482:40 [INFO] [stdout] | [INFO] [stdout] 482 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:495:40 [INFO] [stdout] | [INFO] [stdout] 495 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:510:40 [INFO] [stdout] | [INFO] [stdout] 510 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:523:40 [INFO] [stdout] | [INFO] [stdout] 523 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:538:40 [INFO] [stdout] | [INFO] [stdout] 538 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:551:40 [INFO] [stdout] | [INFO] [stdout] 551 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:560:40 [INFO] [stdout] | [INFO] [stdout] 560 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:566:40 [INFO] [stdout] | [INFO] [stdout] 566 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:572:40 [INFO] [stdout] | [INFO] [stdout] 572 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:578:40 [INFO] [stdout] | [INFO] [stdout] 578 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:584:40 [INFO] [stdout] | [INFO] [stdout] 584 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:291:45 [INFO] [stdout] | [INFO] [stdout] 291 | let mut address: u16 =(cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:590:40 [INFO] [stdout] | [INFO] [stdout] 590 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:597:40 [INFO] [stdout] | [INFO] [stdout] 597 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:331:37 [INFO] [stdout] | [INFO] [stdout] 331 | let hl: u16 = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:609:40 [INFO] [stdout] | [INFO] [stdout] 609 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:343:46 [INFO] [stdout] | [INFO] [stdout] 343 | let mut address: u16 = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:729:40 [INFO] [stdout] | [INFO] [stdout] 729 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:800:40 [INFO] [stdout] | [INFO] [stdout] 800 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:870:40 [INFO] [stdout] | [INFO] [stdout] 870 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:929:40 [INFO] [stdout] | [INFO] [stdout] 929 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:978:40 [INFO] [stdout] | [INFO] [stdout] 978 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:1025:40 [INFO] [stdout] | [INFO] [stdout] 1025 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `~` cannot be used as a unary operator [INFO] [stdout] --> src/cpu.rs:373:17 [INFO] [stdout] | [INFO] [stdout] 373 | cpu.a = ~cpu.a; [INFO] [stdout] | ^ help: use `!` to perform bitwise not [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:395:32 [INFO] [stdout] | [INFO] [stdout] 395 | let hl = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:404:40 [INFO] [stdout] | [INFO] [stdout] 404 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:413:40 [INFO] [stdout] | [INFO] [stdout] 413 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:422:37 [INFO] [stdout] | [INFO] [stdout] 422 | let address = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:439:32 [INFO] [stdout] | [INFO] [stdout] 439 | let hl = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:447:41 [INFO] [stdout] | [INFO] [stdout] 447 | let mut address = (cpu.h as u16 << 8) + cpu.l as u16; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:482:40 [INFO] [stdout] | [INFO] [stdout] 482 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:495:40 [INFO] [stdout] | [INFO] [stdout] 495 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:510:40 [INFO] [stdout] | [INFO] [stdout] 510 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:523:40 [INFO] [stdout] | [INFO] [stdout] 523 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:538:40 [INFO] [stdout] | [INFO] [stdout] 538 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:551:40 [INFO] [stdout] | [INFO] [stdout] 551 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:560:40 [INFO] [stdout] | [INFO] [stdout] 560 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:566:40 [INFO] [stdout] | [INFO] [stdout] 566 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:1080:40 [INFO] [stdout] | [INFO] [stdout] 1080 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:572:40 [INFO] [stdout] | [INFO] [stdout] 572 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:578:40 [INFO] [stdout] | [INFO] [stdout] 578 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:1133:35 [INFO] [stdout] | [INFO] [stdout] 1133 | let value = (cpu.b as u16 << 8) + (cpu.c as u16); [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.b as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:584:40 [INFO] [stdout] | [INFO] [stdout] 584 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:590:40 [INFO] [stdout] | [INFO] [stdout] 590 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:1229:35 [INFO] [stdout] | [INFO] [stdout] 1229 | let value = (cpu.d as u16 << 8) + (cpu.e as u16); [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.d as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:597:40 [INFO] [stdout] | [INFO] [stdout] 597 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:1302:35 [INFO] [stdout] | [INFO] [stdout] 1302 | let value = (cpu.h as u16 << 8) + (cpu.l as u16); [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:609:40 [INFO] [stdout] | [INFO] [stdout] 609 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:1347:35 [INFO] [stdout] | [INFO] [stdout] 1347 | let value = (cpu.a as u16 << 8) + (cpu.f as u16); [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.a as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:729:40 [INFO] [stdout] | [INFO] [stdout] 729 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:800:40 [INFO] [stdout] | [INFO] [stdout] 800 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:870:40 [INFO] [stdout] | [INFO] [stdout] 870 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:929:40 [INFO] [stdout] | [INFO] [stdout] 929 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:978:40 [INFO] [stdout] | [INFO] [stdout] 978 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:1025:40 [INFO] [stdout] | [INFO] [stdout] 1025 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:1080:40 [INFO] [stdout] | [INFO] [stdout] 1080 | let mut address = cpu.h as u16 << 8; [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:1133:35 [INFO] [stdout] | [INFO] [stdout] 1133 | let value = (cpu.b as u16 << 8) + (cpu.c as u16); [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.b as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:1229:35 [INFO] [stdout] | [INFO] [stdout] 1229 | let value = (cpu.d as u16 << 8) + (cpu.e as u16); [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.d as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:1302:35 [INFO] [stdout] | [INFO] [stdout] 1302 | let value = (cpu.h as u16 << 8) + (cpu.l as u16); [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.h as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `<` is interpreted as a start of generic arguments for `u16`, not a shift [INFO] [stdout] --> src/cpu.rs:1347:35 [INFO] [stdout] | [INFO] [stdout] 1347 | let value = (cpu.a as u16 << 8) + (cpu.f as u16); [INFO] [stdout] | ------------ ^^ - interpreted as generic arguments [INFO] [stdout] | | | [INFO] [stdout] | | not interpreted as shift [INFO] [stdout] | help: try shifting the cast value: `(cpu.a as u16)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: no rules expected the token `;` [INFO] [stdout] --> src/cpu.rs:1176:74 [INFO] [stdout] | [INFO] [stdout] 1176 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2); [INFO] [stdout] | ^ no rules expected this token in macro call [INFO] [stdout] | [INFO] [stdout] ::: src/mmu.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | macro_rules! mem_access_w { [INFO] [stdout] | ------------------------- when calling this macro [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/mmu.rs:86:30 [INFO] [stdout] | [INFO] [stdout] 86 | let mut value: u16 = (self.mem[address] as u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: no rules expected the token `;` [INFO] [stdout] --> src/cpu.rs:1176:74 [INFO] [stdout] | [INFO] [stdout] 1176 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2); [INFO] [stdout] | ^ no rules expected this token in macro call [INFO] [stdout] | [INFO] [stdout] ::: src/mmu.rs:32:1 [INFO] [stdout] | [INFO] [stdout] 32 | macro_rules! mem_access_w { [INFO] [stdout] | ------------------------- when calling this macro [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: missing type for `static` item [INFO] [stdout] --> src/cpu.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | static undefined = |x: u16| { panic!("Hit undefined instruction at {:?}", stringify!(x - 1)); }; [INFO] [stdout] | ^^^^^^^^^ help: provide a type for the item: `undefined: [closure@src/cpu.rs:72:20: 72:96]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/mmu.rs:86:30 [INFO] [stdout] | [INFO] [stdout] 86 | let mut value: u16 = (self.mem[address] as u16); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:120:40 [INFO] [stdout] | [INFO] [stdout] 120 | mem_access_w!(cpu.memory_unit, address, cpu.sp); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:120:49 [INFO] [stdout] | [INFO] [stdout] 120 | mem_access_w!(cpu.memory_unit, address, cpu.sp); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 120 | mem_access_w!(cpu.memory_unit, address, cpu.sp.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:138:48 [INFO] [stdout] | [INFO] [stdout] 138 | cpu.a = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: missing type for `static` item [INFO] [stdout] --> src/cpu.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | static undefined = |x: u16| { panic!("Hit undefined instruction at {:?}", stringify!(x - 1)); }; [INFO] [stdout] | ^^^^^^^^^ help: provide a type for the item: `undefined: [closure@src/cpu.rs:72:20: 72:96]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:120:40 [INFO] [stdout] | [INFO] [stdout] 120 | mem_access_w!(cpu.memory_unit, address, cpu.sp); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:120:49 [INFO] [stdout] | [INFO] [stdout] 120 | mem_access_w!(cpu.memory_unit, address, cpu.sp); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 120 | mem_access_w!(cpu.memory_unit, address, cpu.sp.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:138:48 [INFO] [stdout] | [INFO] [stdout] 138 | cpu.a = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `wrapping_add` found for mutable reference `&mut Z80` in the current scope [INFO] [stdout] --> src/cpu.rs:146:21 [INFO] [stdout] | [INFO] [stdout] 146 | cpu.c = cpu.wrapping_add(1); [INFO] [stdout] | ^^^^^^^^^^^^ method not found in `&mut Z80` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `wrapping_add` found for mutable reference `&mut Z80` in the current scope [INFO] [stdout] --> src/cpu.rs:146:21 [INFO] [stdout] | [INFO] [stdout] 146 | cpu.c = cpu.wrapping_add(1); [INFO] [stdout] | ^^^^^^^^^^^^ method not found in `&mut Z80` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:177:22 [INFO] [stdout] | [INFO] [stdout] 177 | cpu.pc = (cpu.pc as i16).wrapping_add(offset as i16) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:177:22 [INFO] [stdout] | [INFO] [stdout] 177 | cpu.pc = (cpu.pc as i16).wrapping_add(offset as i16) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:226:18 [INFO] [stdout] | [INFO] [stdout] 226 | cpu.pc = (cpu.pc as i16 + (offset as i8) as i16) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:280:22 [INFO] [stdout] | [INFO] [stdout] 280 | cpu.pc = (cpu.pc as i16 + offset as i16) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:226:18 [INFO] [stdout] | [INFO] [stdout] 226 | cpu.pc = (cpu.pc as i16 + (offset as i8) as i16) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:292:40 [INFO] [stdout] | [INFO] [stdout] 292 | mem_access_b!(cpu.memory_unit, address, cpu.a); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:320:33 [INFO] [stdout] | [INFO] [stdout] 320 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 320 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:326:22 [INFO] [stdout] | [INFO] [stdout] 326 | cpu.pc = (cpu.pc as i16 + offset as i16) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:344:48 [INFO] [stdout] | [INFO] [stdout] 344 | cpu.a = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:280:22 [INFO] [stdout] | [INFO] [stdout] 280 | cpu.pc = (cpu.pc as i16 + offset as i16) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:292:40 [INFO] [stdout] | [INFO] [stdout] 292 | mem_access_b!(cpu.memory_unit, address, cpu.a); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:320:33 [INFO] [stdout] | [INFO] [stdout] 320 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 320 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | cpu.pc = (cpu.pc as i16 + offset as i16) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:326:22 [INFO] [stdout] | [INFO] [stdout] 326 | cpu.pc = (cpu.pc as i16 + offset as i16) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:390:18 [INFO] [stdout] | [INFO] [stdout] 390 | cpu.sp = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:396:40 [INFO] [stdout] | [INFO] [stdout] 396 | mem_access_b!(cpu.memory_unit, hl, cpu.a); [INFO] [stdout] | ^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `hl.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:344:48 [INFO] [stdout] | [INFO] [stdout] 344 | cpu.a = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:406:50 [INFO] [stdout] | [INFO] [stdout] 406 | let val = mem_access_b!(cpu.memory_unit, address).wrapping_add(1); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:407:40 [INFO] [stdout] | [INFO] [stdout] 407 | mem_access_b!(cpu.memory_unit, address, val); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:415:50 [INFO] [stdout] | [INFO] [stdout] 415 | let val = mem_access_b!(cpu.memory_unit, address).wrapping_sub(1); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:416:40 [INFO] [stdout] | [INFO] [stdout] 416 | mem_access_b!(cpu.memory_unit, address, val); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:424:40 [INFO] [stdout] | [INFO] [stdout] 424 | mem_access_b!(cpu.memory_unit, address, val); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:434:22 [INFO] [stdout] | [INFO] [stdout] 434 | cpu.pc = (cpu.pc as i16 + offset as i16) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:440:41 [INFO] [stdout] | [INFO] [stdout] 440 | let (i, b) = hl.overflowing_add(cpu.sp); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 440 | let (i, b) = hl.overflowing_add(cpu.sp.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:448:48 [INFO] [stdout] | [INFO] [stdout] 448 | cpu.a = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:484:48 [INFO] [stdout] | [INFO] [stdout] 484 | cpu.b = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:385:22 [INFO] [stdout] | [INFO] [stdout] 385 | cpu.pc = (cpu.pc as i16 + offset as i16) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:390:18 [INFO] [stdout] | [INFO] [stdout] 390 | cpu.sp = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:396:40 [INFO] [stdout] | [INFO] [stdout] 396 | mem_access_b!(cpu.memory_unit, hl, cpu.a); [INFO] [stdout] | ^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `hl.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:406:50 [INFO] [stdout] | [INFO] [stdout] 406 | let val = mem_access_b!(cpu.memory_unit, address).wrapping_add(1); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:407:40 [INFO] [stdout] | [INFO] [stdout] 407 | mem_access_b!(cpu.memory_unit, address, val); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:497:48 [INFO] [stdout] | [INFO] [stdout] 497 | cpu.c = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:415:50 [INFO] [stdout] | [INFO] [stdout] 415 | let val = mem_access_b!(cpu.memory_unit, address).wrapping_sub(1); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:416:40 [INFO] [stdout] | [INFO] [stdout] 416 | mem_access_b!(cpu.memory_unit, address, val); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:512:48 [INFO] [stdout] | [INFO] [stdout] 512 | cpu.d = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:525:48 [INFO] [stdout] | [INFO] [stdout] 525 | cpu.e = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:424:40 [INFO] [stdout] | [INFO] [stdout] 424 | mem_access_b!(cpu.memory_unit, address, val); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:540:48 [INFO] [stdout] | [INFO] [stdout] 540 | cpu.h = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:553:48 [INFO] [stdout] | [INFO] [stdout] 553 | cpu.h = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:434:22 [INFO] [stdout] | [INFO] [stdout] 434 | cpu.pc = (cpu.pc as i16 + offset as i16) as u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `usize`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:440:41 [INFO] [stdout] | [INFO] [stdout] 440 | let (i, b) = hl.overflowing_add(cpu.sp); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 440 | let (i, b) = hl.overflowing_add(cpu.sp.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:562:40 [INFO] [stdout] | [INFO] [stdout] 562 | mem_access_b!(cpu.memory_unit, address, cpu.b); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:448:48 [INFO] [stdout] | [INFO] [stdout] 448 | cpu.a = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:568:40 [INFO] [stdout] | [INFO] [stdout] 568 | mem_access_b!(cpu.memory_unit, address, cpu.c); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:574:40 [INFO] [stdout] | [INFO] [stdout] 574 | mem_access_b!(cpu.memory_unit, address, cpu.d); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:580:40 [INFO] [stdout] | [INFO] [stdout] 580 | mem_access_b!(cpu.memory_unit, address, cpu.e); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:586:40 [INFO] [stdout] | [INFO] [stdout] 586 | mem_access_b!(cpu.memory_unit, address, cpu.h); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:484:48 [INFO] [stdout] | [INFO] [stdout] 484 | cpu.b = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:592:40 [INFO] [stdout] | [INFO] [stdout] 592 | mem_access_b!(cpu.memory_unit, address, cpu.l); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:599:40 [INFO] [stdout] | [INFO] [stdout] 599 | mem_access_b!(cpu.memory_unit, address, cpu.a); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:497:48 [INFO] [stdout] | [INFO] [stdout] 497 | cpu.c = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:512:48 [INFO] [stdout] | [INFO] [stdout] 512 | cpu.d = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:611:48 [INFO] [stdout] | [INFO] [stdout] 611 | cpu.a = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:525:48 [INFO] [stdout] | [INFO] [stdout] 525 | cpu.e = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:540:48 [INFO] [stdout] | [INFO] [stdout] 540 | cpu.h = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `overfowing_add` found for type `u8` in the current scope [INFO] [stdout] --> src/cpu.rs:667:30 [INFO] [stdout] | [INFO] [stdout] 667 | let (val, b) = cpu.a.overfowing_add(cpu.a); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: there is an associated function with a similar name: `overflowing_add` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:553:48 [INFO] [stdout] | [INFO] [stdout] 553 | cpu.h = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:562:40 [INFO] [stdout] | [INFO] [stdout] 562 | mem_access_b!(cpu.memory_unit, address, cpu.b); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:731:48 [INFO] [stdout] | [INFO] [stdout] 731 | let i = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:802:50 [INFO] [stdout] | [INFO] [stdout] 802 | let val = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:568:40 [INFO] [stdout] | [INFO] [stdout] 568 | mem_access_b!(cpu.memory_unit, address, cpu.c); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:574:40 [INFO] [stdout] | [INFO] [stdout] 574 | mem_access_b!(cpu.memory_unit, address, cpu.d); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:580:40 [INFO] [stdout] | [INFO] [stdout] 580 | mem_access_b!(cpu.memory_unit, address, cpu.e); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:586:40 [INFO] [stdout] | [INFO] [stdout] 586 | mem_access_b!(cpu.memory_unit, address, cpu.h); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:592:40 [INFO] [stdout] | [INFO] [stdout] 592 | mem_access_b!(cpu.memory_unit, address, cpu.l); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:599:40 [INFO] [stdout] | [INFO] [stdout] 599 | mem_access_b!(cpu.memory_unit, address, cpu.a); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:611:48 [INFO] [stdout] | [INFO] [stdout] 611 | cpu.a = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:872:48 [INFO] [stdout] | [INFO] [stdout] 872 | let i = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:931:49 [INFO] [stdout] | [INFO] [stdout] 931 | cpu.a &= mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0600]: cannot apply unary operator `-` to type `u8` [INFO] [stdout] --> src/cpu.rs:950:32 [INFO] [stdout] | [INFO] [stdout] 950 | if cpu.a == 0 { cpu.f |- ZERO_FLAG; } [INFO] [stdout] | ^^^^^^^^^^^ cannot apply unary operator `-` [INFO] [stdout] | [INFO] [stdout] = note: unsigned values cannot be negated [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:980:49 [INFO] [stdout] | [INFO] [stdout] 980 | cpu.a ^= mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `overfowing_add` found for type `u8` in the current scope [INFO] [stdout] --> src/cpu.rs:667:30 [INFO] [stdout] | [INFO] [stdout] 667 | let (val, b) = cpu.a.overfowing_add(cpu.a); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: there is an associated function with a similar name: `overflowing_add` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1027:49 [INFO] [stdout] | [INFO] [stdout] 1027 | cpu.a |= mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:731:48 [INFO] [stdout] | [INFO] [stdout] 731 | let i = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:802:50 [INFO] [stdout] | [INFO] [stdout] 802 | let val = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1082:50 [INFO] [stdout] | [INFO] [stdout] 1082 | let val = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1099:22 [INFO] [stdout] | [INFO] [stdout] 1099 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:872:48 [INFO] [stdout] | [INFO] [stdout] 872 | let i = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1107:17 [INFO] [stdout] | [INFO] [stdout] 1107 | cpu.b = value >> 8 as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1108:25 [INFO] [stdout] | [INFO] [stdout] 1108 | cpu.c = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^ expected `u16`, found `u8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1108:17 [INFO] [stdout] | [INFO] [stdout] 1108 | cpu.c = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:931:49 [INFO] [stdout] | [INFO] [stdout] 931 | cpu.a &= mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: no implementation for `u16 & u8` [INFO] [stdout] --> src/cpu.rs:1108:23 [INFO] [stdout] | [INFO] [stdout] 1108 | cpu.c = value & 0xff as u8; [INFO] [stdout] | ^ no implementation for `u16 & u8` [INFO] [stdout] | [INFO] [stdout] = help: the trait `BitAnd` is not implemented for `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1114:22 [INFO] [stdout] | [INFO] [stdout] 1114 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0600]: cannot apply unary operator `-` to type `u8` [INFO] [stdout] --> src/cpu.rs:950:32 [INFO] [stdout] | [INFO] [stdout] 950 | if cpu.a == 0 { cpu.f |- ZERO_FLAG; } [INFO] [stdout] | ^^^^^^^^^^^ cannot apply unary operator `-` [INFO] [stdout] | [INFO] [stdout] = note: unsigned values cannot be negated [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:980:49 [INFO] [stdout] | [INFO] [stdout] 980 | cpu.a ^= mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1119:18 [INFO] [stdout] | [INFO] [stdout] 1119 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1126:52 [INFO] [stdout] | [INFO] [stdout] 1126 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1126 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2).try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1027:49 [INFO] [stdout] | [INFO] [stdout] 1027 | cpu.a |= mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1127:22 [INFO] [stdout] | [INFO] [stdout] 1127 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1082:50 [INFO] [stdout] | [INFO] [stdout] 1082 | let val = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1148:48 [INFO] [stdout] | [INFO] [stdout] 1148 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1148 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1155:22 [INFO] [stdout] | [INFO] [stdout] 1155 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1099:22 [INFO] [stdout] | [INFO] [stdout] 1099 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1107:17 [INFO] [stdout] | [INFO] [stdout] 1107 | cpu.b = value >> 8 as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1108:25 [INFO] [stdout] | [INFO] [stdout] 1108 | cpu.c = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^ expected `u16`, found `u8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1108:17 [INFO] [stdout] | [INFO] [stdout] 1108 | cpu.c = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1161:18 [INFO] [stdout] | [INFO] [stdout] 1161 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); cpu.sp += 2; [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1167:22 [INFO] [stdout] | [INFO] [stdout] 1167 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1183:48 [INFO] [stdout] | [INFO] [stdout] 1183 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1183 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2).try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: no implementation for `u16 & u8` [INFO] [stdout] --> src/cpu.rs:1108:23 [INFO] [stdout] | [INFO] [stdout] 1108 | cpu.c = value & 0xff as u8; [INFO] [stdout] | ^ no implementation for `u16 & u8` [INFO] [stdout] | [INFO] [stdout] = help: the trait `BitAnd` is not implemented for `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1114:22 [INFO] [stdout] | [INFO] [stdout] 1114 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1184:18 [INFO] [stdout] | [INFO] [stdout] 1184 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1190:48 [INFO] [stdout] | [INFO] [stdout] 1190 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1190 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1119:18 [INFO] [stdout] | [INFO] [stdout] 1119 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1126:52 [INFO] [stdout] | [INFO] [stdout] 1126 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1126 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2).try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1199:22 [INFO] [stdout] | [INFO] [stdout] 1199 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1207:17 [INFO] [stdout] | [INFO] [stdout] 1207 | cpu.d = value >> 8 as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1208:25 [INFO] [stdout] | [INFO] [stdout] 1208 | cpu.e = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^ expected `u16`, found `u8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1208:17 [INFO] [stdout] | [INFO] [stdout] 1208 | cpu.e = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1127:22 [INFO] [stdout] | [INFO] [stdout] 1127 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: no implementation for `u16 & u8` [INFO] [stdout] --> src/cpu.rs:1208:23 [INFO] [stdout] | [INFO] [stdout] 1208 | cpu.e = value & 0xff as u8; [INFO] [stdout] | ^ no implementation for `u16 & u8` [INFO] [stdout] | [INFO] [stdout] = help: the trait `BitAnd` is not implemented for `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1148:48 [INFO] [stdout] | [INFO] [stdout] 1148 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1148 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1214:22 [INFO] [stdout] | [INFO] [stdout] 1214 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1218:33 [INFO] [stdout] | [INFO] [stdout] 1218 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1218 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1155:22 [INFO] [stdout] | [INFO] [stdout] 1155 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1222:22 [INFO] [stdout] | [INFO] [stdout] 1222 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1161:18 [INFO] [stdout] | [INFO] [stdout] 1161 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); cpu.sp += 2; [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1244:48 [INFO] [stdout] | [INFO] [stdout] 1244 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1244 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1167:22 [INFO] [stdout] | [INFO] [stdout] 1167 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1183:48 [INFO] [stdout] | [INFO] [stdout] 1183 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1183 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2).try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1251:22 [INFO] [stdout] | [INFO] [stdout] 1251 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1184:18 [INFO] [stdout] | [INFO] [stdout] 1184 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1258:18 [INFO] [stdout] | [INFO] [stdout] 1258 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1190:48 [INFO] [stdout] | [INFO] [stdout] 1190 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1190 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1199:22 [INFO] [stdout] | [INFO] [stdout] 1199 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1207:17 [INFO] [stdout] | [INFO] [stdout] 1207 | cpu.d = value >> 8 as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1208:25 [INFO] [stdout] | [INFO] [stdout] 1208 | cpu.e = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^ expected `u16`, found `u8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1208:17 [INFO] [stdout] | [INFO] [stdout] 1208 | cpu.e = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: no implementation for `u16 & u8` [INFO] [stdout] --> src/cpu.rs:1208:23 [INFO] [stdout] | [INFO] [stdout] 1208 | cpu.e = value & 0xff as u8; [INFO] [stdout] | ^ no implementation for `u16 & u8` [INFO] [stdout] | [INFO] [stdout] = help: the trait `BitAnd` is not implemented for `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1265:22 [INFO] [stdout] | [INFO] [stdout] 1265 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1214:22 [INFO] [stdout] | [INFO] [stdout] 1214 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1269:33 [INFO] [stdout] | [INFO] [stdout] 1269 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1269 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1218:33 [INFO] [stdout] | [INFO] [stdout] 1218 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1218 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1274:52 [INFO] [stdout] | [INFO] [stdout] 1274 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1274 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2).try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1222:22 [INFO] [stdout] | [INFO] [stdout] 1222 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1275:22 [INFO] [stdout] | [INFO] [stdout] 1275 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1279:33 [INFO] [stdout] | [INFO] [stdout] 1279 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1279 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1283:48 [INFO] [stdout] | [INFO] [stdout] 1283 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1283 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1244:48 [INFO] [stdout] | [INFO] [stdout] 1244 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1244 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1293:17 [INFO] [stdout] | [INFO] [stdout] 1293 | cpu.h = value >> 8 as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1294:25 [INFO] [stdout] | [INFO] [stdout] 1294 | cpu.l = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^ expected `u16`, found `u8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1294:17 [INFO] [stdout] | [INFO] [stdout] 1294 | cpu.l = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1251:22 [INFO] [stdout] | [INFO] [stdout] 1251 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: no implementation for `u16 & u8` [INFO] [stdout] --> src/cpu.rs:1294:23 [INFO] [stdout] | [INFO] [stdout] 1294 | cpu.l = value & 0xff as u8; [INFO] [stdout] | ^ no implementation for `u16 & u8` [INFO] [stdout] | [INFO] [stdout] = help: the trait `BitAnd` is not implemented for `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1298:33 [INFO] [stdout] | [INFO] [stdout] 1298 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1298 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1299:33 [INFO] [stdout] | [INFO] [stdout] 1299 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1299 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1258:18 [INFO] [stdout] | [INFO] [stdout] 1258 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1265:22 [INFO] [stdout] | [INFO] [stdout] 1265 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1269:33 [INFO] [stdout] | [INFO] [stdout] 1269 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1269 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1274:52 [INFO] [stdout] | [INFO] [stdout] 1274 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1274 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2).try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1315:48 [INFO] [stdout] | [INFO] [stdout] 1315 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1315 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1275:22 [INFO] [stdout] | [INFO] [stdout] 1275 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.pc); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1279:33 [INFO] [stdout] | [INFO] [stdout] 1279 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1279 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1322:33 [INFO] [stdout] | [INFO] [stdout] 1322 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1322 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1323:33 [INFO] [stdout] | [INFO] [stdout] 1323 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1323 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1283:48 [INFO] [stdout] | [INFO] [stdout] 1283 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1283 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1324:33 [INFO] [stdout] | [INFO] [stdout] 1324 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1324 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1328:48 [INFO] [stdout] | [INFO] [stdout] 1328 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1328 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1293:17 [INFO] [stdout] | [INFO] [stdout] 1293 | cpu.h = value >> 8 as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1294:25 [INFO] [stdout] | [INFO] [stdout] 1294 | cpu.l = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^ expected `u16`, found `u8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1294:17 [INFO] [stdout] | [INFO] [stdout] 1294 | cpu.l = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1338:17 [INFO] [stdout] | [INFO] [stdout] 1338 | cpu.a = value >> 8 as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1339:25 [INFO] [stdout] | [INFO] [stdout] 1339 | cpu.f = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^ expected `u16`, found `u8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1339:17 [INFO] [stdout] | [INFO] [stdout] 1339 | cpu.f = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: no implementation for `u16 & u8` [INFO] [stdout] --> src/cpu.rs:1294:23 [INFO] [stdout] | [INFO] [stdout] 1294 | cpu.l = value & 0xff as u8; [INFO] [stdout] | ^ no implementation for `u16 & u8` [INFO] [stdout] | [INFO] [stdout] = help: the trait `BitAnd` is not implemented for `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1298:33 [INFO] [stdout] | [INFO] [stdout] 1298 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1298 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1299:33 [INFO] [stdout] | [INFO] [stdout] 1299 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1299 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: no implementation for `u16 & u8` [INFO] [stdout] --> src/cpu.rs:1339:23 [INFO] [stdout] | [INFO] [stdout] 1339 | cpu.f = value & 0xff as u8; [INFO] [stdout] | ^ no implementation for `u16 & u8` [INFO] [stdout] | [INFO] [stdout] = help: the trait `BitAnd` is not implemented for `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1344:33 [INFO] [stdout] | [INFO] [stdout] 1344 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1344 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1315:48 [INFO] [stdout] | [INFO] [stdout] 1315 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1315 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1360:48 [INFO] [stdout] | [INFO] [stdout] 1360 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1360 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1322:33 [INFO] [stdout] | [INFO] [stdout] 1322 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1322 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1365:33 [INFO] [stdout] | [INFO] [stdout] 1365 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1365 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1323:33 [INFO] [stdout] | [INFO] [stdout] 1323 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1323 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1324:33 [INFO] [stdout] | [INFO] [stdout] 1324 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1324 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1368:48 [INFO] [stdout] | [INFO] [stdout] 1368 | cpu.a = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1328:48 [INFO] [stdout] | [INFO] [stdout] 1328 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1328 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1373:33 [INFO] [stdout] | [INFO] [stdout] 1373 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1373 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1374:33 [INFO] [stdout] | [INFO] [stdout] 1374 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1374 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1338:17 [INFO] [stdout] | [INFO] [stdout] 1338 | cpu.a = value >> 8 as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1339:25 [INFO] [stdout] | [INFO] [stdout] 1339 | cpu.f = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^ expected `u16`, found `u8` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1339:17 [INFO] [stdout] | [INFO] [stdout] 1339 | cpu.f = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1386:48 [INFO] [stdout] | [INFO] [stdout] 1386 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1386 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: no implementation for `u16 & u8` [INFO] [stdout] --> src/cpu.rs:1339:23 [INFO] [stdout] | [INFO] [stdout] 1339 | cpu.f = value & 0xff as u8; [INFO] [stdout] | ^ no implementation for `u16 & u8` [INFO] [stdout] | [INFO] [stdout] = help: the trait `BitAnd` is not implemented for `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1344:33 [INFO] [stdout] | [INFO] [stdout] 1344 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1344 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1360:48 [INFO] [stdout] | [INFO] [stdout] 1360 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1360 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1365:33 [INFO] [stdout] | [INFO] [stdout] 1365 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1365 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1368:48 [INFO] [stdout] | [INFO] [stdout] 1368 | cpu.a = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1373:33 [INFO] [stdout] | [INFO] [stdout] 1373 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1373 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1374:33 [INFO] [stdout] | [INFO] [stdout] 1374 | |cpu: &mut Z80| { undefined(cpu.pc); }, [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1374 | |cpu: &mut Z80| { undefined(cpu.pc.try_into().unwrap()); }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1386:48 [INFO] [stdout] | [INFO] [stdout] 1386 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc); [INFO] [stdout] | ^^^^^^ expected `u16`, found `usize` [INFO] [stdout] | [INFO] [stdout] help: you can convert a `usize` to a `u16` and panic if the converted value doesn't fit [INFO] [stdout] | [INFO] [stdout] 1386 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 146 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599, E0600. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `gb_emulator` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 146 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0599, E0600. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "93654154e25bf7b0935f79eb49422b4eddc29de7f836564c9388c1789ccd1b51", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "93654154e25bf7b0935f79eb49422b4eddc29de7f836564c9388c1789ccd1b51", kill_on_drop: false }` [INFO] [stdout] 93654154e25bf7b0935f79eb49422b4eddc29de7f836564c9388c1789ccd1b51