[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] f8ef7774019edd67d0c0c266641ffdcd435c4f26 [INFO] checking VictorFordham/rust_gb_emulator against try#b20a093d9fb1ffaa04ae9852cb034864a992bafd for pr-85073 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVictorFordham%2Frust_gb_emulator" "/workspace/builds/worker-0/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/VictorFordham/rust_gb_emulator on toolchain b20a093d9fb1ffaa04ae9852cb034864a992bafd [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b20a093d9fb1ffaa04ae9852cb034864a992bafd" "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-0/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" "+b20a093d9fb1ffaa04ae9852cb034864a992bafd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded pollster v0.2.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "+b20a093d9fb1ffaa04ae9852cb034864a992bafd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] a4a6d0ec2c82abc0d76c18def70bb6bfc56453cb8f223510e623adb50a79315d [INFO] running `Command { std: "docker" "start" "-a" "a4a6d0ec2c82abc0d76c18def70bb6bfc56453cb8f223510e623adb50a79315d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a4a6d0ec2c82abc0d76c18def70bb6bfc56453cb8f223510e623adb50a79315d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a4a6d0ec2c82abc0d76c18def70bb6bfc56453cb8f223510e623adb50a79315d", kill_on_drop: false }` [INFO] [stdout] a4a6d0ec2c82abc0d76c18def70bb6bfc56453cb8f223510e623adb50a79315d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "+b20a093d9fb1ffaa04ae9852cb034864a992bafd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8ddd238cfdf55fdf26396c9d93dc87890f90350650a8a44e5101693da5f63b0d [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" "8ddd238cfdf55fdf26396c9d93dc87890f90350650a8a44e5101693da5f63b0d", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.88 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling syn v1.0.62 [INFO] [stderr] Checking byteorder v1.4.2 [INFO] [stderr] Compiling proc-macro-hack v0.5.19 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Compiling memchr v2.3.4 [INFO] [stderr] Compiling proc-macro-nested v0.1.7 [INFO] [stderr] Checking pin-project-lite v0.2.6 [INFO] [stderr] Checking futures-core v0.3.13 [INFO] [stderr] Checking futures-sink 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 pin-utils v0.1.0 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Checking inplace_it v0.3.3 [INFO] [stderr] Compiling wide v0.4.6 [INFO] [stderr] Checking copyless v0.1.5 [INFO] [stderr] Checking pollster v0.2.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling x11 v2.18.2 [INFO] [stderr] Checking lock_api v0.4.2 [INFO] [stderr] Checking tracing-core v0.1.17 [INFO] [stderr] Checking ash v0.31.0 [INFO] [stderr] Checking futures-channel v0.3.13 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking wgpu-types v0.6.1 [INFO] [stderr] Checking tracing v0.1.25 [INFO] [stderr] Checking ultraviolet v0.4.6 [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 spirv_headers v1.5.0 [INFO] [stderr] Checking parking_lot v0.11.1 [INFO] [stderr] Checking gfx-descriptor v0.2.0 [INFO] [stderr] Checking gfx-backend-empty v0.6.0 [INFO] [stderr] Checking gfx-memory v0.2.2 [INFO] [stderr] Compiling thiserror-impl v1.0.24 [INFO] [stderr] Compiling futures-macro v0.3.13 [INFO] [stderr] Checking futures-util v0.3.13 [INFO] [stderr] Checking thiserror v1.0.24 [INFO] [stderr] Checking naga v0.2.0 [INFO] [stderr] Checking gfx-backend-vulkan v0.6.5 [INFO] [stderr] Checking wgpu-core v0.6.5 [INFO] [stderr] Checking futures-executor v0.3.13 [INFO] [stderr] Checking futures v0.3.13 [INFO] [stderr] Checking wgpu v0.6.2 [INFO] [stderr] Checking pixels v0.2.0 [INFO] [stderr] Checking gb_emulator v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: mismatched closing delimiter: `}` [INFO] [stdout] --> src/cpu.rs:1219:9 [INFO] [stdout] | [INFO] [stdout] 1214 | if cpu.f & ZERO_FLAG == ZERO_FLAG { [INFO] [stdout] | - closing delimiter possibly meant for this [INFO] [stdout] 1215 | cpu.sp = cpu.sp.wrapping_sub(2); [INFO] [stdout] 1216 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2); [INFO] [stdout] | - unclosed delimiter [INFO] [stdout] ... [INFO] [stdout] 1219 | } 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:127:32 [INFO] [stdout] | [INFO] [stdout] 127 | 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:128:32 [INFO] [stdout] | [INFO] [stdout] 128 | 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:129:20 [INFO] [stdout] | [INFO] [stdout] 129 | 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:140:37 [INFO] [stdout] | [INFO] [stdout] 140 | 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:233:37 [INFO] [stdout] | [INFO] [stdout] 233 | 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:234:37 [INFO] [stdout] | [INFO] [stdout] 234 | 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:271:32 [INFO] [stdout] | [INFO] [stdout] 271 | 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:271:43 [INFO] [stdout] | [INFO] [stdout] 271 | 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:294:45 [INFO] [stdout] | [INFO] [stdout] 294 | 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:334:37 [INFO] [stdout] | [INFO] [stdout] 334 | 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:346:46 [INFO] [stdout] | [INFO] [stdout] 346 | 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:376:17 [INFO] [stdout] | [INFO] [stdout] 376 | 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:398:32 [INFO] [stdout] | [INFO] [stdout] 398 | 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:407:40 [INFO] [stdout] | [INFO] [stdout] 407 | 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:416:40 [INFO] [stdout] | [INFO] [stdout] 416 | 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:425:37 [INFO] [stdout] | [INFO] [stdout] 425 | 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:442:32 [INFO] [stdout] | [INFO] [stdout] 442 | 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:450:41 [INFO] [stdout] | [INFO] [stdout] 450 | 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:485:40 [INFO] [stdout] | [INFO] [stdout] 485 | 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:498:40 [INFO] [stdout] | [INFO] [stdout] 498 | 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:513:40 [INFO] [stdout] | [INFO] [stdout] 513 | 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:526:40 [INFO] [stdout] | [INFO] [stdout] 526 | 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:541:40 [INFO] [stdout] | [INFO] [stdout] 541 | 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:554:40 [INFO] [stdout] | [INFO] [stdout] 554 | 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:563:40 [INFO] [stdout] | [INFO] [stdout] 563 | 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:569:40 [INFO] [stdout] | [INFO] [stdout] 569 | 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:575:40 [INFO] [stdout] | [INFO] [stdout] 575 | 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:581:40 [INFO] [stdout] | [INFO] [stdout] 581 | 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:587:40 [INFO] [stdout] | [INFO] [stdout] 587 | 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:593:40 [INFO] [stdout] | [INFO] [stdout] 593 | 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:600:40 [INFO] [stdout] | [INFO] [stdout] 600 | 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:612:40 [INFO] [stdout] | [INFO] [stdout] 612 | 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:669:37 [INFO] [stdout] | [INFO] [stdout] 669 | 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:740:40 [INFO] [stdout] | [INFO] [stdout] 740 | 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:811:40 [INFO] [stdout] | [INFO] [stdout] 811 | 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:881:40 [INFO] [stdout] | [INFO] [stdout] 881 | 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:940:40 [INFO] [stdout] | [INFO] [stdout] 940 | 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:989:40 [INFO] [stdout] | [INFO] [stdout] 989 | 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:1036:40 [INFO] [stdout] | [INFO] [stdout] 1036 | 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:1091:40 [INFO] [stdout] | [INFO] [stdout] 1091 | 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:1144:35 [INFO] [stdout] | [INFO] [stdout] 1144 | 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: expected type, found `{` [INFO] [stdout] --> src/cpu.rs:1189:27 [INFO] [stdout] | [INFO] [stdout] 1189 | |c, i| -> { if c.b & (1 << i) == 0 { c.f |= ZERO_FLAG; } cpu.last_m = 2; cpu.last_t = 8; }, [INFO] [stdout] | ^ expected type [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:1269:35 [INFO] [stdout] | [INFO] [stdout] 1269 | 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:1342:35 [INFO] [stdout] | [INFO] [stdout] 1342 | 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:1387:35 [INFO] [stdout] | [INFO] [stdout] 1387 | 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: mismatched closing delimiter: `}` [INFO] [stdout] --> src/cpu.rs:1219:9 [INFO] [stdout] | [INFO] [stdout] 1214 | if cpu.f & ZERO_FLAG == ZERO_FLAG { [INFO] [stdout] | - closing delimiter possibly meant for this [INFO] [stdout] 1215 | cpu.sp = cpu.sp.wrapping_sub(2); [INFO] [stdout] 1216 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2); [INFO] [stdout] | - unclosed delimiter [INFO] [stdout] ... [INFO] [stdout] 1219 | } 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:127:32 [INFO] [stdout] | [INFO] [stdout] 127 | 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:128:32 [INFO] [stdout] | [INFO] [stdout] 128 | 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:129:20 [INFO] [stdout] | [INFO] [stdout] 129 | 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:140:37 [INFO] [stdout] | [INFO] [stdout] 140 | 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:233:37 [INFO] [stdout] | [INFO] [stdout] 233 | 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:234:37 [INFO] [stdout] | [INFO] [stdout] 234 | 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:271:32 [INFO] [stdout] | [INFO] [stdout] 271 | 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:271:43 [INFO] [stdout] | [INFO] [stdout] 271 | 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:294:45 [INFO] [stdout] | [INFO] [stdout] 294 | 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:334:37 [INFO] [stdout] | [INFO] [stdout] 334 | 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:346:46 [INFO] [stdout] | [INFO] [stdout] 346 | 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:376:17 [INFO] [stdout] | [INFO] [stdout] 376 | 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:398:32 [INFO] [stdout] | [INFO] [stdout] 398 | 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:407:40 [INFO] [stdout] | [INFO] [stdout] 407 | 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:416:40 [INFO] [stdout] | [INFO] [stdout] 416 | 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:425:37 [INFO] [stdout] | [INFO] [stdout] 425 | 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:442:32 [INFO] [stdout] | [INFO] [stdout] 442 | 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:450:41 [INFO] [stdout] | [INFO] [stdout] 450 | 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:485:40 [INFO] [stdout] | [INFO] [stdout] 485 | 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:498:40 [INFO] [stdout] | [INFO] [stdout] 498 | 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:513:40 [INFO] [stdout] | [INFO] [stdout] 513 | 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:526:40 [INFO] [stdout] | [INFO] [stdout] 526 | 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:541:40 [INFO] [stdout] | [INFO] [stdout] 541 | 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:554:40 [INFO] [stdout] | [INFO] [stdout] 554 | 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:563:40 [INFO] [stdout] | [INFO] [stdout] 563 | 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:569:40 [INFO] [stdout] | [INFO] [stdout] 569 | 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:575:40 [INFO] [stdout] | [INFO] [stdout] 575 | 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:581:40 [INFO] [stdout] | [INFO] [stdout] 581 | 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:587:40 [INFO] [stdout] | [INFO] [stdout] 587 | 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:593:40 [INFO] [stdout] | [INFO] [stdout] 593 | 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:600:40 [INFO] [stdout] | [INFO] [stdout] 600 | 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:612:40 [INFO] [stdout] | [INFO] [stdout] 612 | 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:669:37 [INFO] [stdout] | [INFO] [stdout] 669 | 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:740:40 [INFO] [stdout] | [INFO] [stdout] 740 | 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:811:40 [INFO] [stdout] | [INFO] [stdout] 811 | 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:881:40 [INFO] [stdout] | [INFO] [stdout] 881 | 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:940:40 [INFO] [stdout] | [INFO] [stdout] 940 | 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:989:40 [INFO] [stdout] | [INFO] [stdout] 989 | 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:1036:40 [INFO] [stdout] | [INFO] [stdout] 1036 | 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:1091:40 [INFO] [stdout] | [INFO] [stdout] 1091 | 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:1144:35 [INFO] [stdout] | [INFO] [stdout] 1144 | 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: expected type, found `{` [INFO] [stdout] --> src/cpu.rs:1189:27 [INFO] [stdout] | [INFO] [stdout] 1189 | |c, i| -> { if c.b & (1 << i) == 0 { c.f |= ZERO_FLAG; } cpu.last_m = 2; cpu.last_t = 8; }, [INFO] [stdout] | ^ expected type [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:1269:35 [INFO] [stdout] | [INFO] [stdout] 1269 | 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:1342:35 [INFO] [stdout] | [INFO] [stdout] 1342 | 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:1387:35 [INFO] [stdout] | [INFO] [stdout] 1387 | 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:1216:74 [INFO] [stdout] | [INFO] [stdout] 1216 | 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:1216:74 [INFO] [stdout] | [INFO] [stdout] 1216 | 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:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | 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:75:20: 75:96]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:123:40 [INFO] [stdout] | [INFO] [stdout] 123 | 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:123:49 [INFO] [stdout] | [INFO] [stdout] 123 | 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] 123 | 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:141:48 [INFO] [stdout] | [INFO] [stdout] 141 | cpu.a = mem_access_b!(cpu.memory_unit, address); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | expected `usize`, found `u16` [INFO] [stdout] | help: you can convert a `u16` to a `usize`: `address.into()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: missing type for `static` item [INFO] [stdout] --> src/cpu.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | 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:75:20: 75:96]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:123:40 [INFO] [stdout] | [INFO] [stdout] 123 | 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:123:49 [INFO] [stdout] | [INFO] [stdout] 123 | 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] 123 | 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:141:48 [INFO] [stdout] | [INFO] [stdout] 141 | 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:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | cpu.c = cpu.wrapping_add(1); [INFO] [stdout] | ^^^^^^^^^^^^ method not found in `&mut Z80` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `wrapping_add` found for mutable reference `&mut Z80` in the current scope [INFO] [stdout] --> src/cpu.rs:149:21 [INFO] [stdout] | [INFO] [stdout] 149 | 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:180:22 [INFO] [stdout] | [INFO] [stdout] 180 | 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:180:22 [INFO] [stdout] | [INFO] [stdout] 180 | 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:229:18 [INFO] [stdout] | [INFO] [stdout] 229 | 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:229:18 [INFO] [stdout] | [INFO] [stdout] 229 | 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:283:22 [INFO] [stdout] | [INFO] [stdout] 283 | 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:295:40 [INFO] [stdout] | [INFO] [stdout] 295 | 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:283:22 [INFO] [stdout] | [INFO] [stdout] 283 | 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:323:33 [INFO] [stdout] | [INFO] [stdout] 323 | |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] 323 | |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:295:40 [INFO] [stdout] | [INFO] [stdout] 295 | 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:329:22 [INFO] [stdout] | [INFO] [stdout] 329 | 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:347:48 [INFO] [stdout] | [INFO] [stdout] 347 | 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:323:33 [INFO] [stdout] | [INFO] [stdout] 323 | |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] 323 | |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:329:22 [INFO] [stdout] | [INFO] [stdout] 329 | 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:388:22 [INFO] [stdout] | [INFO] [stdout] 388 | 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:347:48 [INFO] [stdout] | [INFO] [stdout] 347 | 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:393:18 [INFO] [stdout] | [INFO] [stdout] 393 | 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:399:40 [INFO] [stdout] | [INFO] [stdout] 399 | 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:388:22 [INFO] [stdout] | [INFO] [stdout] 388 | 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:409:50 [INFO] [stdout] | [INFO] [stdout] 409 | 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:410:40 [INFO] [stdout] | [INFO] [stdout] 410 | 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]: `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:393:18 [INFO] [stdout] | [INFO] [stdout] 393 | 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:399:40 [INFO] [stdout] | [INFO] [stdout] 399 | 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:418:50 [INFO] [stdout] | [INFO] [stdout] 418 | 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:419:40 [INFO] [stdout] | [INFO] [stdout] 419 | 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:427:40 [INFO] [stdout] | [INFO] [stdout] 427 | 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:409:50 [INFO] [stdout] | [INFO] [stdout] 409 | 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:437:22 [INFO] [stdout] | [INFO] [stdout] 437 | 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:443:41 [INFO] [stdout] | [INFO] [stdout] 443 | 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] 443 | 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:410:40 [INFO] [stdout] | [INFO] [stdout] 410 | 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:451:48 [INFO] [stdout] | [INFO] [stdout] 451 | 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:418:50 [INFO] [stdout] | [INFO] [stdout] 418 | 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:419:40 [INFO] [stdout] | [INFO] [stdout] 419 | 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:487:48 [INFO] [stdout] | [INFO] [stdout] 487 | 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:427:40 [INFO] [stdout] | [INFO] [stdout] 427 | 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:437:22 [INFO] [stdout] | [INFO] [stdout] 437 | 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:443:41 [INFO] [stdout] | [INFO] [stdout] 443 | 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] 443 | 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:451:48 [INFO] [stdout] | [INFO] [stdout] 451 | 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:500:48 [INFO] [stdout] | [INFO] [stdout] 500 | 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:515:48 [INFO] [stdout] | [INFO] [stdout] 515 | 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:528:48 [INFO] [stdout] | [INFO] [stdout] 528 | 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:487:48 [INFO] [stdout] | [INFO] [stdout] 487 | 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:543:48 [INFO] [stdout] | [INFO] [stdout] 543 | 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:500:48 [INFO] [stdout] | [INFO] [stdout] 500 | 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:556:48 [INFO] [stdout] | [INFO] [stdout] 556 | 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:515:48 [INFO] [stdout] | [INFO] [stdout] 515 | 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:565:40 [INFO] [stdout] | [INFO] [stdout] 565 | 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:528:48 [INFO] [stdout] | [INFO] [stdout] 528 | 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:543:48 [INFO] [stdout] | [INFO] [stdout] 543 | 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:556:48 [INFO] [stdout] | [INFO] [stdout] 556 | 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:571:40 [INFO] [stdout] | [INFO] [stdout] 571 | 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:565:40 [INFO] [stdout] | [INFO] [stdout] 565 | 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:577:40 [INFO] [stdout] | [INFO] [stdout] 577 | 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:571:40 [INFO] [stdout] | [INFO] [stdout] 571 | 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:577:40 [INFO] [stdout] | [INFO] [stdout] 577 | 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:583:40 [INFO] [stdout] | [INFO] [stdout] 583 | 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:589:40 [INFO] [stdout] | [INFO] [stdout] 589 | 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:583:40 [INFO] [stdout] | [INFO] [stdout] 583 | 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:595:40 [INFO] [stdout] | [INFO] [stdout] 595 | 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:589:40 [INFO] [stdout] | [INFO] [stdout] 589 | 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:602:40 [INFO] [stdout] | [INFO] [stdout] 602 | 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:595:40 [INFO] [stdout] | [INFO] [stdout] 595 | 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:614:48 [INFO] [stdout] | [INFO] [stdout] 614 | 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:602:40 [INFO] [stdout] | [INFO] [stdout] 602 | 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:614:48 [INFO] [stdout] | [INFO] [stdout] 614 | 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:670:77 [INFO] [stdout] | [INFO] [stdout] 670 | 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:670:77 [INFO] [stdout] | [INFO] [stdout] 670 | 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[E0599]: no method named `overfowing_add` found for type `u8` in the current scope [INFO] [stdout] --> src/cpu.rs:678:30 [INFO] [stdout] | [INFO] [stdout] 678 | 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:742:48 [INFO] [stdout] | [INFO] [stdout] 742 | 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[E0599]: no method named `overfowing_add` found for type `u8` in the current scope [INFO] [stdout] --> src/cpu.rs:678:30 [INFO] [stdout] | [INFO] [stdout] 678 | 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:813:50 [INFO] [stdout] | [INFO] [stdout] 813 | 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:742:48 [INFO] [stdout] | [INFO] [stdout] 742 | 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:883:48 [INFO] [stdout] | [INFO] [stdout] 883 | 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:813:50 [INFO] [stdout] | [INFO] [stdout] 813 | 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:942:49 [INFO] [stdout] | [INFO] [stdout] 942 | 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:961:32 [INFO] [stdout] | [INFO] [stdout] 961 | 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:991:49 [INFO] [stdout] | [INFO] [stdout] 991 | 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:883:48 [INFO] [stdout] | [INFO] [stdout] 883 | 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:942:49 [INFO] [stdout] | [INFO] [stdout] 942 | 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:1038:49 [INFO] [stdout] | [INFO] [stdout] 1038 | 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:961:32 [INFO] [stdout] | [INFO] [stdout] 961 | 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:991:49 [INFO] [stdout] | [INFO] [stdout] 991 | 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:1093:50 [INFO] [stdout] | [INFO] [stdout] 1093 | 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:1110:22 [INFO] [stdout] | [INFO] [stdout] 1110 | 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:1038:49 [INFO] [stdout] | [INFO] [stdout] 1038 | 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:1118:17 [INFO] [stdout] | [INFO] [stdout] 1118 | 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:1119:25 [INFO] [stdout] | [INFO] [stdout] 1119 | 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:1119:17 [INFO] [stdout] | [INFO] [stdout] 1119 | 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:1093:50 [INFO] [stdout] | [INFO] [stdout] 1093 | 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[E0277]: no implementation for `u16 & u8` [INFO] [stdout] --> src/cpu.rs:1119:23 [INFO] [stdout] | [INFO] [stdout] 1119 | cpu.c = value & 0xff as u8; [INFO] [stdout] | ^ no implementation for `u16 & u8` [INFO] [stdout] | [INFO] [stdout] = help: the trait `BitAnd` is not implemented for `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1110:22 [INFO] [stdout] | [INFO] [stdout] 1110 | 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:1125:22 [INFO] [stdout] | [INFO] [stdout] 1125 | 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:1118:17 [INFO] [stdout] | [INFO] [stdout] 1118 | 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:1119:25 [INFO] [stdout] | [INFO] [stdout] 1119 | 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:1119:17 [INFO] [stdout] | [INFO] [stdout] 1119 | cpu.c = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1130:18 [INFO] [stdout] | [INFO] [stdout] 1130 | 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:1137:52 [INFO] [stdout] | [INFO] [stdout] 1137 | 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] 1137 | mem_access_w!(cpu.memory_unit, cpu.sp, cpu.pc.wrapping_add(2).try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: no implementation for `u16 & u8` [INFO] [stdout] --> src/cpu.rs:1119:23 [INFO] [stdout] | [INFO] [stdout] 1119 | cpu.c = value & 0xff as u8; [INFO] [stdout] | ^ no implementation for `u16 & u8` [INFO] [stdout] | [INFO] [stdout] = help: the trait `BitAnd` is not implemented for `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1138:22 [INFO] [stdout] | [INFO] [stdout] 1138 | 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:1125:22 [INFO] [stdout] | [INFO] [stdout] 1125 | 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:1159:48 [INFO] [stdout] | [INFO] [stdout] 1159 | 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] 1159 | 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:1130:18 [INFO] [stdout] | [INFO] [stdout] 1130 | 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:1137:52 [INFO] [stdout] | [INFO] [stdout] 1137 | 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] 1137 | 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:1166:22 [INFO] [stdout] | [INFO] [stdout] 1166 | 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:1138:22 [INFO] [stdout] | [INFO] [stdout] 1138 | 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:1172:18 [INFO] [stdout] | [INFO] [stdout] 1172 | 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:1159:48 [INFO] [stdout] | [INFO] [stdout] 1159 | 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] 1159 | 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:1178:22 [INFO] [stdout] | [INFO] [stdout] 1178 | 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:1209:23 [INFO] [stdout] | [INFO] [stdout] 1209 | 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] 1209 | 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:1166:22 [INFO] [stdout] | [INFO] [stdout] 1166 | 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:1223:48 [INFO] [stdout] | [INFO] [stdout] 1223 | 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] 1223 | 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:1172:18 [INFO] [stdout] | [INFO] [stdout] 1172 | 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:1224:18 [INFO] [stdout] | [INFO] [stdout] 1224 | 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:1230:48 [INFO] [stdout] | [INFO] [stdout] 1230 | 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] 1230 | 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:1178:22 [INFO] [stdout] | [INFO] [stdout] 1178 | 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:1209:23 [INFO] [stdout] | [INFO] [stdout] 1209 | 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] 1209 | 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:1239:22 [INFO] [stdout] | [INFO] [stdout] 1239 | 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:1223:48 [INFO] [stdout] | [INFO] [stdout] 1223 | 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] 1223 | 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:1247:17 [INFO] [stdout] | [INFO] [stdout] 1247 | 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:1248:25 [INFO] [stdout] | [INFO] [stdout] 1248 | 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:1248:17 [INFO] [stdout] | [INFO] [stdout] 1248 | cpu.e = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1224:18 [INFO] [stdout] | [INFO] [stdout] 1224 | 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:1230:48 [INFO] [stdout] | [INFO] [stdout] 1230 | 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] 1230 | 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:1248:23 [INFO] [stdout] | [INFO] [stdout] 1248 | 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:1239:22 [INFO] [stdout] | [INFO] [stdout] 1239 | 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:1254:22 [INFO] [stdout] | [INFO] [stdout] 1254 | 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:1258:33 [INFO] [stdout] | [INFO] [stdout] 1258 | |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] 1258 | |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:1247:17 [INFO] [stdout] | [INFO] [stdout] 1247 | 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:1248:25 [INFO] [stdout] | [INFO] [stdout] 1248 | 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:1248:17 [INFO] [stdout] | [INFO] [stdout] 1248 | cpu.e = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected `u8`, found `u16` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: `match` arms have incompatible types [INFO] [stdout] --> src/mmu.rs:38:24 [INFO] [stdout] | [INFO] [stdout] 36 | / match result { [INFO] [stdout] 37 | | None => panic!("Failed memory access at {:?}", stringify!($address)), [INFO] [stdout] 38 | | Some(r) => r [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | expected `usize`, found `u16` [INFO] [stdout] | | help: you can convert a `u16` to a `usize`: `r.into()` [INFO] [stdout] 39 | | } [INFO] [stdout] | |_________- `match` arms have incompatible types [INFO] [stdout] | [INFO] [stdout] ::: src/cpu.rs:1262:22 [INFO] [stdout] | [INFO] [stdout] 1262 | cpu.pc = mem_access_w!(cpu.memory_unit, cpu.sp); [INFO] [stdout] | -------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this is found to be of type `usize` [INFO] [stdout] | in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: no implementation for `u16 & u8` [INFO] [stdout] --> src/cpu.rs:1248:23 [INFO] [stdout] | [INFO] [stdout] 1248 | 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:1254:22 [INFO] [stdout] | [INFO] [stdout] 1254 | 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:1258:33 [INFO] [stdout] | [INFO] [stdout] 1258 | |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] 1258 | |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:1262:22 [INFO] [stdout] | [INFO] [stdout] 1262 | 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:1284:48 [INFO] [stdout] | [INFO] [stdout] 1284 | 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] 1284 | 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:1291:22 [INFO] [stdout] | [INFO] [stdout] 1291 | 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:1298:18 [INFO] [stdout] | [INFO] [stdout] 1298 | 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:1284:48 [INFO] [stdout] | [INFO] [stdout] 1284 | 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] 1284 | 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:1291:22 [INFO] [stdout] | [INFO] [stdout] 1291 | 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:1305:22 [INFO] [stdout] | [INFO] [stdout] 1305 | 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:1298:18 [INFO] [stdout] | [INFO] [stdout] 1298 | 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:1309:33 [INFO] [stdout] | [INFO] [stdout] 1309 | |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] 1309 | |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:1305:22 [INFO] [stdout] | [INFO] [stdout] 1305 | 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:1309:33 [INFO] [stdout] | [INFO] [stdout] 1309 | |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] 1309 | |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:1314:52 [INFO] [stdout] | [INFO] [stdout] 1314 | 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] 1314 | 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:1314:52 [INFO] [stdout] | [INFO] [stdout] 1314 | 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] 1314 | 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:1315:22 [INFO] [stdout] | [INFO] [stdout] 1315 | 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:1319:33 [INFO] [stdout] | [INFO] [stdout] 1319 | |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] 1319 | |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:1333:17 [INFO] [stdout] | [INFO] [stdout] 1333 | 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:1334:25 [INFO] [stdout] | [INFO] [stdout] 1334 | cpu.l = value & 0xff as u8; [INFO] [stdout] | ^^^^^^^^^^ expected `u16`, found `u8` [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:1315:22 [INFO] [stdout] | [INFO] [stdout] 1315 | 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:1334:17 [INFO] [stdout] | [INFO] [stdout] 1334 | 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:1319:33 [INFO] [stdout] | [INFO] [stdout] 1319 | |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] 1319 | |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:1334:23 [INFO] [stdout] | [INFO] [stdout] 1334 | 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:1333:17 [INFO] [stdout] | [INFO] [stdout] 1333 | 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:1338:33 [INFO] [stdout] | [INFO] [stdout] 1338 | |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] 1338 | |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:1334:25 [INFO] [stdout] | [INFO] [stdout] 1334 | 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:1334:17 [INFO] [stdout] | [INFO] [stdout] 1334 | 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:1339:33 [INFO] [stdout] | [INFO] [stdout] 1339 | |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] 1339 | |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:1334:23 [INFO] [stdout] | [INFO] [stdout] 1334 | 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:1338:33 [INFO] [stdout] | [INFO] [stdout] 1338 | |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] 1338 | |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:1355:48 [INFO] [stdout] | [INFO] [stdout] 1355 | 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] 1355 | 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:1339:33 [INFO] [stdout] | [INFO] [stdout] 1339 | |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] 1339 | |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:1362:33 [INFO] [stdout] | [INFO] [stdout] 1362 | |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] 1362 | |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:1363:33 [INFO] [stdout] | [INFO] [stdout] 1363 | |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] 1363 | |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:1364:33 [INFO] [stdout] | [INFO] [stdout] 1364 | |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] 1364 | |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:1355:48 [INFO] [stdout] | [INFO] [stdout] 1355 | 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] 1355 | 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:1362:33 [INFO] [stdout] | [INFO] [stdout] 1362 | |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] 1362 | |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:1363:33 [INFO] [stdout] | [INFO] [stdout] 1363 | |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] 1363 | |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:1364:33 [INFO] [stdout] | [INFO] [stdout] 1364 | |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] 1364 | |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:1378:17 [INFO] [stdout] | [INFO] [stdout] 1378 | 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: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:1379:25 [INFO] [stdout] | [INFO] [stdout] 1379 | 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:1379:17 [INFO] [stdout] | [INFO] [stdout] 1379 | 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:1378:17 [INFO] [stdout] | [INFO] [stdout] 1378 | 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:1379:25 [INFO] [stdout] | [INFO] [stdout] 1379 | 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:1379:17 [INFO] [stdout] | [INFO] [stdout] 1379 | 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:1379:23 [INFO] [stdout] | [INFO] [stdout] 1379 | 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:1384:33 [INFO] [stdout] | [INFO] [stdout] 1384 | |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] 1384 | |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:1379:23 [INFO] [stdout] | [INFO] [stdout] 1379 | 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:1384:33 [INFO] [stdout] | [INFO] [stdout] 1384 | |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] 1384 | |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:1400:48 [INFO] [stdout] | [INFO] [stdout] 1400 | 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] 1400 | 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:1405:33 [INFO] [stdout] | [INFO] [stdout] 1405 | |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] 1405 | |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:1400:48 [INFO] [stdout] | [INFO] [stdout] 1400 | 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] 1400 | 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:1405:33 [INFO] [stdout] | [INFO] [stdout] 1405 | |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] 1405 | |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:1408:48 [INFO] [stdout] | [INFO] [stdout] 1408 | 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:1413:33 [INFO] [stdout] | [INFO] [stdout] 1413 | |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] 1413 | |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:1414:33 [INFO] [stdout] | [INFO] [stdout] 1414 | |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] 1414 | |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:1408:48 [INFO] [stdout] | [INFO] [stdout] 1408 | 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:1413:33 [INFO] [stdout] | [INFO] [stdout] 1413 | |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] 1413 | |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:1426:48 [INFO] [stdout] | [INFO] [stdout] 1426 | 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] 1426 | 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:1414:33 [INFO] [stdout] | [INFO] [stdout] 1414 | |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] 1414 | |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:1426:48 [INFO] [stdout] | [INFO] [stdout] 1426 | 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] 1426 | 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:1477:33 [INFO] [stdout] | [INFO] [stdout] 1477 | |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] 1477 | |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:1485:33 [INFO] [stdout] | [INFO] [stdout] 1485 | |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] 1485 | |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:1495:33 [INFO] [stdout] | [INFO] [stdout] 1495 | |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] 1495 | |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:1503:33 [INFO] [stdout] | [INFO] [stdout] 1503 | |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] 1503 | |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:1477:33 [INFO] [stdout] | [INFO] [stdout] 1477 | |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] 1477 | |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:1485:33 [INFO] [stdout] | [INFO] [stdout] 1485 | |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] 1485 | |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:1495:33 [INFO] [stdout] | [INFO] [stdout] 1495 | |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] 1495 | |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:1503:33 [INFO] [stdout] | [INFO] [stdout] 1503 | |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] 1503 | |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:1432:41 [INFO] [stdout] | [INFO] [stdout] 1432 | static map_table: [fn(&mut Z80); 128] = [ [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 1433 | | [INFO] [stdout] 1434 | | //00 [INFO] [stdout] 1435 | | |cpu: &mut Z80| {}, //RLCr_b [INFO] [stdout] ... | [INFO] [stdout] 1504 | | |cpu: &mut Z80| {} //SRLr_a [INFO] [stdout] 1505 | | ]; [INFO] [stdout] | |_^ expected an array with a fixed size of 128 elements, found one with 64 elements [INFO] [stdout] | [INFO] [stdout] = note: expected array `[for<'r> fn(&'r mut Z80); 128]` [INFO] [stdout] found array `[for<'r> fn(&'r mut Z80); 64]` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 155 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] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/cpu.rs:1432:41 [INFO] [stdout] | [INFO] [stdout] 1432 | static map_table: [fn(&mut Z80); 128] = [ [INFO] [stdout] | _________________________________________^ [INFO] [stdout] 1433 | | [INFO] [stdout] 1434 | | //00 [INFO] [stdout] 1435 | | |cpu: &mut Z80| {}, //RLCr_b [INFO] [stdout] ... | [INFO] [stdout] 1504 | | |cpu: &mut Z80| {} //SRLr_a [INFO] [stdout] 1505 | | ]; [INFO] [stdout] | |_^ expected an array with a fixed size of 128 elements, found one with 64 elements [INFO] [stdout] | [INFO] [stdout] = note: expected array `[for<'r> fn(&'r mut Z80); 128]` [INFO] [stdout] found array `[for<'r> fn(&'r mut Z80); 64]` [INFO] [stdout] [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 155 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" "8ddd238cfdf55fdf26396c9d93dc87890f90350650a8a44e5101693da5f63b0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8ddd238cfdf55fdf26396c9d93dc87890f90350650a8a44e5101693da5f63b0d", kill_on_drop: false }` [INFO] [stdout] 8ddd238cfdf55fdf26396c9d93dc87890f90350650a8a44e5101693da5f63b0d