[INFO] cloning repository https://github.com/ltriant/nes [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ltriant/nes" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fltriant%2Fnes", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fltriant%2Fnes'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 22cfadf5ea7fbb7eb3dc5ea892b13faa483e2de8 [INFO] checking ltriant/nes against try#5de9e0e6cf775e94e0de2003f35e183f3f77bfe8 for pr-143808 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fltriant%2Fnes" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/ltriant/nes [INFO] finished tweaking git repo https://github.com/ltriant/nes [INFO] tweaked toml for git repo https://github.com/ltriant/nes written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ltriant/nes on toolchain 5de9e0e6cf775e94e0de2003f35e183f3f77bfe8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5de9e0e6cf775e94e0de2003f35e183f3f77bfe8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/ltriant/nes already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5de9e0e6cf775e94e0de2003f35e183f3f77bfe8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded termcolor v1.0.2 [INFO] [stderr] Downloaded sdl2 v0.34.0 [INFO] [stderr] Downloaded sdl2-sys v0.34.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+5de9e0e6cf775e94e0de2003f35e183f3f77bfe8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 1d2356ae18ea7c98ac9a472e7526a159a723d7e51b608f24af9066d9613d01c3 [INFO] running `Command { std: "docker" "start" "-a" "1d2356ae18ea7c98ac9a472e7526a159a723d7e51b608f24af9066d9613d01c3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1d2356ae18ea7c98ac9a472e7526a159a723d7e51b608f24af9066d9613d01c3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1d2356ae18ea7c98ac9a472e7526a159a723d7e51b608f24af9066d9613d01c3", kill_on_drop: false }` [INFO] [stdout] 1d2356ae18ea7c98ac9a472e7526a159a723d7e51b608f24af9066d9613d01c3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+5de9e0e6cf775e94e0de2003f35e183f3f77bfe8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8c0669bf5de5832f8369f6f0532926fff043ee122b02fd22bf3162e87f7defc1 [INFO] running `Command { std: "docker" "start" "-a" "8c0669bf5de5832f8369f6f0532926fff043ee122b02fd22bf3162e87f7defc1", kill_on_drop: false }` [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling cfg-if v0.1.5 [INFO] [stderr] Checking libc v0.2.43 [INFO] [stderr] Compiling bitflags v1.1.0 [INFO] [stderr] Checking quick-error v1.2.2 [INFO] [stderr] Compiling sdl2 v0.34.0 [INFO] [stderr] Checking regex-syntax v0.6.26 [INFO] [stderr] Compiling sdl2-sys v0.34.0 [INFO] [stderr] Checking log v0.4.4 [INFO] [stderr] Checking humantime v1.1.1 [INFO] [stderr] Checking lazy_static v1.3.0 [INFO] [stderr] Checking termcolor v1.0.2 [INFO] [stderr] Checking md5 v0.6.1 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking regex v1.5.6 [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Checking nes v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `NESMemory` [INFO] [stdout] --> src/cpu.rs:956:19 [INFO] [stdout] | [INFO] [stdout] 956 | let mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | ^^^^^^^^^ use of undeclared type `NESMemory` [INFO] [stdout] | [INFO] [stdout] help: a trait with a similar name exists [INFO] [stdout] | [INFO] [stdout] 956 - let mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] 956 + let mem = Memory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 948 + use crate::mem::NESMemory; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `NESMemory` [INFO] [stdout] --> src/cpu.rs:973:19 [INFO] [stdout] | [INFO] [stdout] 973 | let mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | ^^^^^^^^^ use of undeclared type `NESMemory` [INFO] [stdout] | [INFO] [stdout] help: a trait with a similar name exists [INFO] [stdout] | [INFO] [stdout] 973 - let mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] 973 + let mem = Memory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 948 + use crate::mem::NESMemory; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `NESMemory` [INFO] [stdout] --> src/cpu.rs:991:19 [INFO] [stdout] | [INFO] [stdout] 991 | let mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | ^^^^^^^^^ use of undeclared type `NESMemory` [INFO] [stdout] | [INFO] [stdout] help: a trait with a similar name exists [INFO] [stdout] | [INFO] [stdout] 991 - let mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] 991 + let mem = Memory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 948 + use crate::mem::NESMemory; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `NESMemory` [INFO] [stdout] --> src/cpu.rs:1016:19 [INFO] [stdout] | [INFO] [stdout] 1016 | let mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | ^^^^^^^^^ use of undeclared type `NESMemory` [INFO] [stdout] | [INFO] [stdout] help: a trait with a similar name exists [INFO] [stdout] | [INFO] [stdout] 1016 - let mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] 1016 + let mem = Memory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 948 + use crate::mem::NESMemory; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `NESMemory` [INFO] [stdout] --> src/cpu.rs:1035:19 [INFO] [stdout] | [INFO] [stdout] 1035 | let mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | ^^^^^^^^^ use of undeclared type `NESMemory` [INFO] [stdout] | [INFO] [stdout] help: a trait with a similar name exists [INFO] [stdout] | [INFO] [stdout] 1035 - let mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] 1035 + let mem = Memory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 948 + use crate::mem::NESMemory; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied [INFO] [stdout] --> src/cpu.rs:954:19 [INFO] [stdout] | [INFO] [stdout] 954 | let ppu = PPU::new_nes_ppu(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^-- argument #1 of type `Rc>>` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/ppu.rs:311:12 [INFO] [stdout] | [INFO] [stdout] 311 | pub fn new_nes_ppu(cartridge: Rc>>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ --------------------------------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 954 | let ppu = PPU::new_nes_ppu(/* Rc>> */); [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied [INFO] [stdout] --> src/cpu.rs:971:19 [INFO] [stdout] | [INFO] [stdout] 971 | let ppu = PPU::new_nes_ppu(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^-- argument #1 of type `Rc>>` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/ppu.rs:311:12 [INFO] [stdout] | [INFO] [stdout] 311 | pub fn new_nes_ppu(cartridge: Rc>>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ --------------------------------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 971 | let ppu = PPU::new_nes_ppu(/* Rc>> */); [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied [INFO] [stdout] --> src/cpu.rs:989:19 [INFO] [stdout] | [INFO] [stdout] 989 | let ppu = PPU::new_nes_ppu(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^-- argument #1 of type `Rc>>` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/ppu.rs:311:12 [INFO] [stdout] | [INFO] [stdout] 311 | pub fn new_nes_ppu(cartridge: Rc>>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ --------------------------------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 989 | let ppu = PPU::new_nes_ppu(/* Rc>> */); [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `ram` on type `Box<(dyn mem::Memory + 'static)>` [INFO] [stdout] --> src/cpu.rs:996:28 [INFO] [stdout] | [INFO] [stdout] 996 | assert_eq!(cpu.mem.ram[0x0100 + (cpu.sp as usize) + 1], 0xff); [INFO] [stdout] | ^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `ram` on type `Box<(dyn mem::Memory + 'static)>` [INFO] [stdout] --> src/cpu.rs:1000:28 [INFO] [stdout] | [INFO] [stdout] 1000 | assert_eq!(cpu.mem.ram[0x100 + (cpu.sp as usize) + 1], 0xad); [INFO] [stdout] | ^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0609]: no field `ram` on type `Box<(dyn mem::Memory + 'static)>` [INFO] [stdout] --> src/cpu.rs:1001:28 [INFO] [stdout] | [INFO] [stdout] 1001 | assert_eq!(cpu.mem.ram[0x100 + (cpu.sp as usize) + 2], 0xde); [INFO] [stdout] | ^^^ unknown field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied [INFO] [stdout] --> src/cpu.rs:1014:19 [INFO] [stdout] | [INFO] [stdout] 1014 | let ppu = PPU::new_nes_ppu(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^-- argument #1 of type `Rc>>` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/ppu.rs:311:12 [INFO] [stdout] | [INFO] [stdout] 311 | pub fn new_nes_ppu(cartridge: Rc>>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ --------------------------------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 1014 | let ppu = PPU::new_nes_ppu(/* Rc>> */); [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied [INFO] [stdout] --> src/cpu.rs:1033:19 [INFO] [stdout] | [INFO] [stdout] 1033 | let ppu = PPU::new_nes_ppu(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^-- argument #1 of type `Rc>>` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/ppu.rs:311:12 [INFO] [stdout] | [INFO] [stdout] 311 | pub fn new_nes_ppu(cartridge: Rc>>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ --------------------------------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 1033 | let ppu = PPU::new_nes_ppu(/* Rc>> */); [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `load_rom` found for struct `Box<(dyn mem::Memory + 'static)>` in the current scope [INFO] [stdout] --> src/cpu.rs:1041:17 [INFO] [stdout] | [INFO] [stdout] 1041 | cpu.mem.load_rom(&rom); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `load` with a similar name [INFO] [stdout] | [INFO] [stdout] 1041 - cpu.mem.load_rom(&rom); [INFO] [stdout] 1041 + cpu.mem.load(&rom); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied [INFO] [stdout] --> src/mem.rs:132:19 [INFO] [stdout] | [INFO] [stdout] 132 | let ppu = PPU::new_nes_ppu(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^-- argument #1 of type `Rc>>` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/ppu.rs:311:12 [INFO] [stdout] | [INFO] [stdout] 311 | pub fn new_nes_ppu(cartridge: Rc>>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ --------------------------------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 132 | let ppu = PPU::new_nes_ppu(/* Rc>> */); [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/mem.rs:134:23 [INFO] [stdout] | [INFO] [stdout] 134 | let mut mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------- argument #3 of type `Rc>` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `Rc>`, found `PPU` [INFO] [stdout] --> src/mem.rs:134:46 [INFO] [stdout] | [INFO] [stdout] 134 | let mut mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | ^^^ [INFO] [stdout] = note: expected struct `Rc>` [INFO] [stdout] found struct `ppu::PPU` [INFO] [stdout] note: expected `Rc>`, found `Controller` [INFO] [stdout] --> src/mem.rs:134:51 [INFO] [stdout] | [INFO] [stdout] 134 | let mut mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: expected struct `Rc>` [INFO] [stdout] found struct `controller::Controller` [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/mem.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new_nes_mem(ppu: Rc>, [INFO] [stdout] | ^^^^^^^^^^^ --------------------- [INFO] [stdout] 113 | apu: Rc>, [INFO] [stdout] | --------------------- [INFO] [stdout] 114 | controller: Rc>) [INFO] [stdout] | ----------------------------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 134 - let mut mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] 134 + let mut mem = NESMemory::new_nes_mem(/* Rc> */, /* Rc> */, /* Rc> */); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mem.rs:137:38 [INFO] [stdout] | [INFO] [stdout] 137 | assert_eq!(mem.read(0x1000), Ok(0)); [INFO] [stdout] | ^^^^^ expected `u8`, found `Result<{integer}, _>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found enum `Result<{integer}, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mem.rs:138:42 [INFO] [stdout] | [INFO] [stdout] 138 | assert_eq!(mem.write(0x1000, 5), Ok(5)); [INFO] [stdout] | ^^^^^ expected `()`, found `Result<{integer}, _>` [INFO] [stdout] | [INFO] [stdout] = note: expected unit type `()` [INFO] [stdout] found enum `Result<{integer}, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mem.rs:139:38 [INFO] [stdout] | [INFO] [stdout] 139 | assert_eq!(mem.read(0x1000), Ok(5)); [INFO] [stdout] | ^^^^^ expected `u8`, found `Result<{integer}, _>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found enum `Result<{integer}, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `load_rom` found for struct `mem::NESMemory` in the current scope [INFO] [stdout] --> src/mem.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct NESMemory { [INFO] [stdout] | -------------------- method `load_rom` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 142 | mem.load_rom(&vec![0; 0x8000]); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `load` with a similar name [INFO] [stdout] | [INFO] [stdout] 142 - mem.load_rom(&vec![0; 0x8000]); [INFO] [stdout] 142 + mem.load(&vec![0; 0x8000]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mem.rs:143:38 [INFO] [stdout] | [INFO] [stdout] 143 | assert_eq!(mem.read(0x8000), Ok(0)); [INFO] [stdout] | ^^^^^ expected `u8`, found `Result<{integer}, _>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found enum `Result<{integer}, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mem.rs:144:38 [INFO] [stdout] | [INFO] [stdout] 144 | assert_eq!(mem.read(0x8001), Ok(0)); [INFO] [stdout] | ^^^^^ expected `u8`, found `Result<{integer}, _>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found enum `Result<{integer}, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mem.rs:145:38 [INFO] [stdout] | [INFO] [stdout] 145 | assert_eq!(mem.read(0xffff), Ok(0)); [INFO] [stdout] | ^^^^^ expected `u8`, found `Result<{integer}, _>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found enum `Result<{integer}, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied [INFO] [stdout] --> src/mem.rs:150:19 [INFO] [stdout] | [INFO] [stdout] 150 | let ppu = PPU::new_nes_ppu(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^-- argument #1 of type `Rc>>` is missing [INFO] [stdout] | [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/ppu.rs:311:12 [INFO] [stdout] | [INFO] [stdout] 311 | pub fn new_nes_ppu(cartridge: Rc>>) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ --------------------------------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 150 | let ppu = PPU::new_nes_ppu(/* Rc>> */); [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/mem.rs:152:23 [INFO] [stdout] | [INFO] [stdout] 152 | let mut mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----------- argument #3 of type `Rc>` is missing [INFO] [stdout] | [INFO] [stdout] note: expected `Rc>`, found `PPU` [INFO] [stdout] --> src/mem.rs:152:46 [INFO] [stdout] | [INFO] [stdout] 152 | let mut mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | ^^^ [INFO] [stdout] = note: expected struct `Rc>` [INFO] [stdout] found struct `ppu::PPU` [INFO] [stdout] note: expected `Rc>`, found `Controller` [INFO] [stdout] --> src/mem.rs:152:51 [INFO] [stdout] | [INFO] [stdout] 152 | let mut mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] | ^^^^ [INFO] [stdout] = note: expected struct `Rc>` [INFO] [stdout] found struct `controller::Controller` [INFO] [stdout] note: associated function defined here [INFO] [stdout] --> src/mem.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new_nes_mem(ppu: Rc>, [INFO] [stdout] | ^^^^^^^^^^^ --------------------- [INFO] [stdout] 113 | apu: Rc>, [INFO] [stdout] | --------------------- [INFO] [stdout] 114 | controller: Rc>) [INFO] [stdout] | ----------------------------------- [INFO] [stdout] help: provide the argument [INFO] [stdout] | [INFO] [stdout] 152 - let mut mem = NESMemory::new_nes_mem(ppu, ctrl); [INFO] [stdout] 152 + let mut mem = NESMemory::new_nes_mem(/* Rc> */, /* Rc> */, /* Rc> */); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `load_rom` found for struct `mem::NESMemory` in the current scope [INFO] [stdout] --> src/mem.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct NESMemory { [INFO] [stdout] | -------------------- method `load_rom` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 153 | mem.load_rom(&vec![0; 0x8000]); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `load` with a similar name [INFO] [stdout] | [INFO] [stdout] 153 - mem.load_rom(&vec![0; 0x8000]); [INFO] [stdout] 153 + mem.load(&vec![0; 0x8000]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mem.rs:154:38 [INFO] [stdout] | [INFO] [stdout] 154 | assert_eq!(mem.read(0x8000), Ok(0)); [INFO] [stdout] | ^^^^^ expected `u8`, found `Result<{integer}, _>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found enum `Result<{integer}, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mem.rs:155:38 [INFO] [stdout] | [INFO] [stdout] 155 | assert_eq!(mem.read(0xffff), Ok(0)); [INFO] [stdout] | ^^^^^ expected `u8`, found `Result<{integer}, _>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found enum `Result<{integer}, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `load_rom` found for struct `mem::NESMemory` in the current scope [INFO] [stdout] --> src/mem.rs:156:13 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct NESMemory { [INFO] [stdout] | -------------------- method `load_rom` not found for this struct [INFO] [stdout] ... [INFO] [stdout] 156 | mem.load_rom(&vec![1; 0x8000]); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: there is a method `load` with a similar name [INFO] [stdout] | [INFO] [stdout] 156 - mem.load_rom(&vec![1; 0x8000]); [INFO] [stdout] 156 + mem.load(&vec![1; 0x8000]); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mem.rs:157:38 [INFO] [stdout] | [INFO] [stdout] 157 | assert_eq!(mem.read(0x8000), Ok(1)); [INFO] [stdout] | ^^^^^ expected `u8`, found `Result<{integer}, _>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found enum `Result<{integer}, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/mem.rs:158:38 [INFO] [stdout] | [INFO] [stdout] 158 | assert_eq!(mem.read(0xffff), Ok(1)); [INFO] [stdout] | ^^^^^ expected `u8`, found `Result<{integer}, _>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found enum `Result<{integer}, _>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0308, E0433, E0599, E0609. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `nes` (bin "nes" test) due to 31 previous errors [INFO] running `Command { std: "docker" "inspect" "8c0669bf5de5832f8369f6f0532926fff043ee122b02fd22bf3162e87f7defc1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8c0669bf5de5832f8369f6f0532926fff043ee122b02fd22bf3162e87f7defc1", kill_on_drop: false }` [INFO] [stdout] 8c0669bf5de5832f8369f6f0532926fff043ee122b02fd22bf3162e87f7defc1