[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] dddfa6d32b8654914923519c8ed9f27b62268fac [INFO] checking VictorFordham/rust_gb_emulator against master#a836d9b6413d9d593be6c09463ff8c4c70e56599 for pr-84037 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVictorFordham%2Frust_gb_emulator" "/workspace/builds/worker-2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/VictorFordham/rust_gb_emulator on toolchain a836d9b6413d9d593be6c09463ff8c4c70e56599 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a836d9b6413d9d593be6c09463ff8c4c70e56599" "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-2/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" "+a836d9b6413d9d593be6c09463ff8c4c70e56599" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+a836d9b6413d9d593be6c09463ff8c4c70e56599" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5944d6666c0a2c459ac76312c0b5d956c91f77912d60d0f02cf8d4e77f1dfb59 [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" "5944d6666c0a2c459ac76312c0b5d956c91f77912d60d0f02cf8d4e77f1dfb59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5944d6666c0a2c459ac76312c0b5d956c91f77912d60d0f02cf8d4e77f1dfb59", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5944d6666c0a2c459ac76312c0b5d956c91f77912d60d0f02cf8d4e77f1dfb59", kill_on_drop: false }` [INFO] [stdout] 5944d6666c0a2c459ac76312c0b5d956c91f77912d60d0f02cf8d4e77f1dfb59 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+a836d9b6413d9d593be6c09463ff8c4c70e56599" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a0280bd881599ae9e1c0171133a6f09ab2cf3e4094a945a9b782a14b5252f8de [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" "a0280bd881599ae9e1c0171133a6f09ab2cf3e4094a945a9b782a14b5252f8de", kill_on_drop: false }` [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling libc v0.2.88 [INFO] [stderr] Compiling proc-macro2 v1.0.24 [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] Checking slab v0.4.2 [INFO] [stderr] Compiling proc-macro-nested v0.1.7 [INFO] [stderr] Compiling pkg-config v0.3.19 [INFO] [stderr] Checking smallvec v1.6.1 [INFO] [stderr] Checking futures-sink v0.3.13 [INFO] [stderr] Checking futures-core v0.3.13 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking futures-task v0.3.13 [INFO] [stderr] Checking futures-io v0.3.13 [INFO] [stderr] Checking inplace_it v0.3.3 [INFO] [stderr] Checking bytemuck v1.5.1 [INFO] [stderr] Checking typed-arena v2.0.1 [INFO] [stderr] Checking pollster v0.2.1 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking libloading v0.6.7 [INFO] [stderr] Checking instant v0.1.9 [INFO] [stderr] Checking tracing-core v0.1.17 [INFO] [stderr] Checking lock_api v0.4.2 [INFO] [stderr] Checking futures-channel v0.3.13 [INFO] [stderr] Checking wide v0.4.6 [INFO] [stderr] Checking ash v0.31.0 [INFO] [stderr] Checking wgpu-types v0.6.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling x11 v2.18.2 [INFO] [stderr] Checking tracing v0.1.25 [INFO] [stderr] Checking ultraviolet v0.4.6 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking raw-window-handle v0.3.3 [INFO] [stderr] Checking parking_lot_core v0.8.3 [INFO] [stderr] Checking gfx-hal v0.6.0 [INFO] [stderr] Checking parking_lot v0.11.1 [INFO] [stderr] Checking spirv_headers v1.5.0 [INFO] [stderr] Checking gfx-backend-empty v0.6.0 [INFO] [stderr] Checking gfx-memory v0.2.2 [INFO] [stderr] Checking gfx-descriptor v0.2.0 [INFO] [stderr] Compiling futures-macro v0.3.13 [INFO] [stderr] Compiling thiserror-impl v1.0.24 [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:1187:9 [INFO] [stdout] | [INFO] [stdout] 1182 | if cpu.f & ZERO_FLAG == ZERO_FLAG { [INFO] [stdout] | - closing delimiter possibly meant for this [INFO] [stdout] 1183 | cpu.sp = cpu.sp.wrapping_sub(2); [INFO] [stdout] 1184 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2); [INFO] [stdout] | - unclosed delimiter [INFO] [stdout] ... [INFO] [stdout] 1187 | } 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: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: mismatched closing delimiter: `}` [INFO] [stdout] --> src/cpu.rs:1187:9 [INFO] [stdout] | [INFO] [stdout] 1182 | if cpu.f & ZERO_FLAG == ZERO_FLAG { [INFO] [stdout] | - closing delimiter possibly meant for this [INFO] [stdout] 1183 | cpu.sp = cpu.sp.wrapping_sub(2); [INFO] [stdout] 1184 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2); [INFO] [stdout] | - unclosed delimiter [INFO] [stdout] ... [INFO] [stdout] 1187 | } 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: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: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: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:666:37 [INFO] [stdout] | [INFO] [stdout] 666 | 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: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: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: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: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:666:37 [INFO] [stdout] | [INFO] [stdout] 666 | 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:737:40 [INFO] [stdout] | [INFO] [stdout] 737 | 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:808:40 [INFO] [stdout] | [INFO] [stdout] 808 | 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:878:40 [INFO] [stdout] | [INFO] [stdout] 878 | 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:937:40 [INFO] [stdout] | [INFO] [stdout] 937 | 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:986:40 [INFO] [stdout] | [INFO] [stdout] 986 | 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:1033:40 [INFO] [stdout] | [INFO] [stdout] 1033 | 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:1088:40 [INFO] [stdout] | [INFO] [stdout] 1088 | 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:1141:35 [INFO] [stdout] | [INFO] [stdout] 1141 | 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:1237:35 [INFO] [stdout] | [INFO] [stdout] 1237 | 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:1310:35 [INFO] [stdout] | [INFO] [stdout] 1310 | 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:1355:35 [INFO] [stdout] | [INFO] [stdout] 1355 | 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:737:40 [INFO] [stdout] | [INFO] [stdout] 737 | 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:808:40 [INFO] [stdout] | [INFO] [stdout] 808 | 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:878:40 [INFO] [stdout] | [INFO] [stdout] 878 | 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:937:40 [INFO] [stdout] | [INFO] [stdout] 937 | 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:986:40 [INFO] [stdout] | [INFO] [stdout] 986 | 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:1033:40 [INFO] [stdout] | [INFO] [stdout] 1033 | 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:1088:40 [INFO] [stdout] | [INFO] [stdout] 1088 | 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:1141:35 [INFO] [stdout] | [INFO] [stdout] 1141 | 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:1237:35 [INFO] [stdout] | [INFO] [stdout] 1237 | 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:1310:35 [INFO] [stdout] | [INFO] [stdout] 1310 | 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:1355:35 [INFO] [stdout] | [INFO] [stdout] 1355 | 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:1184:74 [INFO] [stdout] | [INFO] [stdout] 1184 | 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: no rules expected the token `;` [INFO] [stdout] --> src/cpu.rs:1184:74 [INFO] [stdout] | [INFO] [stdout] 1184 | 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] 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: 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: 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[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[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[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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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: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]: `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: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: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:667:77 [INFO] [stdout] | [INFO] [stdout] 667 | let (val, b) = cpu.a.overflowing_add(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[E0599]: no method named `overfowing_add` found for type `u8` in the current scope [INFO] [stdout] --> src/cpu.rs:675:30 [INFO] [stdout] | [INFO] [stdout] 675 | 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: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:739:48 [INFO] [stdout] | [INFO] [stdout] 739 | 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: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:810:50 [INFO] [stdout] | [INFO] [stdout] 810 | 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: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:880:48 [INFO] [stdout] | [INFO] [stdout] 880 | 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: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:939:49 [INFO] [stdout] | [INFO] [stdout] 939 | 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:958:32 [INFO] [stdout] | [INFO] [stdout] 958 | 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: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: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:988:49 [INFO] [stdout] | [INFO] [stdout] 988 | 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:1035:49 [INFO] [stdout] | [INFO] [stdout] 1035 | 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: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: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: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:1090:50 [INFO] [stdout] | [INFO] [stdout] 1090 | 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: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]: `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:1107:22 [INFO] [stdout] | [INFO] [stdout] 1107 | 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: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:1115:17 [INFO] [stdout] | [INFO] [stdout] 1115 | 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:1116:25 [INFO] [stdout] | [INFO] [stdout] 1116 | 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:1116:17 [INFO] [stdout] | [INFO] [stdout] 1116 | 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: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[E0277]: no implementation for `u16 & u8` [INFO] [stdout] --> src/cpu.rs:1116:23 [INFO] [stdout] | [INFO] [stdout] 1116 | 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]: mismatched types [INFO] [stdout] --> src/cpu.rs:667:77 [INFO] [stdout] | [INFO] [stdout] 667 | let (val, b) = cpu.a.overflowing_add(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:1122:22 [INFO] [stdout] | [INFO] [stdout] 1122 | 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:1127:18 [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:1134:52 [INFO] [stdout] | [INFO] [stdout] 1134 | 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] 1134 | 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:1135:22 [INFO] [stdout] | [INFO] [stdout] 1135 | 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:1156:48 [INFO] [stdout] | [INFO] [stdout] 1156 | 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] 1156 | 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:1163:22 [INFO] [stdout] | [INFO] [stdout] 1163 | 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[E0599]: no method named `overfowing_add` found for type `u8` in the current scope [INFO] [stdout] --> src/cpu.rs:675:30 [INFO] [stdout] | [INFO] [stdout] 675 | 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]: `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:1169:18 [INFO] [stdout] | [INFO] [stdout] 1169 | 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:739:48 [INFO] [stdout] | [INFO] [stdout] 739 | 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]: `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:1175:22 [INFO] [stdout] | [INFO] [stdout] 1175 | 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:1191:48 [INFO] [stdout] | [INFO] [stdout] 1191 | 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] 1191 | 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:810:50 [INFO] [stdout] | [INFO] [stdout] 810 | 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:1192:18 [INFO] [stdout] | [INFO] [stdout] 1192 | 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:1198:48 [INFO] [stdout] | [INFO] [stdout] 1198 | 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] 1198 | 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:1207:22 [INFO] [stdout] | [INFO] [stdout] 1207 | 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:1215:17 [INFO] [stdout] | [INFO] [stdout] 1215 | 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:1216:25 [INFO] [stdout] | [INFO] [stdout] 1216 | 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:1216:17 [INFO] [stdout] | [INFO] [stdout] 1216 | 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:1216:23 [INFO] [stdout] | [INFO] [stdout] 1216 | 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:1222:22 [INFO] [stdout] | [INFO] [stdout] 1222 | 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:1226:33 [INFO] [stdout] | [INFO] [stdout] 1226 | |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] 1226 | |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:1230:22 [INFO] [stdout] | [INFO] [stdout] 1230 | 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:1252:48 [INFO] [stdout] | [INFO] [stdout] 1252 | 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] 1252 | 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:880:48 [INFO] [stdout] | [INFO] [stdout] 880 | 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:939:49 [INFO] [stdout] | [INFO] [stdout] 939 | 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:958:32 [INFO] [stdout] | [INFO] [stdout] 958 | 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:988:49 [INFO] [stdout] | [INFO] [stdout] 988 | 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:1259:22 [INFO] [stdout] | [INFO] [stdout] 1259 | 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:1266:18 [INFO] [stdout] | [INFO] [stdout] 1266 | 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:1035:49 [INFO] [stdout] | [INFO] [stdout] 1035 | 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:1273:22 [INFO] [stdout] | [INFO] [stdout] 1273 | 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:1277:33 [INFO] [stdout] | [INFO] [stdout] 1277 | |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] 1277 | |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:1282:52 [INFO] [stdout] | [INFO] [stdout] 1282 | 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] 1282 | 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:1283:22 [INFO] [stdout] | [INFO] [stdout] 1283 | 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:1287:33 [INFO] [stdout] | [INFO] [stdout] 1287 | |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] 1287 | |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:1291:48 [INFO] [stdout] | [INFO] [stdout] 1291 | 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] 1291 | 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:1301:17 [INFO] [stdout] | [INFO] [stdout] 1301 | 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:1302:25 [INFO] [stdout] | [INFO] [stdout] 1302 | 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:1302:17 [INFO] [stdout] | [INFO] [stdout] 1302 | 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:1090:50 [INFO] [stdout] | [INFO] [stdout] 1090 | 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:1107:22 [INFO] [stdout] | [INFO] [stdout] 1107 | 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:1115:17 [INFO] [stdout] | [INFO] [stdout] 1115 | 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:1116:25 [INFO] [stdout] | [INFO] [stdout] 1116 | 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:1116:17 [INFO] [stdout] | [INFO] [stdout] 1116 | cpu.c = 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:1302:23 [INFO] [stdout] | [INFO] [stdout] 1302 | 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:1306:33 [INFO] [stdout] | [INFO] [stdout] 1306 | |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] 1306 | |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:1307:33 [INFO] [stdout] | [INFO] [stdout] 1307 | |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] 1307 | |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:48 [INFO] [stdout] | [INFO] [stdout] 1323 | 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] 1323 | 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:1116:23 [INFO] [stdout] | [INFO] [stdout] 1116 | 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]: mismatched types [INFO] [stdout] --> src/cpu.rs:1330:33 [INFO] [stdout] | [INFO] [stdout] 1330 | |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] 1330 | |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:1331:33 [INFO] [stdout] | [INFO] [stdout] 1331 | |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] 1331 | |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:1332:33 [INFO] [stdout] | [INFO] [stdout] 1332 | |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] 1332 | |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:1336:48 [INFO] [stdout] | [INFO] [stdout] 1336 | 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] 1336 | 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:1122:22 [INFO] [stdout] | [INFO] [stdout] 1122 | 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:1346:17 [INFO] [stdout] | [INFO] [stdout] 1346 | cpu.a = value >> 8 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:18 [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:1134:52 [INFO] [stdout] | [INFO] [stdout] 1134 | 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] 1134 | 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:1135:22 [INFO] [stdout] | [INFO] [stdout] 1135 | 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:1347:25 [INFO] [stdout] | [INFO] [stdout] 1347 | 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:1347:17 [INFO] [stdout] | [INFO] [stdout] 1347 | 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:1156:48 [INFO] [stdout] | [INFO] [stdout] 1156 | 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] 1156 | 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:1347:23 [INFO] [stdout] | [INFO] [stdout] 1347 | 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:1352:33 [INFO] [stdout] | [INFO] [stdout] 1352 | |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] 1352 | |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:1163:22 [INFO] [stdout] | [INFO] [stdout] 1163 | 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:1169:18 [INFO] [stdout] | [INFO] [stdout] 1169 | 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:1175:22 [INFO] [stdout] | [INFO] [stdout] 1175 | 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:1191:48 [INFO] [stdout] | [INFO] [stdout] 1191 | 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] 1191 | 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:1192:18 [INFO] [stdout] | [INFO] [stdout] 1192 | 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:1198:48 [INFO] [stdout] | [INFO] [stdout] 1198 | 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] 1198 | 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:1368:48 [INFO] [stdout] | [INFO] [stdout] 1368 | 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] 1368 | 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]: `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:1207:22 [INFO] [stdout] | [INFO] [stdout] 1207 | 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:1376:48 [INFO] [stdout] | [INFO] [stdout] 1376 | 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:1215:17 [INFO] [stdout] | [INFO] [stdout] 1215 | 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:1216:25 [INFO] [stdout] | [INFO] [stdout] 1216 | 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:1216:17 [INFO] [stdout] | [INFO] [stdout] 1216 | cpu.e = 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:1381:33 [INFO] [stdout] | [INFO] [stdout] 1381 | |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] 1381 | |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:1382:33 [INFO] [stdout] | [INFO] [stdout] 1382 | |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] 1382 | |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:1216:23 [INFO] [stdout] | [INFO] [stdout] 1216 | 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:1222:22 [INFO] [stdout] | [INFO] [stdout] 1222 | 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:1226:33 [INFO] [stdout] | [INFO] [stdout] 1226 | |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] 1226 | |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:1394:48 [INFO] [stdout] | [INFO] [stdout] 1394 | 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] 1394 | 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:1230:22 [INFO] [stdout] | [INFO] [stdout] 1230 | 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:1252:48 [INFO] [stdout] | [INFO] [stdout] 1252 | 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] 1252 | 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:1259:22 [INFO] [stdout] | [INFO] [stdout] 1259 | 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:1266:18 [INFO] [stdout] | [INFO] [stdout] 1266 | 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:1273:22 [INFO] [stdout] | [INFO] [stdout] 1273 | 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:1277:33 [INFO] [stdout] | [INFO] [stdout] 1277 | |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] 1277 | |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:1282:52 [INFO] [stdout] | [INFO] [stdout] 1282 | 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] 1282 | 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:1283:22 [INFO] [stdout] | [INFO] [stdout] 1283 | 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:1287:33 [INFO] [stdout] | [INFO] [stdout] 1287 | |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] 1287 | |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:1291:48 [INFO] [stdout] | [INFO] [stdout] 1291 | 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] 1291 | 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:1301:17 [INFO] [stdout] | [INFO] [stdout] 1301 | 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:1302:25 [INFO] [stdout] | [INFO] [stdout] 1302 | 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:1302:17 [INFO] [stdout] | [INFO] [stdout] 1302 | cpu.l = 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:1302:23 [INFO] [stdout] | [INFO] [stdout] 1302 | 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:1306:33 [INFO] [stdout] | [INFO] [stdout] 1306 | |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] 1306 | |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:1307:33 [INFO] [stdout] | [INFO] [stdout] 1307 | |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] 1307 | |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:48 [INFO] [stdout] | [INFO] [stdout] 1323 | 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] 1323 | 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:1330:33 [INFO] [stdout] | [INFO] [stdout] 1330 | |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] 1330 | |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:1331:33 [INFO] [stdout] | [INFO] [stdout] 1331 | |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] 1331 | |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:1332:33 [INFO] [stdout] | [INFO] [stdout] 1332 | |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] 1332 | |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:1336:48 [INFO] [stdout] | [INFO] [stdout] 1336 | 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] 1336 | 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:1346:17 [INFO] [stdout] | [INFO] [stdout] 1346 | 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:1347:25 [INFO] [stdout] | [INFO] [stdout] 1347 | 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:1347:17 [INFO] [stdout] | [INFO] [stdout] 1347 | 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:1347:23 [INFO] [stdout] | [INFO] [stdout] 1347 | 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:1352:33 [INFO] [stdout] | [INFO] [stdout] 1352 | |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] 1352 | |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 | 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] 1368 | 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:1376:48 [INFO] [stdout] | [INFO] [stdout] 1376 | 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:1381:33 [INFO] [stdout] | [INFO] [stdout] 1381 | |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] 1381 | |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:1382:33 [INFO] [stdout] | [INFO] [stdout] 1382 | |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] 1382 | |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:1394:48 [INFO] [stdout] | [INFO] [stdout] 1394 | 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] 1394 | 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 148 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 148 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" "a0280bd881599ae9e1c0171133a6f09ab2cf3e4094a945a9b782a14b5252f8de", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a0280bd881599ae9e1c0171133a6f09ab2cf3e4094a945a9b782a14b5252f8de", kill_on_drop: false }` [INFO] [stdout] a0280bd881599ae9e1c0171133a6f09ab2cf3e4094a945a9b782a14b5252f8de