[INFO] updating cached repository https://github.com/ikornaselur/corrosiones [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 7455790068b5db3cd0cc955a47e14435dc5faaa2 [INFO] testing ikornaselur/corrosiones against beta-2020-06-03 for beta-1.45-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fikornaselur%2Fcorrosiones" "/workspace/builds/worker-13/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ikornaselur/corrosiones on toolchain beta-2020-06-03 [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/ikornaselur/corrosiones [INFO] finished tweaking git repo https://github.com/ikornaselur/corrosiones [INFO] tweaked toml for git repo https://github.com/ikornaselur/corrosiones written to /workspace/builds/worker-13/source/Cargo.toml [INFO] crate git repo https://github.com/ikornaselur/corrosiones already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+beta-2020-06-03" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-06-03" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 762ca9779ae76906a7e58e255860c7adad018535e862a910d9f9d0da883c9e01 [INFO] running `"docker" "start" "-a" "762ca9779ae76906a7e58e255860c7adad018535e862a910d9f9d0da883c9e01"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling corrosiones v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:118:19 [INFO] [stderr] | [INFO] [stderr] 118 | 0x0000...0x1FFF => self.ram[addr % 0x0800], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:119:19 [INFO] [stderr] | [INFO] [stderr] 119 | 0x2000...0x3FFF => self.io[(addr - 0x2000) % 0x0008], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:120:19 [INFO] [stderr] | [INFO] [stderr] 120 | 0x4000...0x401F => self.io[addr - 0x4000 + 0x0008], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:121:19 [INFO] [stderr] | [INFO] [stderr] 121 | 0x4020...0x5FFF => self.expansion_rom[addr - 0x4020], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:122:19 [INFO] [stderr] | [INFO] [stderr] 122 | 0x6000...0x7FFF => self.sram[addr - 0x6000], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:123:19 [INFO] [stderr] | [INFO] [stderr] 123 | 0x8000...0xFFFF => self.rom[addr - 0x8000], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:152:19 [INFO] [stderr] | [INFO] [stderr] 152 | 0x0000...0x1FFF => self.ram[addr % 0x0800] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:153:19 [INFO] [stderr] | [INFO] [stderr] 153 | 0x2000...0x3FFF => self.io[(addr - 0x2000) % 0x0008] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:154:19 [INFO] [stderr] | [INFO] [stderr] 154 | 0x4000...0x401F => self.io[addr - 0x4000 + 0x0008] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:155:19 [INFO] [stderr] | [INFO] [stderr] 155 | 0x6000...0x7FFF => self.sram[addr - 0x6000] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/mod.rs:231:69 [INFO] [stderr] | [INFO] [stderr] 231 | pub fn load_file(&mut self, filename: String) -> Result<(), Box> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `break_command` [INFO] [stderr] --> src/cpu/flags.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub(crate) break_command: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 12 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.59s [INFO] running `"docker" "inspect" "762ca9779ae76906a7e58e255860c7adad018535e862a910d9f9d0da883c9e01"` [INFO] running `"docker" "rm" "-f" "762ca9779ae76906a7e58e255860c7adad018535e862a910d9f9d0da883c9e01"` [INFO] [stdout] 762ca9779ae76906a7e58e255860c7adad018535e862a910d9f9d0da883c9e01 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-06-03" "test" "--frozen" "--no-run"` [INFO] [stdout] 95e758159167f97fe3fc3ef07f8a35b93d4958c51b72f37332f3120972c0c0e8 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "95e758159167f97fe3fc3ef07f8a35b93d4958c51b72f37332f3120972c0c0e8"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] Compiling corrosiones v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:118:19 [INFO] [stderr] | [INFO] [stderr] 118 | 0x0000...0x1FFF => self.ram[addr % 0x0800], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:119:19 [INFO] [stderr] | [INFO] [stderr] 119 | 0x2000...0x3FFF => self.io[(addr - 0x2000) % 0x0008], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:120:19 [INFO] [stderr] | [INFO] [stderr] 120 | 0x4000...0x401F => self.io[addr - 0x4000 + 0x0008], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:121:19 [INFO] [stderr] | [INFO] [stderr] 121 | 0x4020...0x5FFF => self.expansion_rom[addr - 0x4020], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:122:19 [INFO] [stderr] | [INFO] [stderr] 122 | 0x6000...0x7FFF => self.sram[addr - 0x6000], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:123:19 [INFO] [stderr] | [INFO] [stderr] 123 | 0x8000...0xFFFF => self.rom[addr - 0x8000], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:152:19 [INFO] [stderr] | [INFO] [stderr] 152 | 0x0000...0x1FFF => self.ram[addr % 0x0800] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:153:19 [INFO] [stderr] | [INFO] [stderr] 153 | 0x2000...0x3FFF => self.io[(addr - 0x2000) % 0x0008] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:154:19 [INFO] [stderr] | [INFO] [stderr] 154 | 0x4000...0x401F => self.io[addr - 0x4000 + 0x0008] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:155:19 [INFO] [stderr] | [INFO] [stderr] 155 | 0x6000...0x7FFF => self.sram[addr - 0x6000] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/mod.rs:231:69 [INFO] [stderr] | [INFO] [stderr] 231 | pub fn load_file(&mut self, filename: String) -> Result<(), Box> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `break_command` [INFO] [stderr] --> src/cpu/flags.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub(crate) break_command: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 12 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:118:19 [INFO] [stderr] | [INFO] [stderr] 118 | 0x0000...0x1FFF => self.ram[addr % 0x0800], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:119:19 [INFO] [stderr] | [INFO] [stderr] 119 | 0x2000...0x3FFF => self.io[(addr - 0x2000) % 0x0008], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:120:19 [INFO] [stderr] | [INFO] [stderr] 120 | 0x4000...0x401F => self.io[addr - 0x4000 + 0x0008], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:121:19 [INFO] [stderr] | [INFO] [stderr] 121 | 0x4020...0x5FFF => self.expansion_rom[addr - 0x4020], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:122:19 [INFO] [stderr] | [INFO] [stderr] 122 | 0x6000...0x7FFF => self.sram[addr - 0x6000], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:123:19 [INFO] [stderr] | [INFO] [stderr] 123 | 0x8000...0xFFFF => self.rom[addr - 0x8000], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:152:19 [INFO] [stderr] | [INFO] [stderr] 152 | 0x0000...0x1FFF => self.ram[addr % 0x0800] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:153:19 [INFO] [stderr] | [INFO] [stderr] 153 | 0x2000...0x3FFF => self.io[(addr - 0x2000) % 0x0008] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:154:19 [INFO] [stderr] | [INFO] [stderr] 154 | 0x4000...0x401F => self.io[addr - 0x4000 + 0x0008] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:155:19 [INFO] [stderr] | [INFO] [stderr] 155 | 0x6000...0x7FFF => self.sram[addr - 0x6000] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/mod.rs:231:69 [INFO] [stderr] | [INFO] [stderr] 231 | pub fn load_file(&mut self, filename: String) -> Result<(), Box> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `break_command` [INFO] [stderr] --> src/cpu/flags.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub(crate) break_command: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 12 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.74s [INFO] running `"docker" "inspect" "95e758159167f97fe3fc3ef07f8a35b93d4958c51b72f37332f3120972c0c0e8"` [INFO] running `"docker" "rm" "-f" "95e758159167f97fe3fc3ef07f8a35b93d4958c51b72f37332f3120972c0c0e8"` [INFO] [stdout] 95e758159167f97fe3fc3ef07f8a35b93d4958c51b72f37332f3120972c0c0e8 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-06-03" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 1c7c43cde27d98a1aaadec5795ff60ef5657976e22591484bdc54bf50b9401f1 [INFO] running `"docker" "start" "-a" "1c7c43cde27d98a1aaadec5795ff60ef5657976e22591484bdc54bf50b9401f1"` [INFO] [stderr] sudo: setrlimit(RLIMIT_CORE): Operation not permitted [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:118:19 [INFO] [stderr] | [INFO] [stderr] 118 | 0x0000...0x1FFF => self.ram[addr % 0x0800], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:119:19 [INFO] [stderr] | [INFO] [stderr] 119 | 0x2000...0x3FFF => self.io[(addr - 0x2000) % 0x0008], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:120:19 [INFO] [stderr] | [INFO] [stderr] 120 | 0x4000...0x401F => self.io[addr - 0x4000 + 0x0008], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:121:19 [INFO] [stderr] | [INFO] [stderr] 121 | 0x4020...0x5FFF => self.expansion_rom[addr - 0x4020], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:122:19 [INFO] [stderr] | [INFO] [stderr] 122 | 0x6000...0x7FFF => self.sram[addr - 0x6000], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:123:19 [INFO] [stderr] | [INFO] [stderr] 123 | 0x8000...0xFFFF => self.rom[addr - 0x8000], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:152:19 [INFO] [stderr] | [INFO] [stderr] 152 | 0x0000...0x1FFF => self.ram[addr % 0x0800] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:153:19 [INFO] [stderr] | [INFO] [stderr] 153 | 0x2000...0x3FFF => self.io[(addr - 0x2000) % 0x0008] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:154:19 [INFO] [stderr] | [INFO] [stderr] 154 | 0x4000...0x401F => self.io[addr - 0x4000 + 0x0008] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:155:19 [INFO] [stderr] | [INFO] [stderr] 155 | 0x6000...0x7FFF => self.sram[addr - 0x6000] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/mod.rs:231:69 [INFO] [stderr] | [INFO] [stderr] 231 | pub fn load_file(&mut self, filename: String) -> Result<(), Box> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `break_command` [INFO] [stderr] --> src/cpu/flags.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub(crate) break_command: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 12 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:118:19 [INFO] [stderr] | [INFO] [stderr] 118 | 0x0000...0x1FFF => self.ram[addr % 0x0800], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:119:19 [INFO] [stderr] | [INFO] [stderr] 119 | 0x2000...0x3FFF => self.io[(addr - 0x2000) % 0x0008], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:120:19 [INFO] [stderr] | [INFO] [stderr] 120 | 0x4000...0x401F => self.io[addr - 0x4000 + 0x0008], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:121:19 [INFO] [stderr] | [INFO] [stderr] 121 | 0x4020...0x5FFF => self.expansion_rom[addr - 0x4020], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:122:19 [INFO] [stderr] | [INFO] [stderr] 122 | 0x6000...0x7FFF => self.sram[addr - 0x6000], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:123:19 [INFO] [stderr] | [INFO] [stderr] 123 | 0x8000...0xFFFF => self.rom[addr - 0x8000], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:152:19 [INFO] [stderr] | [INFO] [stderr] 152 | 0x0000...0x1FFF => self.ram[addr % 0x0800] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:153:19 [INFO] [stderr] | [INFO] [stderr] 153 | 0x2000...0x3FFF => self.io[(addr - 0x2000) % 0x0008] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:154:19 [INFO] [stderr] | [INFO] [stderr] 154 | 0x4000...0x401F => self.io[addr - 0x4000 + 0x0008] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/cpu/memory.rs:155:19 [INFO] [stderr] | [INFO] [stderr] 155 | 0x6000...0x7FFF => self.sram[addr - 0x6000] = byte, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu/mod.rs:231:69 [INFO] [stderr] | [INFO] [stderr] 231 | pub fn load_file(&mut self, filename: String) -> Result<(), Box> { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Error` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `break_command` [INFO] [stderr] --> src/cpu/flags.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub(crate) break_command: bool, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 12 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.19s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/corrosiones-dc2cbffa3c65bb7c [INFO] [stdout] [INFO] [stdout] running 142 tests [INFO] [stdout] test cpu::flags::test::flags_into_u8 ... ok [INFO] [stdout] test cpu::memory::test::load_ram ... ok [INFO] [stdout] test cpu::memory::test::read_from_expansion_rom ... ok [INFO] [stdout] test cpu::memory::test::read_from_lower_io ... ok [INFO] [stdout] test cpu::memory::test::read_from_ram ... ok [INFO] [stdout] test cpu::opcodes::bitwise::rotate::test::rol_rotates_with_carry ... ok [INFO] [stdout] test cpu::opcodes::bitwise::shift::test::lsr_shifts_into_carry ... ok [INFO] [stdout] test cpu::memory::test::read_from_upper_io ... ok [INFO] [stdout] test cpu::memory::test::read_from_rom ... ok [INFO] [stdout] test cpu::opcodes::bitwise::and::test::and_ands_accumulator_with_memory ... ok [INFO] [stdout] test cpu::opcodes::bitwise::rotate::test::rol_rotates_in_memory ... ok [INFO] [stdout] test cpu::opcodes::bitwise::test::test::bit_copies_overflow_from_bit_6_to_flags ... ok [INFO] [stdout] test cpu::opcodes::bitwise::shift::test::lsr_shifts_in_memory ... ok [INFO] [stdout] test cpu::memory::test::read_from_sram ... ok [INFO] [stdout] test cpu::opcodes::branch::carry::test::bcc_applies_offset_if_carry_not_set ... ok [INFO] [stdout] test cpu::opcodes::bitwise::shift::test::lsr_sets_zero_flag ... ok [INFO] [stdout] test cpu::opcodes::bitwise::shift::test::asl_shifts_into_carry ... ok [INFO] [stdout] test cpu::opcodes::bitwise::test::test::bit_copies_negative_from_bit_7_to_flags ... ok [INFO] [stdout] test cpu::opcodes::branch::negative::test::bmi_applies_offset_if_negative_is_set ... ok [INFO] [stdout] test cpu::opcodes::branch::negative::test::bpl_doesnt_apply_offset_if_negative_is_set ... ok [INFO] [stdout] test cpu::opcodes::bitwise::rotate::test::ror_rotates_in_memory ... ok [INFO] [stdout] test cpu::opcodes::branch::carry::test::bcc_doesnt_apply_offset_if_carry_is_set ... ok [INFO] [stdout] test cpu::opcodes::bitwise::or::test::ora_ors_accumulator_with_memory ... ok [INFO] [stdout] test cpu::opcodes::bitwise::shift::test::asl_shifts_in_memory ... ok [INFO] [stdout] test cpu::opcodes::branch::carry::test::bcs_doesnt_apply_offset_if_carry_not_set ... ok [INFO] [stdout] test cpu::opcodes::bitwise::rotate::test::ror_rotates_into_carry ... ok [INFO] [stdout] test cpu::opcodes::bitwise::or::test::eor_xors_accumulator_with_memory ... ok [INFO] [stdout] test cpu::opcodes::bitwise::test::test::bit_uses_mask_for_zero ... ok [INFO] [stdout] test cpu::opcodes::branch::negative::test::bmi_doesnt_apply_offset_if_negative_not_set ... ok [INFO] [stdout] test cpu::opcodes::branch::carry::test::bcs_applies_offset_if_carry_is_set ... ok [INFO] [stdout] test cpu::opcodes::branch::negative::test::bpl_applies_offset_if_negative_not_set ... ok [INFO] [stdout] test cpu::opcodes::branch::zero::test::bne_doesnt_apply_offset_if_zero_is_set ... ok [INFO] [stdout] test cpu::opcodes::jump::jmp::test::jmp_indirect ... ok [INFO] [stdout] test cpu::opcodes::jump::jmp::test::jmp_absolute ... ok [INFO] [stdout] test cpu::opcodes::jump::ret::test::rti_restores_pc_and_flags ... ok [INFO] [stdout] test cpu::opcodes::branch::zero::test::beq_applies_offset_if_zero_is_set ... ok [INFO] [stdout] test cpu::opcodes::math::add::test::adc_absolute ... ok [INFO] [stdout] test cpu::opcodes::branch::zero::test::beq_doesnt_apply_offset_if_zero_not_set ... ok [INFO] [stdout] test cpu::opcodes::branch::overflow::test::bvc_applies_offset_if_overflow_not_set ... ok [INFO] [stdout] test cpu::opcodes::jump::ret::test::rts_restores_pc ... ok [INFO] [stdout] test cpu::opcodes::branch::overflow::test::bvc_doesnt_apply_offset_if_overflow_is_set ... ok [INFO] [stdout] test cpu::opcodes::math::add::test::adc_absolute_y ... ok [INFO] [stdout] test cpu::opcodes::branch::overflow::test::bvs_applies_offset_if_overflow_is_set ... ok [INFO] [stdout] test cpu::opcodes::math::add::test::adc_absolute_x ... ok [INFO] [stdout] test cpu::opcodes::math::add::test::adc_immediate_with_carry ... ok [INFO] [stdout] test cpu::opcodes::jump::jmp::test::jmp_indirect_boundary_bug ... ok [INFO] [stdout] test cpu::opcodes::math::add::test::adc_zeropage ... ok [INFO] [stdout] test cpu::opcodes::math::decrement::test::dex_decrements_x_index ... ok [INFO] [stdout] test cpu::opcodes::math::decrement::test::dec_decrements_memory_wrapping ... ok [INFO] [stdout] test cpu::opcodes::branch::zero::test::bne_applies_offset_if_zero_not_set ... ok [INFO] [stdout] test cpu::opcodes::jump::jmp::test::jst_stores_pc_on_stack ... ok [INFO] [stdout] test cpu::opcodes::math::decrement::test::dex_decrements_x_index_wrapping ... ok [INFO] [stdout] test cpu::opcodes::branch::overflow::test::bvs_doesnt_apply_offset_if_overflow_not_set ... ok [INFO] [stdout] test cpu::opcodes::math::add::test::adc_indirect_x ... ok [INFO] [stdout] test cpu::opcodes::math::add::test::adc_immediate_with_carry_and_max_value ... ok [INFO] [stdout] test cpu::opcodes::math::add::test::adc_immediate_without_carry ... ok [INFO] [stdout] test cpu::opcodes::math::add::test::adc_indirect_y ... ok [INFO] [stdout] test cpu::opcodes::math::decrement::test::dec_decrements_memory ... ok [INFO] [stdout] test cpu::opcodes::math::add::test::adc_immediate_with_carry_and_max_value_and_max_accumulator ... ok [INFO] [stdout] test cpu::opcodes::math::add::test::adc_zeropage_x ... ok [INFO] [stdout] test cpu::opcodes::math::add::test::adc_immediate_without_carry_and_max_value_and_max_accumulator ... ok [INFO] [stdout] test cpu::opcodes::math::add::test::adc_twos_complement_minus_1_plus_1 ... ok [INFO] [stdout] test cpu::opcodes::math::increment::test::iny_increments_x_index ... ok [INFO] [stdout] test cpu::opcodes::math::subtract::test::sbc_immediate_with_borrow ... ok [INFO] [stdout] test cpu::opcodes::math::increment::test::inx_increments_x_index ... ok [INFO] [stdout] test cpu::opcodes::math::increment::test::inc_increments_memory_wrapping ... ok [INFO] [stdout] test cpu::opcodes::math::subtract::test::sbc_immediate_without_borrow_and_max_value_and_min_accumulator ... ok [INFO] [stdout] test cpu::opcodes::registers::clear::test::cld_clears_decimal_flag ... ok [INFO] [stdout] test cpu::opcodes::math::increment::test::iny_increments_x_index_wrapping ... ok [INFO] [stdout] test cpu::opcodes::math::subtract::test::sbc_immediate_with_borrow_and_max_value ... ok [INFO] [stdout] test cpu::opcodes::math::increment::test::inc_increments_memory ... ok [INFO] [stdout] test cpu::opcodes::math::subtract::test::sbc_immediate_without_borrow ... ok [INFO] [stdout] test cpu::opcodes::math::decrement::test::dey_decrements_x_index ... ok [INFO] [stdout] test cpu::opcodes::registers::clear::test::cli_clears_interrupt_disable_flag ... ok [INFO] [stdout] test cpu::opcodes::math::subtract::test::sbc_immediate_with_borrow_and_max_value_and_min_accumulator ... ok [INFO] [stdout] test cpu::opcodes::registers::compare::test::cpy_sets_negative_if_memory_negative ... ok [INFO] [stdout] test cpu::opcodes::registers::compare::test::cpy_sets_zero_if_x_equals_memory ... ok [INFO] [stdout] test cpu::opcodes::math::increment::test::inx_increments_x_index_wrapping ... ok [INFO] [stdout] test cpu::opcodes::registers::set::test::sec_sets_carry_flag ... ok [INFO] [stdout] test cpu::opcodes::math::decrement::test::dey_decrements_x_index_wrapping ... ok [INFO] [stdout] test cpu::opcodes::registers::set::test::sei_sets_interrupt_disable_flag ... ok [INFO] [stdout] test cpu::opcodes::registers::clear::test::clv_clears_overflow_flag ... ok [INFO] [stdout] test cpu::opcodes::registers::set::test::sed_sets_decimal_flag ... ok [INFO] [stdout] test cpu::opcodes::registers::compare::test::cpx_sets_zero_if_x_equals_memory ... ok [INFO] [stdout] test cpu::opcodes::registers::compare::test::cmp_sets_carry_if_accumulator_higher_than_memory ... ok [INFO] [stdout] test cpu::opcodes::math::decrement::test::dcp_decrements_memory ... ok [INFO] [stdout] test cpu::opcodes::registers::compare::test::cmp_sets_zero_if_accumulator_equals_memory ... ok [INFO] [stdout] test cpu::opcodes::registers::clear::test::clc_clears_carry_flag ... ok [INFO] [stdout] test cpu::opcodes::stack::pull::test::pla_pulls_accumulator_from_stack ... ok [INFO] [stdout] test cpu::opcodes::stack::pull::test::plp_pulls_flags_from_stack ... ok [INFO] [stdout] test cpu::opcodes::stack::push::test::php_pushes_flags_on_stack ... ok [INFO] [stdout] test cpu::opcodes::registers::compare::test::cpy_sets_carry_if_a_higher_than_memory ... ok [INFO] [stdout] test cpu::opcodes::registers::compare::test::cmp_sets_negative_if_memory_is_bigger_than_accumulator ... ok [INFO] [stdout] test cpu::opcodes::registers::compare::test::cpx_sets_carry_if_a_higher_than_memory ... ok [INFO] [stdout] test cpu::opcodes::registers::compare::test::cpx_sets_negative_if_memory_negative ... ok [INFO] [stdout] test cpu::opcodes::storage::load::test::ldx_loads_x_index ... ok [INFO] [stdout] test cpu::opcodes::storage::store::test::sta_absolute ... ok [INFO] [stdout] test cpu::opcodes::storage::load::test::lax_loads_both_accumulator_and_x_index ... ok [INFO] [stdout] test cpu::opcodes::storage::load::test::lda_loads_accumulator ... ok [INFO] [stdout] test cpu::opcodes::storage::store::test::sta_indirect_x ... ok [INFO] [stdout] test cpu::opcodes::storage::store::test::sta_indirect_y ... ok [INFO] [stdout] test cpu::opcodes::storage::load::test::ldy_loads_y_index ... ok [INFO] [stdout] test cpu::opcodes::storage::store::test::sta_zeropage_x ... ok [INFO] [stdout] test cpu::opcodes::storage::store::test::sta_zeropage ... ok [INFO] [stdout] test cpu::opcodes::storage::store::test::stx_zeropage ... ok [INFO] [stdout] test cpu::opcodes::storage::store::test::sta_absolute_x ... ok [INFO] [stdout] test cpu::opcodes::storage::store::test::sty_absolute ... ok [INFO] [stdout] test cpu::opcodes::storage::store::test::sta_absolute_y ... ok [INFO] [stdout] test cpu::opcodes::storage::store::test::sty_zeropage ... ok [INFO] [stdout] test cpu::opcodes::storage::store::test::stx_zeropage_y ... ok [INFO] [stdout] test cpu::opcodes::storage::store::test::stx_absolute ... ok [INFO] [stdout] test cpu::opcodes::storage::store::test::sty_zeropage_y ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::tsx_sets_zero_flag ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::txa_sets_zero_flag ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::txs_doesnt_set_negative_flag ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::txs_doesnt_set_zero_flag ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::txa_transfers_x_to_a ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::tya_sets_negative_flag ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::tya_sets_zero_flag ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::tay_sets_negative_flag ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::tay_sets_zero_flag ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::tay_transfers_a_to_y ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::tax_sets_zero_flag ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::tsx_sets_negative_flag ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::txs_transfers_x_to_sp ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::tya_transfers_y_to_a ... ok [INFO] [stdout] test cpu::opcodes::system::test::nop_size ... ok [INFO] [stdout] test cpu::test::offset_pc_by_max_negative ... ok [INFO] [stdout] test cpu::test::offset_pc_by_max_positive ... ok [INFO] [stdout] test cpu::test::offset_pc_by_negative_one ... ok [INFO] [stdout] test cpu::test::offset_pc_by_positive_one ... ok [INFO] [stdout] test cpu::test::offset_pc_by_zero ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::tax_sets_negative_flag ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::tsx_transfers_sp_to_x ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::txa_sets_negative_flag ... ok [INFO] [stdout] test cpu::test::reading_from_the_stack ... ok [INFO] [stdout] test cpu::test::pushing_to_the_stack ... ok [INFO] [stdout] test cpu::test::pushing_to_the_stack_wraps_the_stack_pointer ... ok [INFO] [stdout] test cpu::test::reading_from_the_stack_wraps_the_stack_pointer ... ok [INFO] [stdout] test cpu::test::read_next_byte ... ok [INFO] [stdout] test cpu::opcodes::stack::push::test::pha_pushes_accumulator_on_stack ... ok [INFO] [stdout] test cpu::opcodes::storage::transfer::test::tax_transfers_a_to_x ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 142 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/corrosiones-32eb789c8948ed9f [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/mod-da6792f7d14f8fe5 [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test instr_test_v5::basics ... ok [INFO] [stderr] Doc-tests corrosiones [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] warning: unknown attribute `norun`. Did you mean `no_run`? [INFO] [stderr] --> /opt/rustwide/workdir/src/cpu/addressing.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | / /// # Absolute Addressing [INFO] [stderr] 8 | | /// Instructions using absolute addressing contain a full 16 bit address to identify the target location. [INFO] [stderr] 9 | | /// [INFO] [stderr] 10 | | /// # Example [INFO] [stderr] ... | [INFO] [stderr] 14 | | /// JSR WIBBLE ;Call subroutine WIBBLE [INFO] [stderr] 15 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(invalid_codeblock_attribute)]` on by default [INFO] [stderr] = help: the code block will either not be tested if not marked as a rust one or will be run (which you might not want) [INFO] [stderr] [INFO] [stderr] warning: unknown attribute `norun`. Did you mean `no_run`? [INFO] [stderr] --> /opt/rustwide/workdir/src/cpu/addressing.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | / /// # X Indexed Addressing [INFO] [stderr] 18 | | /// Instructions using X indexed absolute addressing contain a full 16-bit address and add the [INFO] [stderr] 19 | | /// contents of the X register. If X contains $13 and an instruction provides the address [INFO] [stderr] 20 | | /// `$1000`, then `$1013` will be used. [INFO] [stderr] ... | [INFO] [stderr] 25 | | /// ROR CRC,X ;Rotate right one bit [INFO] [stderr] 26 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: the code block will either not be tested if not marked as a rust one or will be run (which you might not want) [INFO] [stderr] [INFO] [stderr] warning: unknown attribute `norun`. Did you mean `no_run`? [INFO] [stderr] --> /opt/rustwide/workdir/src/cpu/addressing.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | / /// Y Indexed Addressing [INFO] [stderr] 29 | | /// The Y register indexed absolute addressing mode is the same as the previous mode only with [INFO] [stderr] 30 | | /// the contents of the Y register added to the 16 bit address from the instruction. [INFO] [stderr] 31 | | /// [INFO] [stderr] ... | [INFO] [stderr] 35 | | /// STA MEM,Y ;Store accumulator in memory [INFO] [stderr] 36 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: the code block will either not be tested if not marked as a rust one or will be run (which you might not want) [INFO] [stderr] [INFO] [stderr] warning: unknown attribute `norun`. Did you mean `no_run`? [INFO] [stderr] --> /opt/rustwide/workdir/src/cpu/addressing.rs:41:5 [INFO] [stderr] | [INFO] [stderr] 41 | / /// # Immediate Addressing [INFO] [stderr] 42 | | /// Immediate addressing allows the programmer to directly specify an 8 bit constant within the [INFO] [stderr] 43 | | /// instruction. It is indicated by a '#' symbol followed by an numeric expression. [INFO] [stderr] 44 | | /// [INFO] [stderr] ... | [INFO] [stderr] 49 | | /// LDY #HI LABEL ;Load the MSB of a 16 bit address into Y [INFO] [stderr] 50 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: the code block will either not be tested if not marked as a rust one or will be run (which you might not want) [INFO] [stderr] [INFO] [stderr] warning: unknown attribute `norun`. Did you mean `no_run`? [INFO] [stderr] --> /opt/rustwide/workdir/src/cpu/addressing.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | / /// # Indirect Addressing [INFO] [stderr] 53 | | /// JMP is the only 6502 instruction to support indirection. The instruction contains a 16 bit [INFO] [stderr] 54 | | /// address which identifies the location of the least significant byte of another 16 bit [INFO] [stderr] 55 | | /// memory address which is the real target of the instruction. [INFO] [stderr] ... | [INFO] [stderr] 64 | | /// JMP (TARGET) ;Jump via a labelled memory area [INFO] [stderr] 65 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: the code block will either not be tested if not marked as a rust one or will be run (which you might not want) [INFO] [stderr] [INFO] [stderr] warning: unknown attribute `norun`. Did you mean `no_run`? [INFO] [stderr] --> /opt/rustwide/workdir/src/cpu/addressing.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | / /// # Pre-Indexed Indirect Addressing [INFO] [stderr] 68 | | /// Indexed indirect addressing is normally used in conjunction with a table of address held on [INFO] [stderr] 69 | | /// zero page. The address of the table is taken from the instruction and the X register added [INFO] [stderr] 70 | | /// to it (with zero page wrap around) to give the location of the least significant byte of [INFO] [stderr] ... | [INFO] [stderr] 76 | | /// STA (MEM,X) ;Store accumulator indirectly into memory [INFO] [stderr] 77 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: the code block will either not be tested if not marked as a rust one or will be run (which you might not want) [INFO] [stderr] [INFO] [stderr] warning: unknown attribute `norun`. Did you mean `no_run`? [INFO] [stderr] --> /opt/rustwide/workdir/src/cpu/addressing.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | / /// # Post-Indexed Indirect Addressing [INFO] [stderr] 80 | | /// Indirect indirect addressing is the most common indirection mode used on the 6502. In [INFO] [stderr] 81 | | /// instruction contains the zero page location of the least significant byte of 16 bit [INFO] [stderr] 82 | | /// address. The Y register is dynamically added to this value to generated the actual target [INFO] [stderr] ... | [INFO] [stderr] 88 | | /// STA (DST),Y ;Store accumulator indirectly into memory [INFO] [stderr] 89 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: the code block will either not be tested if not marked as a rust one or will be run (which you might not want) [INFO] [stderr] [INFO] [stderr] warning: unknown attribute `norun`. Did you mean `no_run`? [INFO] [stderr] --> /opt/rustwide/workdir/src/cpu/addressing.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | / /// # Relative addressing [INFO] [stderr] 92 | | /// Relative addressing mode is used by branch instructions (e.g. `BEQ`, `BNE`, etc.) which [INFO] [stderr] 93 | | /// contain a signed 8 bit relative offset (e.g. `-128` to `+127`) which is added to program [INFO] [stderr] 94 | | /// counter if the condition is true. As the program counter itself is incremented during [INFO] [stderr] ... | [INFO] [stderr] 101 | | /// BNE *+4 ;Skip over the following 2 byte instruction [INFO] [stderr] 102 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: the code block will either not be tested if not marked as a rust one or will be run (which you might not want) [INFO] [stderr] [INFO] [stderr] warning: unknown attribute `norun`. Did you mean `no_run`? [INFO] [stderr] --> /opt/rustwide/workdir/src/cpu/addressing.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | / /// # Zero-Page Addressing [INFO] [stderr] 105 | | /// An instruction using zero page addressing mode has only an 8 bit address operand. This [INFO] [stderr] 106 | | /// limits it to addressing only the first 256 bytes of memory (e.g. `$0000` to `$00FF`) where [INFO] [stderr] 107 | | /// the most significant byte of the address is always zero. In zero page mode only the least [INFO] [stderr] ... | [INFO] [stderr] 118 | | /// ASL ANSWER ;Shift labelled location ANSWER left [INFO] [stderr] 119 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: the code block will either not be tested if not marked as a rust one or will be run (which you might not want) [INFO] [stderr] [INFO] [stderr] warning: unknown attribute `norun`. Did you mean `no_run`? [INFO] [stderr] --> /opt/rustwide/workdir/src/cpu/addressing.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | / /// # Zero-Page X Indexed Addressing [INFO] [stderr] 122 | | /// The address to be accessed by an instruction using indexed zero page addressing is [INFO] [stderr] 123 | | /// calculated by taking the 8 bit zero page address from the instruction and adding the [INFO] [stderr] 124 | | /// current value of the X register to it. For example if the X register contains `$0F` and the [INFO] [stderr] ... | [INFO] [stderr] 135 | | /// AND TEMP,X ;Logical AND accumulator with a zero page value [INFO] [stderr] 136 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: the code block will either not be tested if not marked as a rust one or will be run (which you might not want) [INFO] [stderr] [INFO] [stderr] warning: unknown attribute `norun`. Did you mean `no_run`? [INFO] [stderr] --> /opt/rustwide/workdir/src/cpu/addressing.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | / /// # Zero-Page Y Indexed Addressing [INFO] [stderr] 139 | | /// The address to be accessed by an instruction using indexed zero page addressing is [INFO] [stderr] 140 | | /// calculated by taking the 8 bit zero page address from the instruction and adding the [INFO] [stderr] 141 | | /// current value of the Y register to it. This mode can only be used with the LDX and STX [INFO] [stderr] ... | [INFO] [stderr] 147 | | /// STX TEMP,Y ;Store the X register in a location on zero page [INFO] [stderr] 148 | | /// ``` [INFO] [stderr] | |___________^ [INFO] [stderr] | [INFO] [stderr] = help: the code block will either not be tested if not marked as a rust one or will be run (which you might not want) [INFO] [stderr] [INFO] [stderr] warning: 11 warnings emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test src/cpu/memory.rs - cpu::memory::Memory::load_rom (line 82) ... ok [INFO] [stdout] test src/cpu/memory.rs - cpu::memory::Memory::read (line 107) ... ok [INFO] [stdout] test src/cpu/memory.rs - cpu::memory::Memory::write (line 139) ... ok [INFO] [stdout] test src/cpu/memory.rs - cpu::memory::Memory::load_ram (line 47) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "1c7c43cde27d98a1aaadec5795ff60ef5657976e22591484bdc54bf50b9401f1"` [INFO] running `"docker" "rm" "-f" "1c7c43cde27d98a1aaadec5795ff60ef5657976e22591484bdc54bf50b9401f1"` [INFO] [stdout] 1c7c43cde27d98a1aaadec5795ff60ef5657976e22591484bdc54bf50b9401f1