[INFO] cloning repository https://github.com/murphm8/zaty [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/murphm8/zaty" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmurphm8%2Fzaty", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmurphm8%2Fzaty'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 628805e3596548d5980150b3590ee7cdbc4ef310 [INFO] checking murphm8/zaty against beta for pr-78714 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmurphm8%2Fzaty" "/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/murphm8/zaty on toolchain beta [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/murphm8/zaty [INFO] finished tweaking git repo https://github.com/murphm8/zaty [INFO] tweaked toml for git repo https://github.com/murphm8/zaty written to /workspace/builds/worker-0/source/Cargo.toml [INFO] crate git repo https://github.com/murphm8/zaty already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] error: the lock file /workspace/builds/worker-0/source/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag. [INFO] the lockfile is outdated, regenerating it [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+beta" "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] b86f8dab5d58c45b38528a335ffeaa8333a6439d8da5862368032a6f924fe04d [INFO] running `Command { std: "docker" "start" "-a" "b86f8dab5d58c45b38528a335ffeaa8333a6439d8da5862368032a6f924fe04d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b86f8dab5d58c45b38528a335ffeaa8333a6439d8da5862368032a6f924fe04d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b86f8dab5d58c45b38528a335ffeaa8333a6439d8da5862368032a6f924fe04d", kill_on_drop: false }` [INFO] [stdout] b86f8dab5d58c45b38528a335ffeaa8333a6439d8da5862368032a6f924fe04d [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" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+beta" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 431aaf7257850e358eecdc15d0c143164b5bf7566da85719802950557bb135b9 [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" "431aaf7257850e358eecdc15d0c143164b5bf7566da85719802950557bb135b9", kill_on_drop: false }` [INFO] [stderr] Checking num-complex v0.3.1 [INFO] [stderr] Checking num-bigint v0.3.1 [INFO] [stderr] Checking num-iter v0.1.42 [INFO] [stderr] Checking num-rational v0.3.2 [INFO] [stderr] Checking num v0.3.1 [INFO] [stderr] Checking zaty v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(negate_unsigned)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ feature has been removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0557]: feature has been removed [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(negate_unsigned)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ feature has been removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(box_syntax)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel [INFO] [stdout] --> src/main.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(negate_unsigned)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #![feature(box_syntax)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0554]: `#![feature]` may not be used on the beta release channel [INFO] [stdout] --> src/main.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | #![feature(negate_unsigned)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `Memory`, `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/mod.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CarryFlag`, `Flags`, `HalfCarryFlag`, `Register`, `SubtractFlag`, `ZeroFlag` [INFO] [stdout] --> src/ops/mod.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EmptyMemory` [INFO] [stdout] --> src/ops/add.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/add.rs:47:35 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn add_value_at_address(mem: &Memory, reg: &mut Register, hb: u8, lb: u8, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/add.rs:56:35 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn adc_value_at_address(mem: &Memory, reg: &mut Register, address: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/add.rs:61:31 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn add_u8_immediate(mem: &Memory, pc: &mut Register, reg: &mut Register, freg: &mut Register, with_carry: bool) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/add.rs:120:45 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn increment_value_at_address(mem: &mut Memory, hb: u8, lb: u8, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `high_byte`, `high_nibble`, `low_byte`, `low_nibble` [INFO] [stdout] --> src/ops/add.rs:139:49 [INFO] [stdout] | [INFO] [stdout] 139 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/add.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/boolean.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/boolean.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CarryFlag` [INFO] [stdout] --> src/ops/boolean.rs:3:28 [INFO] [stdout] | [INFO] [stdout] 3 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/boolean.rs:31:35 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn and_value_at_address(mem: &Memory, reg: &mut Register, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/boolean.rs:36:35 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn xor_value_at_address(mem: &Memory, reg: &mut Register, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/boolean.rs:55:34 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn or_value_at_address(mem: &Memory, reg: &mut Register, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/boolean.rs:73:39 [INFO] [stdout] | [INFO] [stdout] 73 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/boolean.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/jp.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CarryFlag`, `Flags`, `HalfCarryFlag`, `SubtractFlag`, `ZeroFlag` [INFO] [stdout] --> src/ops/jp.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/jp.rs:7:39 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn jump_by_signed_immediate(mem: &Memory, pc: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/jp.rs:22:55 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn relative_jmp_by_signed_immediate_if_true(mem: &Memory, pc: &mut Register, should_jump: bool) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/jp.rs:30:31 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn jp_u16_immediate(mem: &Memory, pc: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/jp.rs:36:39 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn jp_u16_immediate_if_true(mem: &Memory,pc: &mut Register, should_jump: bool) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/jp.rs:52:39 [INFO] [stdout] | [INFO] [stdout] 52 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/jp.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CarryFlag`, `Flags`, `HalfCarryFlag`, `SubtractFlag`, `ZeroFlag` [INFO] [stdout] --> src/ops/jp.rs:54:25 [INFO] [stdout] | [INFO] [stdout] 54 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `high_nibble`, `low_nibble` [INFO] [stdout] --> src/ops/ld.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/ld.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CarryFlag`, `Flags`, `HalfCarryFlag`, `SubtractFlag`, `ZeroFlag` [INFO] [stdout] --> src/ops/ld.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:15:30 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn ld_u8_immediate(mem: &Memory, pc: &mut Register, reg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:22:31 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn ld_u16_immediate(mem: &Memory, pc: &mut Register, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:30:30 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn ld_from_address(mem: &Memory, reg: &mut Register, addr: u16) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:35:74 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn write_value_to_memory_at_address_and_increment_register(mem: &mut Memory, val: u8, high_reg: &mut Register, low_reg: &mut Regi... [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:43:74 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn write_value_to_memory_at_address_and_decrement_register(mem: &mut Memory, val: u8, high_reg: &mut Register, low_reg: &mut Regi... [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:51:86 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn ld_from_address_pointed_to_by_register_pair_and_increment_register_pair(mem: &Memory, reg: &mut Register, high_byte: &mut Regi... [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:60:47 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn ld_u8_immediate_into_address(mem: &mut Memory, pc: &mut Register, hb: u8, lb: u8) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:66:86 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn ld_from_address_pointed_to_by_register_pair_and_decrement_register_pair(mem: &Memory, reg: &mut Register, high_byte: &mut Regi... [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:76:41 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn ld_next_two_bytes_into_reg(mem: &Memory, pc: &mut Register, reg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:82:43 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn load_val_FF00_plus_immediate(mem: &Memory, pc: &mut Register, reg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:90:47 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn write_value_to_u16_immediate(mem: &mut Memory, pc: &mut Register, val: u8) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:96:48 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn write_val_FF00_plus_immediate(mem: &mut Memory, pc: &mut Register, val: u8) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:104:46 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn write_u16_immediate_address(mem: &mut Memory, pc: &mut Register, val: u16){ [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:117:51 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn write_value_to_memory_at_address(mem: &mut Memory, val: u8, addr_msb: u8, addr_lsb: u8) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `high_byte`, `high_nibble`, `low_byte`, `low_nibble` [INFO] [stdout] --> src/ops/ld.rs:126:49 [INFO] [stdout] | [INFO] [stdout] 126 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/ld.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 127 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CarryFlag`, `Flags`, `HalfCarryFlag`, `SubtractFlag`, `ZeroFlag` [INFO] [stdout] --> src/ops/ld.rs:128:25 [INFO] [stdout] | [INFO] [stdout] 128 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/shift.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/shift.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HalfCarryFlag`, `SubtractFlag` [INFO] [stdout] --> src/ops/shift.rs:3:39 [INFO] [stdout] | [INFO] [stdout] 3 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/shift.rs:40:33 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn srl_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/shift.rs:52:33 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn sla_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/shift.rs:79:33 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn sra_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/shift.rs:87:39 [INFO] [stdout] | [INFO] [stdout] 87 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/shift.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `pack_u16` [INFO] [stdout] --> src/ops/special.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 24 | fn pop_internal(mem: &Memory, sp: &mut Register) -> u16 { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:31:18 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn pop(mem: &Memory, sp: &mut Register, hb: &mut Register, lb: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:38:18 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn ret(mem: &Memory, pc: &mut Register, sp: &mut Register, should_execute: bool) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:46:23 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn push(mem: &mut Memory, sp: &mut Register, val: u16) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:53:41 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn call_immediate_if_true(mem: &mut Memory, pc: &mut Register, sp: &mut Register, should_jump: bool) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:63:23 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn call(mem: &mut Memory, pc: &mut Register, sp: &mut Register, addr: u16) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:68:19 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn reti(mem: &Memory, pc: &mut Register, sp: &mut Register, ime: &mut bool) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:91:30 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn byte_at_address(mem: &Memory, addr: u16) -> u8 { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:102:30 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn res_at_addr(mem: &mut Memory, address: u16, pos: u8) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:116:30 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn set_at_addr(mem: &mut Memory, address: u16, pos: u8) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:139:34 [INFO] [stdout] | [INFO] [stdout] 139 | pub fn swap_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:149:24 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn pop_flags(mem: &Memory, sp: &mut Register, a: &mut Register, f: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/special.rs:159:39 [INFO] [stdout] | [INFO] [stdout] 159 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/special.rs:160:9 [INFO] [stdout] | [INFO] [stdout] 160 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `high_nibble` [INFO] [stdout] --> src/ops/sub.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/sub.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/sub.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn sub_u8_immediate(mem: &Memory, pc: &mut Register, reg: &mut Register, freg: &mut Register, with_carry: bool) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/sub.rs:55:35 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn sub_value_at_address(mem: &Memory, reg: &mut Register, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/sub.rs:60:35 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn sbc_value_at_address(mem: &Memory, reg: &mut Register, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/sub.rs:70:39 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn compare_value_at_address(mem: &Memory, reg: &mut Register, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/sub.rs:87:45 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn decrement_value_at_address(mem: &mut Memory, hb: u8, lb: u8, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/sub.rs:99:39 [INFO] [stdout] | [INFO] [stdout] 99 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/sub.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/rotate.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/rotate.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HalfCarryFlag`, `SubtractFlag` [INFO] [stdout] --> src/ops/rotate.rs:3:39 [INFO] [stdout] | [INFO] [stdout] 3 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/rotate.rs:18:41 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn rotate_left_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/rotate.rs:71:42 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn rotate_right_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/ops/rotate.rs:103:18 [INFO] [stdout] | [INFO] [stdout] 103 | let result = ((val >> 1) | bit_1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/rotate.rs:129:53 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn rotate_right_with_carry_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/rotate.rs:141:52 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn rotate_left_with_carry_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/rotate.rs:157:39 [INFO] [stdout] | [INFO] [stdout] 157 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/rotate.rs:158:5 [INFO] [stdout] | [INFO] [stdout] 158 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/utils.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CarryFlag`, `Flags`, `HalfCarryFlag`, `SubtractFlag`, `ZeroFlag` [INFO] [stdout] --> src/ops/utils.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/utils.rs:5:27 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn u8_immediate(mem: &Memory, pc: &mut Register) -> u8 { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/utils.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn u16_immediate(mem: &Memory, pc: &mut Register) -> u16 { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/utils.rs:21:39 [INFO] [stdout] | [INFO] [stdout] 21 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/utils.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CarryFlag`, `Flags`, `HalfCarryFlag`, `SubtractFlag`, `ZeroFlag` [INFO] [stdout] --> src/ops/utils.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::*` [INFO] [stdout] --> src/memory.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use rand::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::iter::range_inclusive` [INFO] [stdout] --> src/memory.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use num::iter::range_inclusive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::iter::range_step_inclusive` [INFO] [stdout] --> src/memory.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use num::iter::range_step_inclusive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/memory.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:92:19 [INFO] [stdout] | [INFO] [stdout] 92 | 0x0000...0x1FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:95:19 [INFO] [stdout] | [INFO] [stdout] 95 | 0x2000...0x3FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:102:19 [INFO] [stdout] | [INFO] [stdout] 102 | 0x4000...0x5FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:105:19 [INFO] [stdout] | [INFO] [stdout] 105 | 0x6000...0x7FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:114:19 [INFO] [stdout] | [INFO] [stdout] 114 | 0x0000...0x00FF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:118:19 [INFO] [stdout] | [INFO] [stdout] 118 | 0x0100...0x014F => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:122:19 [INFO] [stdout] | [INFO] [stdout] 122 | 0x0150...0x3FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:126:19 [INFO] [stdout] | [INFO] [stdout] 126 | 0x4000...0x7FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:131:19 [INFO] [stdout] | [INFO] [stdout] 131 | 0x8000...0x97FF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:135:19 [INFO] [stdout] | [INFO] [stdout] 135 | 0x9800...0x9BFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:139:19 [INFO] [stdout] | [INFO] [stdout] 139 | 0x9C00...0x9FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:143:19 [INFO] [stdout] | [INFO] [stdout] 143 | 0xA000...0xBFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:148:19 [INFO] [stdout] | [INFO] [stdout] 148 | 0xC000...0xCFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:152:19 [INFO] [stdout] | [INFO] [stdout] 152 | 0xD000...0xDFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:156:19 [INFO] [stdout] | [INFO] [stdout] 156 | 0xE000...0xFDFF => panic!("Echo RAM Do Not Use"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:157:19 [INFO] [stdout] | [INFO] [stdout] 157 | 0xFE00...0xFE9F => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:161:19 [INFO] [stdout] | [INFO] [stdout] 161 | 0xFEA0...0xFEFF => panic!("Unusable memory"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:162:19 [INFO] [stdout] | [INFO] [stdout] 162 | 0xFF00...0xFF7F => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:166:19 [INFO] [stdout] | [INFO] [stdout] 166 | 0xFF80...0xFFFE => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `high_nibble`, `low_nibble` [INFO] [stdout] --> src/cpu.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{Memory, low_nibble, high_nibble, low_byte, high_byte, pack_u16}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Signed`, `Unsigned` [INFO] [stdout] --> src/cpu.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use num::{Unsigned, Signed}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | mem: Box [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Memory + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:30:28 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn new(memory: Box) -> Cpu<'a> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Memory + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `Memory`, `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/mod.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CarryFlag`, `Flags`, `HalfCarryFlag`, `Register`, `SubtractFlag`, `ZeroFlag` [INFO] [stdout] --> src/ops/mod.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `EmptyMemory` [INFO] [stdout] --> src/ops/add.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/add.rs:47:35 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn add_value_at_address(mem: &Memory, reg: &mut Register, hb: u8, lb: u8, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/add.rs:56:35 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn adc_value_at_address(mem: &Memory, reg: &mut Register, address: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/add.rs:61:31 [INFO] [stdout] | [INFO] [stdout] 61 | pub fn add_u8_immediate(mem: &Memory, pc: &mut Register, reg: &mut Register, freg: &mut Register, with_carry: bool) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/add.rs:120:45 [INFO] [stdout] | [INFO] [stdout] 120 | pub fn increment_value_at_address(mem: &mut Memory, hb: u8, lb: u8, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/boolean.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/boolean.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `CarryFlag` [INFO] [stdout] --> src/ops/boolean.rs:3:28 [INFO] [stdout] | [INFO] [stdout] 3 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/boolean.rs:31:35 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn and_value_at_address(mem: &Memory, reg: &mut Register, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/boolean.rs:36:35 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn xor_value_at_address(mem: &Memory, reg: &mut Register, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/boolean.rs:55:34 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn or_value_at_address(mem: &Memory, reg: &mut Register, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/jp.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CarryFlag`, `Flags`, `HalfCarryFlag`, `SubtractFlag`, `ZeroFlag` [INFO] [stdout] --> src/ops/jp.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/jp.rs:7:39 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn jump_by_signed_immediate(mem: &Memory, pc: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/jp.rs:22:55 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn relative_jmp_by_signed_immediate_if_true(mem: &Memory, pc: &mut Register, should_jump: bool) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/jp.rs:30:31 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn jp_u16_immediate(mem: &Memory, pc: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/jp.rs:36:39 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn jp_u16_immediate_if_true(mem: &Memory,pc: &mut Register, should_jump: bool) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `high_nibble`, `low_nibble` [INFO] [stdout] --> src/ops/ld.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/ld.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CarryFlag`, `Flags`, `HalfCarryFlag`, `SubtractFlag`, `ZeroFlag` [INFO] [stdout] --> src/ops/ld.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:15:30 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn ld_u8_immediate(mem: &Memory, pc: &mut Register, reg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:22:31 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn ld_u16_immediate(mem: &Memory, pc: &mut Register, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:30:30 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn ld_from_address(mem: &Memory, reg: &mut Register, addr: u16) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:35:74 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn write_value_to_memory_at_address_and_increment_register(mem: &mut Memory, val: u8, high_reg: &mut Register, low_reg: &mut Regi... [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:43:74 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn write_value_to_memory_at_address_and_decrement_register(mem: &mut Memory, val: u8, high_reg: &mut Register, low_reg: &mut Regi... [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:51:86 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn ld_from_address_pointed_to_by_register_pair_and_increment_register_pair(mem: &Memory, reg: &mut Register, high_byte: &mut Regi... [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:60:47 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn ld_u8_immediate_into_address(mem: &mut Memory, pc: &mut Register, hb: u8, lb: u8) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:66:86 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn ld_from_address_pointed_to_by_register_pair_and_decrement_register_pair(mem: &Memory, reg: &mut Register, high_byte: &mut Regi... [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:76:41 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn ld_next_two_bytes_into_reg(mem: &Memory, pc: &mut Register, reg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:82:43 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn load_val_FF00_plus_immediate(mem: &Memory, pc: &mut Register, reg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:90:47 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn write_value_to_u16_immediate(mem: &mut Memory, pc: &mut Register, val: u8) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:96:48 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn write_val_FF00_plus_immediate(mem: &mut Memory, pc: &mut Register, val: u8) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:104:46 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn write_u16_immediate_address(mem: &mut Memory, pc: &mut Register, val: u16){ [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/ld.rs:117:51 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn write_value_to_memory_at_address(mem: &mut Memory, val: u8, addr_msb: u8, addr_lsb: u8) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/shift.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/shift.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HalfCarryFlag`, `SubtractFlag` [INFO] [stdout] --> src/ops/shift.rs:3:39 [INFO] [stdout] | [INFO] [stdout] 3 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/shift.rs:40:33 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn srl_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/shift.rs:52:33 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn sla_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/shift.rs:79:33 [INFO] [stdout] | [INFO] [stdout] 79 | pub fn sra_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `pack_u16` [INFO] [stdout] --> src/ops/special.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 24 | fn pop_internal(mem: &Memory, sp: &mut Register) -> u16 { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:31:18 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn pop(mem: &Memory, sp: &mut Register, hb: &mut Register, lb: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:38:18 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn ret(mem: &Memory, pc: &mut Register, sp: &mut Register, should_execute: bool) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:46:23 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn push(mem: &mut Memory, sp: &mut Register, val: u16) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:53:41 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn call_immediate_if_true(mem: &mut Memory, pc: &mut Register, sp: &mut Register, should_jump: bool) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:63:23 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn call(mem: &mut Memory, pc: &mut Register, sp: &mut Register, addr: u16) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:68:19 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn reti(mem: &Memory, pc: &mut Register, sp: &mut Register, ime: &mut bool) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:91:30 [INFO] [stdout] | [INFO] [stdout] 91 | pub fn byte_at_address(mem: &Memory, addr: u16) -> u8 { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:102:30 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn res_at_addr(mem: &mut Memory, address: u16, pos: u8) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:116:30 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn set_at_addr(mem: &mut Memory, address: u16, pos: u8) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:139:34 [INFO] [stdout] | [INFO] [stdout] 139 | pub fn swap_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/special.rs:149:24 [INFO] [stdout] | [INFO] [stdout] 149 | pub fn pop_flags(mem: &Memory, sp: &mut Register, a: &mut Register, f: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `high_nibble` [INFO] [stdout] --> src/ops/sub.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/sub.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/sub.rs:10:31 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn sub_u8_immediate(mem: &Memory, pc: &mut Register, reg: &mut Register, freg: &mut Register, with_carry: bool) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/sub.rs:55:35 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn sub_value_at_address(mem: &Memory, reg: &mut Register, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/sub.rs:60:35 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn sbc_value_at_address(mem: &Memory, reg: &mut Register, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/sub.rs:70:39 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn compare_value_at_address(mem: &Memory, reg: &mut Register, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/sub.rs:87:45 [INFO] [stdout] | [INFO] [stdout] 87 | pub fn decrement_value_at_address(mem: &mut Memory, hb: u8, lb: u8, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/rotate.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/rotate.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HalfCarryFlag`, `SubtractFlag` [INFO] [stdout] --> src/ops/rotate.rs:3:39 [INFO] [stdout] | [INFO] [stdout] 3 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/rotate.rs:18:41 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn rotate_left_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/rotate.rs:71:42 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn rotate_right_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/ops/rotate.rs:103:18 [INFO] [stdout] | [INFO] [stdout] 103 | let result = ((val >> 1) | bit_1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/rotate.rs:129:53 [INFO] [stdout] | [INFO] [stdout] 129 | pub fn rotate_right_with_carry_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/rotate.rs:141:52 [INFO] [stdout] | [INFO] [stdout] 141 | pub fn rotate_left_with_carry_at_address(mem: &mut Memory, addr: u16, freg: &mut Register) { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyMemory`, `high_byte`, `high_nibble`, `low_byte`, `low_nibble`, `pack_u16` [INFO] [stdout] --> src/ops/utils.rs:1:14 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{EmptyMemory, Memory, pack_u16, high_byte, low_byte, low_nibble, high_nibble}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CarryFlag`, `Flags`, `HalfCarryFlag`, `SubtractFlag`, `ZeroFlag` [INFO] [stdout] --> src/ops/utils.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use cpu::{Register, Flags, CarryFlag, HalfCarryFlag, ZeroFlag, SubtractFlag}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/utils.rs:5:27 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn u8_immediate(mem: &Memory, pc: &mut Register) -> u8 { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ops/utils.rs:11:28 [INFO] [stdout] | [INFO] [stdout] 11 | pub fn u16_immediate(mem: &Memory, pc: &mut Register) -> u16 { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::*` [INFO] [stdout] --> src/memory.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use rand::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::iter::range_inclusive` [INFO] [stdout] --> src/memory.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use num::iter::range_inclusive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `num::iter::range_step_inclusive` [INFO] [stdout] --> src/memory.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use num::iter::range_step_inclusive; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> src/memory.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:92:19 [INFO] [stdout] | [INFO] [stdout] 92 | 0x0000...0x1FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:95:19 [INFO] [stdout] | [INFO] [stdout] 95 | 0x2000...0x3FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:102:19 [INFO] [stdout] | [INFO] [stdout] 102 | 0x4000...0x5FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:105:19 [INFO] [stdout] | [INFO] [stdout] 105 | 0x6000...0x7FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:114:19 [INFO] [stdout] | [INFO] [stdout] 114 | 0x0000...0x00FF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:118:19 [INFO] [stdout] | [INFO] [stdout] 118 | 0x0100...0x014F => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:122:19 [INFO] [stdout] | [INFO] [stdout] 122 | 0x0150...0x3FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:126:19 [INFO] [stdout] | [INFO] [stdout] 126 | 0x4000...0x7FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:131:19 [INFO] [stdout] | [INFO] [stdout] 131 | 0x8000...0x97FF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:135:19 [INFO] [stdout] | [INFO] [stdout] 135 | 0x9800...0x9BFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:139:19 [INFO] [stdout] | [INFO] [stdout] 139 | 0x9C00...0x9FFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:143:19 [INFO] [stdout] | [INFO] [stdout] 143 | 0xA000...0xBFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:148:19 [INFO] [stdout] | [INFO] [stdout] 148 | 0xC000...0xCFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:152:19 [INFO] [stdout] | [INFO] [stdout] 152 | 0xD000...0xDFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:156:19 [INFO] [stdout] | [INFO] [stdout] 156 | 0xE000...0xFDFF => panic!("Echo RAM Do Not Use"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:157:19 [INFO] [stdout] | [INFO] [stdout] 157 | 0xFE00...0xFE9F => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:161:19 [INFO] [stdout] | [INFO] [stdout] 161 | 0xFEA0...0xFEFF => panic!("Unusable memory"), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:162:19 [INFO] [stdout] | [INFO] [stdout] 162 | 0xFF00...0xFF7F => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memory.rs:166:19 [INFO] [stdout] | [INFO] [stdout] 166 | 0xFF80...0xFFFE => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `high_nibble`, `low_nibble` [INFO] [stdout] --> src/cpu.rs:1:22 [INFO] [stdout] | [INFO] [stdout] 1 | use memory::{Memory, low_nibble, high_nibble, low_byte, high_byte, pack_u16}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Signed`, `Unsigned` [INFO] [stdout] --> src/cpu.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use num::{Unsigned, Signed}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:26:14 [INFO] [stdout] | [INFO] [stdout] 26 | mem: Box [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Memory + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:30:28 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn new(memory: Box) -> Cpu<'a> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Memory + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0600]: cannot apply unary operator `-` to type `u8` [INFO] [stdout] --> src/ops/jp.rs:86:32 [INFO] [stdout] | [INFO] [stdout] 86 | mem.write_byte(0x0101, -10 as u8); [INFO] [stdout] | ^^^ cannot apply unary operator `-` [INFO] [stdout] | [INFO] [stdout] = note: unsigned values cannot be negated [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0600]: cannot apply unary operator `-` to type `u8` [INFO] [stdout] --> src/ops/jp.rs:110:32 [INFO] [stdout] | [INFO] [stdout] 110 | mem.write_byte(0x128A, -10 as u8); [INFO] [stdout] | ^^^ cannot apply unary operator `-` [INFO] [stdout] | [INFO] [stdout] = note: unsigned values cannot be negated [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/add.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/jp.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/special.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/utils.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/cpu.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors; 107 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0554, E0557. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0554`. [INFO] [stdout] [INFO] [stderr] error: could not compile `zaty` [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] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/add.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/jp.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/special.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/ops/utils.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `extensions::Incrementor` [INFO] [stdout] --> src/cpu.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use extensions::Incrementor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors; 128 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0554, E0557, E0600. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0554`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "431aaf7257850e358eecdc15d0c143164b5bf7566da85719802950557bb135b9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "431aaf7257850e358eecdc15d0c143164b5bf7566da85719802950557bb135b9", kill_on_drop: false }` [INFO] [stdout] 431aaf7257850e358eecdc15d0c143164b5bf7566da85719802950557bb135b9