[INFO] cloning repository https://github.com/zachross015/mixal [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zachross015/mixal" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzachross015%2Fmixal", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzachross015%2Fmixal'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d310cebf15fd308a547e8be19594b03a7cf167af [INFO] checking zachross015/mixal against try#0bdee9e879c87b7211d316e9152109cfd46c576b for pr-150097 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzachross015%2Fmixal" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/zachross015/mixal [INFO] finished tweaking git repo https://github.com/zachross015/mixal [INFO] tweaked toml for git repo https://github.com/zachross015/mixal written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/zachross015/mixal on toolchain 0bdee9e879c87b7211d316e9152109cfd46c576b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/zachross015/mixal already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] checking zachross015/mixal against try#0bdee9e879c87b7211d316e9152109cfd46c576b for pr-150097 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzachross015%2Fmixal" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/zachross015/mixal [INFO] finished tweaking git repo https://github.com/zachross015/mixal [INFO] tweaked toml for git repo https://github.com/zachross015/mixal written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/zachross015/mixal on toolchain 0bdee9e879c87b7211d316e9152109cfd46c576b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/zachross015/mixal already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded libc v0.2.79 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b897365b51d08dfd0f1e6996cab30cad6b23151a9d5a63523ae6ebe4290a9249 [INFO] running `Command { std: "docker" "start" "-a" "b897365b51d08dfd0f1e6996cab30cad6b23151a9d5a63523ae6ebe4290a9249", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b897365b51d08dfd0f1e6996cab30cad6b23151a9d5a63523ae6ebe4290a9249", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b897365b51d08dfd0f1e6996cab30cad6b23151a9d5a63523ae6ebe4290a9249", kill_on_drop: false }` [INFO] [stdout] b897365b51d08dfd0f1e6996cab30cad6b23151a9d5a63523ae6ebe4290a9249 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0bdee9e879c87b7211d316e9152109cfd46c576b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1658d9ded3b2654df7f9a8f96a24ec51f94f1fdacde0ab35664f4914f1ee1c93 [INFO] running `Command { std: "docker" "start" "-a" "1658d9ded3b2654df7f9a8f96a24ec51f94f1fdacde0ab35664f4914f1ee1c93", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.79 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Checking ppv-lite86 v0.2.9 [INFO] [stderr] Checking getrandom v0.1.15 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking mixal v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variant `less` should have an upper camel case name [INFO] [stdout] --> src/computer.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | less, [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Less` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `equal` should have an upper camel case name [INFO] [stdout] --> src/computer.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | equal, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `Equal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `greater` should have an upper camel case name [INFO] [stdout] --> src/computer.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | greater [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `Greater` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::computer::Computer` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::computer::Computer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `less` should have an upper camel case name [INFO] [stdout] --> src/computer.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | less, [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Less` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `equal` should have an upper camel case name [INFO] [stdout] --> src/computer.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | equal, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `Equal` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `greater` should have an upper camel case name [INFO] [stdout] --> src/computer.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | greater [INFO] [stdout] | ^^^^^^^ help: convert the identifier to upper camel case: `Greater` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::computer::Computer` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::computer::Computer; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/word.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Word { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn default() -> Word { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn from_value(value: i64) -> Word { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn address(&self) -> usize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn index(&self) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn field(&self) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn opcode(&self) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn negate(&self) -> Word { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ComparisonFlag` is never used [INFO] [stdout] --> src/computer.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum ComparisonFlag { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Computer` is never constructed [INFO] [stdout] --> src/computer.rs:37:12 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct Computer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/computer.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 54 | impl Computer { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 55 | [INFO] [stdout] 56 | pub fn new(mem: [Word; 4000], start: usize) -> Computer { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn default() -> Computer { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn fetch(self) -> Word { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | fn decode_index(&mut self, index: &u8) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | fn decode_field(&self, field: &u8) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn decode(&mut self, instruction: &Word) -> Box { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn run(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Instruction` is never used [INFO] [stdout] --> src/instruction.rs:55:11 [INFO] [stdout] | [INFO] [stdout] 55 | pub trait Instruction { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NoOperation` is never constructed [INFO] [stdout] --> src/instruction.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 59 | create_instruction!(NoOperation, (self, _c) {}); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:26:20 [INFO] [stdout] | [INFO] [stdout] 25 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 26 | pub fn new() -> $i { $i {} } [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | create_instruction!(NoOperation, (self, _c) {}); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Halt` is never constructed [INFO] [stdout] --> src/instruction.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | create_instruction!(Halt, (self, computer) { computer.pc = 4000; }); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:26:20 [INFO] [stdout] | [INFO] [stdout] 25 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 26 | pub fn new() -> $i { $i {} } [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | create_instruction!(Halt, (self, computer) { computer.pc = 4000; }); [INFO] [stdout] | ------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LoadA` is never constructed [INFO] [stdout] --> src/instruction.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 63 | create_instruction!(LoadA, address: usize, field_specification: (usize, usize), negative: bool, (self, computer) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | / create_instruction!(LoadA, address: usize, field_specification: (usize, usize), negative: bool, (self, computer) { [INFO] [stdout] 64 | | let ra = &mut computer.ra; [INFO] [stdout] 65 | | let mem = &computer.memory[self.address]; [INFO] [stdout] 66 | | copy_word_fields(mem, ra, self.field_specification); [INFO] [stdout] 67 | | if self.negative { ra.positive = !ra.positive; } [INFO] [stdout] 68 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LoadX` is never constructed [INFO] [stdout] --> src/instruction.rs:70:21 [INFO] [stdout] | [INFO] [stdout] 70 | create_instruction!(LoadX, address: usize, field_specification: (usize, usize), negative: bool, (self, computer) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | / create_instruction!(LoadX, address: usize, field_specification: (usize, usize), negative: bool, (self, computer) { [INFO] [stdout] 71 | | let rx = &mut computer.rx; [INFO] [stdout] 72 | | let mem = &computer.memory[self.address]; [INFO] [stdout] 73 | | copy_word_fields(mem, rx, self.field_specification); [INFO] [stdout] 74 | | if self.negative { rx.positive = !rx.positive; } [INFO] [stdout] 75 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LoadI` is never constructed [INFO] [stdout] --> src/instruction.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | create_instruction!(LoadI, index: u8, address: usize, field_specification: (usize, usize), negative: bool, (self, computer) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | / create_instruction!(LoadI, index: u8, address: usize, field_specification: (usize, usize), negative: bool, (self, computer) { [INFO] [stdout] 78 | | let mem = &computer.memory[self.address].clone(); [INFO] [stdout] 79 | | let ri = register_for_index(computer, self.index); [INFO] [stdout] 80 | | copy_word_fields_i(mem, ri, self.field_specification); [INFO] [stdout] 81 | | if self.negative { ri.positive = !ri.positive; } [INFO] [stdout] 82 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StoreA` is never constructed [INFO] [stdout] --> src/instruction.rs:84:21 [INFO] [stdout] | [INFO] [stdout] 84 | create_instruction!(StoreA, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | / create_instruction!(StoreA, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 85 | | store_operation(&computer.ra, &mut computer.memory[self.address], self.field_specification); [INFO] [stdout] 86 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StoreX` is never constructed [INFO] [stdout] --> src/instruction.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | create_instruction!(StoreX, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | / create_instruction!(StoreX, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 89 | | store_operation(&computer.rx, &mut computer.memory[self.address], self.field_specification); [INFO] [stdout] 90 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StoreI` is never constructed [INFO] [stdout] --> src/instruction.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | create_instruction!(StoreI, index: u8, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | / create_instruction!(StoreI, index: u8, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 93 | | let ri = register_for_index(computer, self.index); [INFO] [stdout] 94 | | let reg_clone = ri.clone(); [INFO] [stdout] 95 | | store_operation( [INFO] [stdout] ... | [INFO] [stdout] 99 | | ); [INFO] [stdout] 100 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StoreJ` is never constructed [INFO] [stdout] --> src/instruction.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | create_instruction!(StoreJ, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | / create_instruction!(StoreJ, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 103 | | store_operation(&computer.rj, &mut computer.memory[self.address], self.field_specification); [INFO] [stdout] 104 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StoreZ` is never constructed [INFO] [stdout] --> src/instruction.rs:106:21 [INFO] [stdout] | [INFO] [stdout] 106 | create_instruction!(StoreZ, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | / create_instruction!(StoreZ, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 107 | | let zero = Word::default(); [INFO] [stdout] 108 | | store_operation(&zero, &mut computer.memory[self.address], self.field_specification); [INFO] [stdout] 109 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Add` is never constructed [INFO] [stdout] --> src/instruction.rs:111:21 [INFO] [stdout] | [INFO] [stdout] 111 | create_instruction!(Add, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | / create_instruction!(Add, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 112 | | let (value, overflow) = add_words(&computer.ra, &computer.memory[self.address], self.field_specification); [INFO] [stdout] 113 | | copy_word_fields(&value, &mut computer.ra, self.field_specification); [INFO] [stdout] 114 | | computer.overflow_flag = overflow; [INFO] [stdout] 115 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sub` is never constructed [INFO] [stdout] --> src/instruction.rs:117:21 [INFO] [stdout] | [INFO] [stdout] 117 | create_instruction!(Sub, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | / create_instruction!(Sub, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 118 | | let (value, overflow) = add_words(&computer.ra, &computer.memory[self.address].negate(), self.field_specification); [INFO] [stdout] 119 | | copy_word_fields(&value, &mut computer.ra, self.field_specification); [INFO] [stdout] 120 | | computer.overflow_flag = overflow; [INFO] [stdout] 121 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mult` is never constructed [INFO] [stdout] --> src/instruction.rs:123:21 [INFO] [stdout] | [INFO] [stdout] 123 | create_instruction!(Mult, address: usize, field_specification: (usize, usize) , (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | / create_instruction!(Mult, address: usize, field_specification: (usize, usize) , (self, computer) { [INFO] [stdout] 124 | | let (lower_value, upper_value) = multiply_words(&computer.ra, &computer.memory[self.address].negate(), self.field_specificati... [INFO] [stdout] 125 | | copy_word_fields(&lower_value, &mut computer.rx, (0,5)); [INFO] [stdout] 126 | | copy_word_fields(&upper_value, &mut computer.ra, (0,5)); [INFO] [stdout] 127 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Div` is never constructed [INFO] [stdout] --> src/instruction.rs:129:21 [INFO] [stdout] | [INFO] [stdout] 129 | create_instruction!(Div, address: usize, field_specification: (usize, usize) , (self, computer) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | / create_instruction!(Div, address: usize, field_specification: (usize, usize) , (self, computer) { [INFO] [stdout] 130 | | let (dividend, remainder, overflow) = divide_words(&computer.ra, &computer.rx, &computer.memory[self.address].negate(), self.... [INFO] [stdout] 131 | | copy_word_fields(&remainder, &mut computer.rx, (0,5)); [INFO] [stdout] 132 | | copy_word_fields(÷nd, &mut computer.ra, (0,5)); [INFO] [stdout] 133 | | computer.overflow_flag = overflow; [INFO] [stdout] 134 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EntA` is never constructed [INFO] [stdout] --> src/instruction.rs:136:21 [INFO] [stdout] | [INFO] [stdout] 136 | create_instruction!(EntA, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | / create_instruction!(EntA, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] 137 | | let mut word = Word::from_value(self.value as i64); [INFO] [stdout] 138 | | word.positive = if self.should_negate { !self.entry_is_positive } else { self.entry_is_positive }; [INFO] [stdout] 139 | | copy_word_fields(&word, &mut computer.ra, (0, 5)); [INFO] [stdout] 140 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EntX` is never constructed [INFO] [stdout] --> src/instruction.rs:142:21 [INFO] [stdout] | [INFO] [stdout] 142 | create_instruction!(EntX, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | / create_instruction!(EntX, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] 143 | | let mut word = Word::from_value(self.value as i64); [INFO] [stdout] 144 | | word.positive = if self.should_negate { !self.entry_is_positive } else { self.entry_is_positive }; [INFO] [stdout] 145 | | copy_word_fields(&word, &mut computer.rx, (0, 5)); [INFO] [stdout] 146 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EntI` is never constructed [INFO] [stdout] --> src/instruction.rs:148:21 [INFO] [stdout] | [INFO] [stdout] 148 | create_instruction!(EntI, index: u8, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | / create_instruction!(EntI, index: u8, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] 149 | | let mut word = Word::from_value(self.value as i64); [INFO] [stdout] 150 | | word.positive = if self.should_negate { !self.entry_is_positive } else { self.entry_is_positive }; [INFO] [stdout] 151 | | let mut ri = register_for_index(computer, self.index); [INFO] [stdout] 152 | | copy_word_fields_i(&word, &mut ri, (0,5)); [INFO] [stdout] 153 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncA` is never constructed [INFO] [stdout] --> src/instruction.rs:155:21 [INFO] [stdout] | [INFO] [stdout] 155 | create_instruction!(IncA, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | / create_instruction!(IncA, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] 156 | | let mut word = Word::from_value(self.value as i64); [INFO] [stdout] 157 | | word.positive = if self.should_negate { !self.entry_is_positive } else { self.entry_is_positive }; [INFO] [stdout] 158 | | let (value, overflow) = add_words(&computer.ra, &word, (0,5)); [INFO] [stdout] 159 | | copy_word_fields(&value, &mut computer.ra, (0, 5)); [INFO] [stdout] 160 | | computer.overflow_flag = overflow; [INFO] [stdout] 161 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncX` is never constructed [INFO] [stdout] --> src/instruction.rs:163:21 [INFO] [stdout] | [INFO] [stdout] 163 | create_instruction!(IncX, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | / create_instruction!(IncX, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] 164 | | let mut word = Word::from_value(self.value as i64); [INFO] [stdout] 165 | | word.positive = if self.should_negate { !self.entry_is_positive } else { self.entry_is_positive }; [INFO] [stdout] 166 | | let (value, overflow) = add_words(&computer.rx, &word, (0,5)); [INFO] [stdout] 167 | | copy_word_fields(&value, &mut computer.rx, (0, 5)); [INFO] [stdout] 168 | | computer.overflow_flag = overflow; [INFO] [stdout] 169 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncI` is never constructed [INFO] [stdout] --> src/instruction.rs:171:21 [INFO] [stdout] | [INFO] [stdout] 171 | create_instruction!(IncI, index: u8, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | / create_instruction!(IncI, index: u8, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] 172 | | let mut word = Word::from_value(self.value as i64); [INFO] [stdout] 173 | | word.positive = if self.should_negate { !self.entry_is_positive } else { self.entry_is_positive }; [INFO] [stdout] 174 | | let mut ri = register_for_index(computer, self.index); [INFO] [stdout] ... | [INFO] [stdout] 177 | | computer.overflow_flag = overflow; [INFO] [stdout] 178 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CmpA` is never constructed [INFO] [stdout] --> src/instruction.rs:180:21 [INFO] [stdout] | [INFO] [stdout] 180 | create_instruction!(CmpA, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | / create_instruction!(CmpA, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 181 | | let result = compare_words(&computer.ra, &computer.memory[self.address], self.field_specification); [INFO] [stdout] 182 | | computer.comparison_flag = result; [INFO] [stdout] 183 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CmpX` is never constructed [INFO] [stdout] --> src/instruction.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | create_instruction!(CmpX, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | / create_instruction!(CmpX, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 186 | | let result = compare_words(&computer.rx, &computer.memory[self.address], self.field_specification); [INFO] [stdout] 187 | | computer.comparison_flag = result; [INFO] [stdout] 188 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CmpI` is never constructed [INFO] [stdout] --> src/instruction.rs:190:21 [INFO] [stdout] | [INFO] [stdout] 190 | create_instruction!(CmpI, index: u8, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | / create_instruction!(CmpI, index: u8, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 191 | | let mem = computer.memory[self.address].clone(); [INFO] [stdout] 192 | | let ri = register_for_index(computer, self.index); [INFO] [stdout] 193 | | let result = compare_words(&ri, &mem, self.field_specification); [INFO] [stdout] 194 | | computer.comparison_flag = result; [INFO] [stdout] 195 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Jmp` is never constructed [INFO] [stdout] --> src/instruction.rs:197:21 [INFO] [stdout] | [INFO] [stdout] 197 | create_instruction!(Jmp, address: usize, save_address: bool, (self, computer) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | / create_instruction!(Jmp, address: usize, save_address: bool, (self, computer) { [INFO] [stdout] 198 | | if self.save_address { [INFO] [stdout] 199 | | save_jump(computer); [INFO] [stdout] ... | [INFO] [stdout] 202 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JmpO` is never constructed [INFO] [stdout] --> src/instruction.rs:204:21 [INFO] [stdout] | [INFO] [stdout] 204 | create_instruction!(JmpO, address: usize, should_negate: bool, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | / create_instruction!(JmpO, address: usize, should_negate: bool, (self, computer) { [INFO] [stdout] 205 | | if computer.overflow_flag.clone() != self.should_negate { [INFO] [stdout] 206 | | save_jump(computer); [INFO] [stdout] 207 | | computer.pc = self.address; [INFO] [stdout] 208 | | } [INFO] [stdout] 209 | | computer.overflow_flag = false; [INFO] [stdout] 210 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `condition_match` is never used [INFO] [stdout] --> src/instruction.rs:212:8 [INFO] [stdout] | [INFO] [stdout] 212 | pub fn condition_match(op: u8, condition: ComparisonFlag) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JmpC` is never constructed [INFO] [stdout] --> src/instruction.rs:224:21 [INFO] [stdout] | [INFO] [stdout] 224 | create_instruction!(JmpC, address: usize, operation: u8, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | / create_instruction!(JmpC, address: usize, operation: u8, (self, computer) { [INFO] [stdout] 225 | | let condition = condition_match(self.operation - 4, computer.comparison_flag); [INFO] [stdout] 226 | | if condition { [INFO] [stdout] 227 | | save_jump(computer); [INFO] [stdout] ... | [INFO] [stdout] 230 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JmpA` is never constructed [INFO] [stdout] --> src/instruction.rs:232:21 [INFO] [stdout] | [INFO] [stdout] 232 | create_instruction!(JmpA, address: usize, operation: u8, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | / create_instruction!(JmpA, address: usize, operation: u8, (self, computer) { [INFO] [stdout] 233 | | let zero = Word::default(); [INFO] [stdout] 234 | | let result = compare_words(&computer.ra, &zero, (0, 5)); [INFO] [stdout] 235 | | let condition = condition_match(self.operation, result); [INFO] [stdout] ... | [INFO] [stdout] 240 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JmpX` is never constructed [INFO] [stdout] --> src/instruction.rs:242:21 [INFO] [stdout] | [INFO] [stdout] 242 | create_instruction!(JmpX, address: usize, operation: u8, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | / create_instruction!(JmpX, address: usize, operation: u8, (self, computer) { [INFO] [stdout] 243 | | let zero = Word::default(); [INFO] [stdout] 244 | | let result = compare_words(&computer.rx, &zero, (0, 5)); [INFO] [stdout] 245 | | let condition = condition_match(self.operation, result); [INFO] [stdout] ... | [INFO] [stdout] 250 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JmpI` is never constructed [INFO] [stdout] --> src/instruction.rs:252:21 [INFO] [stdout] | [INFO] [stdout] 252 | create_instruction!(JmpI, index: u8, address: usize, operation: u8, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | / create_instruction!(JmpI, index: u8, address: usize, operation: u8, (self, computer) { [INFO] [stdout] 253 | | let zero = Word::default(); [INFO] [stdout] 254 | | let ri = register_for_index(computer, self.index); [INFO] [stdout] 255 | | let result = compare_words(&ri, &zero, (0, 5)); [INFO] [stdout] ... | [INFO] [stdout] 261 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SLA` is never constructed [INFO] [stdout] --> src/instruction.rs:263:21 [INFO] [stdout] | [INFO] [stdout] 263 | create_instruction!(SLA, amount: usize, cycle: bool, (self, computer) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | / create_instruction!(SLA, amount: usize, cycle: bool, (self, computer) { [INFO] [stdout] 264 | | let r = computer.ra.clone(); [INFO] [stdout] 265 | | computer.ra = single_word_left_shift(&r, self.amount, self.cycle); [INFO] [stdout] 266 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SRA` is never constructed [INFO] [stdout] --> src/instruction.rs:268:21 [INFO] [stdout] | [INFO] [stdout] 268 | create_instruction!(SRA, amount: usize, cycle: bool, (self, computer) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | / create_instruction!(SRA, amount: usize, cycle: bool, (self, computer) { [INFO] [stdout] 269 | | let r = computer.ra.clone(); [INFO] [stdout] 270 | | computer.ra = single_word_right_shift(&r, self.amount, self.cycle); [INFO] [stdout] 271 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SLAX` is never constructed [INFO] [stdout] --> src/instruction.rs:273:21 [INFO] [stdout] | [INFO] [stdout] 273 | create_instruction!(SLAX, amount: usize, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | / create_instruction!(SLAX, amount: usize, (self, computer) { [INFO] [stdout] 274 | | let a = computer.ra.clone(); [INFO] [stdout] 275 | | let x = computer.rx.clone(); [INFO] [stdout] 276 | | let (ra, rx) = double_word_left_shift(&a, &x, self.amount); [INFO] [stdout] 277 | | computer.ra = ra; [INFO] [stdout] 278 | | computer.rx = rx; [INFO] [stdout] 279 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SRAX` is never constructed [INFO] [stdout] --> src/instruction.rs:281:21 [INFO] [stdout] | [INFO] [stdout] 281 | create_instruction!(SRAX, amount: usize, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | / create_instruction!(SRAX, amount: usize, (self, computer) { [INFO] [stdout] 282 | | let a = computer.ra.clone(); [INFO] [stdout] 283 | | let x = computer.rx.clone(); [INFO] [stdout] 284 | | let (ra, rx) = double_word_right_shift(&a, &x, self.amount); [INFO] [stdout] 285 | | computer.ra = ra; [INFO] [stdout] 286 | | computer.rx = rx; [INFO] [stdout] 287 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `copy_word_fields` is never used [INFO] [stdout] --> src/instruction_functions.rs:66:8 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn copy_word_fields(from_word: &Word, to_word: &mut Word, field_specification: (usize, usize)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `copy_word_fields_i` is never used [INFO] [stdout] --> src/instruction_functions.rs:86:8 [INFO] [stdout] | [INFO] [stdout] 86 | pub fn copy_word_fields_i(from_word: &Word, to_word: &mut Word, field_specification: (usize, usize)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `store_operation` is never used [INFO] [stdout] --> src/instruction_functions.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn store_operation(from_word: &Word, to_word: &mut Word, field_specification: (usize, usize)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `register_for_index` is never used [INFO] [stdout] --> src/instruction_functions.rs:137:8 [INFO] [stdout] | [INFO] [stdout] 137 | pub fn register_for_index(computer: &mut Computer, index: u8) -> &mut Word { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `add_words` is never used [INFO] [stdout] --> src/instruction_functions.rs:155:8 [INFO] [stdout] | [INFO] [stdout] 155 | pub fn add_words(word1: &Word, word2: &Word, field_specification: (usize, usize)) -> (Word, bool) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multiply_words` is never used [INFO] [stdout] --> src/instruction_functions.rs:184:8 [INFO] [stdout] | [INFO] [stdout] 184 | pub fn multiply_words(word1: &Word, word2: &Word, field_specification: (usize, usize)) -> (Word, Word) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `divide_words` is never used [INFO] [stdout] --> src/instruction_functions.rs:219:8 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn divide_words(word1: &Word, word2: &Word, word3: &Word, field_specification: (usize, usize)) -> (Word, Word, bool) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compare_words` is never used [INFO] [stdout] --> src/instruction_functions.rs:256:8 [INFO] [stdout] | [INFO] [stdout] 256 | pub fn compare_words(word1: &Word, word2: &Word, field_specification: (usize, usize)) -> ComparisonFlag { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `save_jump` is never used [INFO] [stdout] --> src/instruction_functions.rs:283:8 [INFO] [stdout] | [INFO] [stdout] 283 | pub fn save_jump(computer: &mut Computer) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `single_word_left_shift` is never used [INFO] [stdout] --> src/instruction_functions.rs:296:8 [INFO] [stdout] | [INFO] [stdout] 296 | pub fn single_word_left_shift(word: &Word, amount: usize, cycle: bool) -> Word { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `single_word_right_shift` is never used [INFO] [stdout] --> src/instruction_functions.rs:318:8 [INFO] [stdout] | [INFO] [stdout] 318 | pub fn single_word_right_shift(word: &Word, amount: usize, cycle: bool) -> Word { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `double_word_left_shift` is never used [INFO] [stdout] --> src/instruction_functions.rs:341:8 [INFO] [stdout] | [INFO] [stdout] 341 | pub fn double_word_left_shift(word1: &Word, word2: &Word, amount: usize) -> (Word, Word) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `double_word_right_shift` is never used [INFO] [stdout] --> src/instruction_functions.rs:384:8 [INFO] [stdout] | [INFO] [stdout] 384 | pub fn double_word_right_shift(word1: &Word, word2: &Word, amount: usize) -> (Word, Word) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of variable of type `i64` to itself [INFO] [stdout] --> src/instruction_functions.rs:243:5 [INFO] [stdout] | [INFO] [stdout] 243 | dividend = dividend; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless assignment of variable of type `i64` to itself [INFO] [stdout] --> src/instruction_functions.rs:244:5 [INFO] [stdout] | [INFO] [stdout] 244 | remainder = remainder; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `address`, `index`, `field`, `opcode`, and `negate` are never used [INFO] [stdout] --> src/word.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl Word { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 33 | pub fn address(&self) -> usize { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn index(&self) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn field(&self) -> u8 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn opcode(&self) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn negate(&self) -> Word { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `rx`, `comparison_flag`, and `peripherals` are never read [INFO] [stdout] --> src/computer.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 37 | pub struct Computer { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 38 | pub ra: Word, [INFO] [stdout] 39 | pub rx: Word, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 48 | pub comparison_flag: ComparisonFlag, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 49 | pub memory: [Word; 4000], [INFO] [stdout] 50 | pub peripherals: [u8; 20], [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Computer` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `fetch`, `decode_index`, `decode_field`, `decode`, and `run` are never used [INFO] [stdout] --> src/computer.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl Computer { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 79 | fn fetch(self) -> Word { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | fn decode_index(&mut self, index: &u8) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | fn decode_field(&self, field: &u8) -> (usize, usize) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn decode(&mut self, instruction: &Word) -> Box { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | pub fn run(&mut self) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NoOperation` is never constructed [INFO] [stdout] --> src/instruction.rs:59:21 [INFO] [stdout] | [INFO] [stdout] 59 | create_instruction!(NoOperation, (self, _c) {}); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:26:20 [INFO] [stdout] | [INFO] [stdout] 25 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 26 | pub fn new() -> $i { $i {} } [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | create_instruction!(NoOperation, (self, _c) {}); [INFO] [stdout] | ----------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Halt` is never constructed [INFO] [stdout] --> src/instruction.rs:61:21 [INFO] [stdout] | [INFO] [stdout] 61 | create_instruction!(Halt, (self, computer) { computer.pc = 4000; }); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:26:20 [INFO] [stdout] | [INFO] [stdout] 25 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 26 | pub fn new() -> $i { $i {} } [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | create_instruction!(Halt, (self, computer) { computer.pc = 4000; }); [INFO] [stdout] | ------------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | / create_instruction!(LoadA, address: usize, field_specification: (usize, usize), negative: bool, (self, computer) { [INFO] [stdout] 64 | | let ra = &mut computer.ra; [INFO] [stdout] 65 | | let mem = &computer.memory[self.address]; [INFO] [stdout] 66 | | copy_word_fields(mem, ra, self.field_specification); [INFO] [stdout] 67 | | if self.negative { ra.positive = !ra.positive; } [INFO] [stdout] 68 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LoadX` is never constructed [INFO] [stdout] --> src/instruction.rs:70:21 [INFO] [stdout] | [INFO] [stdout] 70 | create_instruction!(LoadX, address: usize, field_specification: (usize, usize), negative: bool, (self, computer) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 70 | / create_instruction!(LoadX, address: usize, field_specification: (usize, usize), negative: bool, (self, computer) { [INFO] [stdout] 71 | | let rx = &mut computer.rx; [INFO] [stdout] 72 | | let mem = &computer.memory[self.address]; [INFO] [stdout] 73 | | copy_word_fields(mem, rx, self.field_specification); [INFO] [stdout] 74 | | if self.negative { rx.positive = !rx.positive; } [INFO] [stdout] 75 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | / create_instruction!(LoadI, index: u8, address: usize, field_specification: (usize, usize), negative: bool, (self, computer) { [INFO] [stdout] 78 | | let mem = &computer.memory[self.address].clone(); [INFO] [stdout] 79 | | let ri = register_for_index(computer, self.index); [INFO] [stdout] 80 | | copy_word_fields_i(mem, ri, self.field_specification); [INFO] [stdout] 81 | | if self.negative { ri.positive = !ri.positive; } [INFO] [stdout] 82 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StoreX` is never constructed [INFO] [stdout] --> src/instruction.rs:88:21 [INFO] [stdout] | [INFO] [stdout] 88 | create_instruction!(StoreX, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | / create_instruction!(StoreX, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 89 | | store_operation(&computer.rx, &mut computer.memory[self.address], self.field_specification); [INFO] [stdout] 90 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StoreJ` is never constructed [INFO] [stdout] --> src/instruction.rs:102:21 [INFO] [stdout] | [INFO] [stdout] 102 | create_instruction!(StoreJ, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | / create_instruction!(StoreJ, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 103 | | store_operation(&computer.rj, &mut computer.memory[self.address], self.field_specification); [INFO] [stdout] 104 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StoreZ` is never constructed [INFO] [stdout] --> src/instruction.rs:106:21 [INFO] [stdout] | [INFO] [stdout] 106 | create_instruction!(StoreZ, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | / create_instruction!(StoreZ, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 107 | | let zero = Word::default(); [INFO] [stdout] 108 | | store_operation(&zero, &mut computer.memory[self.address], self.field_specification); [INFO] [stdout] 109 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sub` is never constructed [INFO] [stdout] --> src/instruction.rs:117:21 [INFO] [stdout] | [INFO] [stdout] 117 | create_instruction!(Sub, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | / create_instruction!(Sub, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 118 | | let (value, overflow) = add_words(&computer.ra, &computer.memory[self.address].negate(), self.field_specification); [INFO] [stdout] 119 | | copy_word_fields(&value, &mut computer.ra, self.field_specification); [INFO] [stdout] 120 | | computer.overflow_flag = overflow; [INFO] [stdout] 121 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Mult` is never constructed [INFO] [stdout] --> src/instruction.rs:123:21 [INFO] [stdout] | [INFO] [stdout] 123 | create_instruction!(Mult, address: usize, field_specification: (usize, usize) , (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | / create_instruction!(Mult, address: usize, field_specification: (usize, usize) , (self, computer) { [INFO] [stdout] 124 | | let (lower_value, upper_value) = multiply_words(&computer.ra, &computer.memory[self.address].negate(), self.field_specificati... [INFO] [stdout] 125 | | copy_word_fields(&lower_value, &mut computer.rx, (0,5)); [INFO] [stdout] 126 | | copy_word_fields(&upper_value, &mut computer.ra, (0,5)); [INFO] [stdout] 127 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Div` is never constructed [INFO] [stdout] --> src/instruction.rs:129:21 [INFO] [stdout] | [INFO] [stdout] 129 | create_instruction!(Div, address: usize, field_specification: (usize, usize) , (self, computer) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | / create_instruction!(Div, address: usize, field_specification: (usize, usize) , (self, computer) { [INFO] [stdout] 130 | | let (dividend, remainder, overflow) = divide_words(&computer.ra, &computer.rx, &computer.memory[self.address].negate(), self.... [INFO] [stdout] 131 | | copy_word_fields(&remainder, &mut computer.rx, (0,5)); [INFO] [stdout] 132 | | copy_word_fields(÷nd, &mut computer.ra, (0,5)); [INFO] [stdout] 133 | | computer.overflow_flag = overflow; [INFO] [stdout] 134 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EntX` is never constructed [INFO] [stdout] --> src/instruction.rs:142:21 [INFO] [stdout] | [INFO] [stdout] 142 | create_instruction!(EntX, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | / create_instruction!(EntX, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] 143 | | let mut word = Word::from_value(self.value as i64); [INFO] [stdout] 144 | | word.positive = if self.should_negate { !self.entry_is_positive } else { self.entry_is_positive }; [INFO] [stdout] 145 | | copy_word_fields(&word, &mut computer.rx, (0, 5)); [INFO] [stdout] 146 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EntI` is never constructed [INFO] [stdout] --> src/instruction.rs:148:21 [INFO] [stdout] | [INFO] [stdout] 148 | create_instruction!(EntI, index: u8, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | / create_instruction!(EntI, index: u8, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] 149 | | let mut word = Word::from_value(self.value as i64); [INFO] [stdout] 150 | | word.positive = if self.should_negate { !self.entry_is_positive } else { self.entry_is_positive }; [INFO] [stdout] 151 | | let mut ri = register_for_index(computer, self.index); [INFO] [stdout] 152 | | copy_word_fields_i(&word, &mut ri, (0,5)); [INFO] [stdout] 153 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncA` is never constructed [INFO] [stdout] --> src/instruction.rs:155:21 [INFO] [stdout] | [INFO] [stdout] 155 | create_instruction!(IncA, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | / create_instruction!(IncA, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] 156 | | let mut word = Word::from_value(self.value as i64); [INFO] [stdout] 157 | | word.positive = if self.should_negate { !self.entry_is_positive } else { self.entry_is_positive }; [INFO] [stdout] 158 | | let (value, overflow) = add_words(&computer.ra, &word, (0,5)); [INFO] [stdout] 159 | | copy_word_fields(&value, &mut computer.ra, (0, 5)); [INFO] [stdout] 160 | | computer.overflow_flag = overflow; [INFO] [stdout] 161 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IncX` is never constructed [INFO] [stdout] --> src/instruction.rs:163:21 [INFO] [stdout] | [INFO] [stdout] 163 | create_instruction!(IncX, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | / create_instruction!(IncX, value: usize, entry_is_positive: bool, should_negate: bool, (self, computer) { [INFO] [stdout] 164 | | let mut word = Word::from_value(self.value as i64); [INFO] [stdout] 165 | | word.positive = if self.should_negate { !self.entry_is_positive } else { self.entry_is_positive }; [INFO] [stdout] 166 | | let (value, overflow) = add_words(&computer.rx, &word, (0,5)); [INFO] [stdout] 167 | | copy_word_fields(&value, &mut computer.rx, (0, 5)); [INFO] [stdout] 168 | | computer.overflow_flag = overflow; [INFO] [stdout] 169 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CmpA` is never constructed [INFO] [stdout] --> src/instruction.rs:180:21 [INFO] [stdout] | [INFO] [stdout] 180 | create_instruction!(CmpA, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 180 | / create_instruction!(CmpA, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 181 | | let result = compare_words(&computer.ra, &computer.memory[self.address], self.field_specification); [INFO] [stdout] 182 | | computer.comparison_flag = result; [INFO] [stdout] 183 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CmpX` is never constructed [INFO] [stdout] --> src/instruction.rs:185:21 [INFO] [stdout] | [INFO] [stdout] 185 | create_instruction!(CmpX, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 185 | / create_instruction!(CmpX, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 186 | | let result = compare_words(&computer.rx, &computer.memory[self.address], self.field_specification); [INFO] [stdout] 187 | | computer.comparison_flag = result; [INFO] [stdout] 188 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CmpI` is never constructed [INFO] [stdout] --> src/instruction.rs:190:21 [INFO] [stdout] | [INFO] [stdout] 190 | create_instruction!(CmpI, index: u8, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | / create_instruction!(CmpI, index: u8, address: usize, field_specification: (usize, usize), (self, computer) { [INFO] [stdout] 191 | | let mem = computer.memory[self.address].clone(); [INFO] [stdout] 192 | | let ri = register_for_index(computer, self.index); [INFO] [stdout] 193 | | let result = compare_words(&ri, &mem, self.field_specification); [INFO] [stdout] 194 | | computer.comparison_flag = result; [INFO] [stdout] 195 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Jmp` is never constructed [INFO] [stdout] --> src/instruction.rs:197:21 [INFO] [stdout] | [INFO] [stdout] 197 | create_instruction!(Jmp, address: usize, save_address: bool, (self, computer) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | / create_instruction!(Jmp, address: usize, save_address: bool, (self, computer) { [INFO] [stdout] 198 | | if self.save_address { [INFO] [stdout] 199 | | save_jump(computer); [INFO] [stdout] ... | [INFO] [stdout] 202 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JmpO` is never constructed [INFO] [stdout] --> src/instruction.rs:204:21 [INFO] [stdout] | [INFO] [stdout] 204 | create_instruction!(JmpO, address: usize, should_negate: bool, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | / create_instruction!(JmpO, address: usize, should_negate: bool, (self, computer) { [INFO] [stdout] 205 | | if computer.overflow_flag.clone() != self.should_negate { [INFO] [stdout] 206 | | save_jump(computer); [INFO] [stdout] 207 | | computer.pc = self.address; [INFO] [stdout] 208 | | } [INFO] [stdout] 209 | | computer.overflow_flag = false; [INFO] [stdout] 210 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `condition_match` is never used [INFO] [stdout] --> src/instruction.rs:212:8 [INFO] [stdout] | [INFO] [stdout] 212 | pub fn condition_match(op: u8, condition: ComparisonFlag) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JmpC` is never constructed [INFO] [stdout] --> src/instruction.rs:224:21 [INFO] [stdout] | [INFO] [stdout] 224 | create_instruction!(JmpC, address: usize, operation: u8, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 224 | / create_instruction!(JmpC, address: usize, operation: u8, (self, computer) { [INFO] [stdout] 225 | | let condition = condition_match(self.operation - 4, computer.comparison_flag); [INFO] [stdout] 226 | | if condition { [INFO] [stdout] 227 | | save_jump(computer); [INFO] [stdout] ... | [INFO] [stdout] 230 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JmpA` is never constructed [INFO] [stdout] --> src/instruction.rs:232:21 [INFO] [stdout] | [INFO] [stdout] 232 | create_instruction!(JmpA, address: usize, operation: u8, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | / create_instruction!(JmpA, address: usize, operation: u8, (self, computer) { [INFO] [stdout] 233 | | let zero = Word::default(); [INFO] [stdout] 234 | | let result = compare_words(&computer.ra, &zero, (0, 5)); [INFO] [stdout] 235 | | let condition = condition_match(self.operation, result); [INFO] [stdout] ... | [INFO] [stdout] 240 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JmpX` is never constructed [INFO] [stdout] --> src/instruction.rs:242:21 [INFO] [stdout] | [INFO] [stdout] 242 | create_instruction!(JmpX, address: usize, operation: u8, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | / create_instruction!(JmpX, address: usize, operation: u8, (self, computer) { [INFO] [stdout] 243 | | let zero = Word::default(); [INFO] [stdout] 244 | | let result = compare_words(&computer.rx, &zero, (0, 5)); [INFO] [stdout] 245 | | let condition = condition_match(self.operation, result); [INFO] [stdout] ... | [INFO] [stdout] 250 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JmpI` is never constructed [INFO] [stdout] --> src/instruction.rs:252:21 [INFO] [stdout] | [INFO] [stdout] 252 | create_instruction!(JmpI, index: u8, address: usize, operation: u8, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | / create_instruction!(JmpI, index: u8, address: usize, operation: u8, (self, computer) { [INFO] [stdout] 253 | | let zero = Word::default(); [INFO] [stdout] 254 | | let ri = register_for_index(computer, self.index); [INFO] [stdout] 255 | | let result = compare_words(&ri, &zero, (0, 5)); [INFO] [stdout] ... | [INFO] [stdout] 261 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SLA` is never constructed [INFO] [stdout] --> src/instruction.rs:263:21 [INFO] [stdout] | [INFO] [stdout] 263 | create_instruction!(SLA, amount: usize, cycle: bool, (self, computer) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | / create_instruction!(SLA, amount: usize, cycle: bool, (self, computer) { [INFO] [stdout] 264 | | let r = computer.ra.clone(); [INFO] [stdout] 265 | | computer.ra = single_word_left_shift(&r, self.amount, self.cycle); [INFO] [stdout] 266 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SRA` is never constructed [INFO] [stdout] --> src/instruction.rs:268:21 [INFO] [stdout] | [INFO] [stdout] 268 | create_instruction!(SRA, amount: usize, cycle: bool, (self, computer) { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | / create_instruction!(SRA, amount: usize, cycle: bool, (self, computer) { [INFO] [stdout] 269 | | let r = computer.ra.clone(); [INFO] [stdout] 270 | | computer.ra = single_word_right_shift(&r, self.amount, self.cycle); [INFO] [stdout] 271 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SLAX` is never constructed [INFO] [stdout] --> src/instruction.rs:273:21 [INFO] [stdout] | [INFO] [stdout] 273 | create_instruction!(SLAX, amount: usize, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | / create_instruction!(SLAX, amount: usize, (self, computer) { [INFO] [stdout] 274 | | let a = computer.ra.clone(); [INFO] [stdout] 275 | | let x = computer.rx.clone(); [INFO] [stdout] 276 | | let (ra, rx) = double_word_left_shift(&a, &x, self.amount); [INFO] [stdout] 277 | | computer.ra = ra; [INFO] [stdout] 278 | | computer.rx = rx; [INFO] [stdout] 279 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SRAX` is never constructed [INFO] [stdout] --> src/instruction.rs:281:21 [INFO] [stdout] | [INFO] [stdout] 281 | create_instruction!(SRAX, amount: usize, (self, computer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/instruction.rs:39:20 [INFO] [stdout] | [INFO] [stdout] 38 | impl $i { [INFO] [stdout] | ------- associated function in this implementation [INFO] [stdout] 39 | pub fn new($($v: $t),*) -> $i { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | / create_instruction!(SRAX, amount: usize, (self, computer) { [INFO] [stdout] 282 | | let a = computer.ra.clone(); [INFO] [stdout] 283 | | let x = computer.rx.clone(); [INFO] [stdout] 284 | | let (ra, rx) = double_word_right_shift(&a, &x, self.amount); [INFO] [stdout] 285 | | computer.ra = ra; [INFO] [stdout] 286 | | computer.rx = rx; [INFO] [stdout] 287 | | }); [INFO] [stdout] | |__- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `create_instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.93s [INFO] running `Command { std: "docker" "inspect" "1658d9ded3b2654df7f9a8f96a24ec51f94f1fdacde0ab35664f4914f1ee1c93", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1658d9ded3b2654df7f9a8f96a24ec51f94f1fdacde0ab35664f4914f1ee1c93", kill_on_drop: false }` [INFO] [stdout] 1658d9ded3b2654df7f9a8f96a24ec51f94f1fdacde0ab35664f4914f1ee1c93