[INFO] cloning repository https://github.com/InconsolableCellist/SynacorCPU [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/InconsolableCellist/SynacorCPU" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FInconsolableCellist%2FSynacorCPU", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FInconsolableCellist%2FSynacorCPU'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d8f68c31a0619f6ecd197a9c1fae05b4d9bbc584 [INFO] checking InconsolableCellist/SynacorCPU/d8f68c31a0619f6ecd197a9c1fae05b4d9bbc584 against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FInconsolableCellist%2FSynacorCPU" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/InconsolableCellist/SynacorCPU on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/InconsolableCellist/SynacorCPU [INFO] finished tweaking git repo https://github.com/InconsolableCellist/SynacorCPU [INFO] tweaked toml for git repo https://github.com/InconsolableCellist/SynacorCPU written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/InconsolableCellist/SynacorCPU 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" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded serde_json v1.0.58 [INFO] [stderr] Downloaded sdl2 v0.34.3 [INFO] [stderr] Downloaded sdl2-sys v0.34.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f05640171c3a75267e14c46563aceb2ff1ccc91aacc8d99d8f59e79a216fb2fe [INFO] running `Command { std: "docker" "start" "-a" "f05640171c3a75267e14c46563aceb2ff1ccc91aacc8d99d8f59e79a216fb2fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f05640171c3a75267e14c46563aceb2ff1ccc91aacc8d99d8f59e79a216fb2fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f05640171c3a75267e14c46563aceb2ff1ccc91aacc8d99d8f59e79a216fb2fe", kill_on_drop: false }` [INFO] [stdout] f05640171c3a75267e14c46563aceb2ff1ccc91aacc8d99d8f59e79a216fb2fe [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d2b36a958216be3a7abd04461082d8b2751a02dd7fb1292e2cde632a38fb3db7 [INFO] running `Command { std: "docker" "start" "-a" "d2b36a958216be3a7abd04461082d8b2751a02dd7fb1292e2cde632a38fb3db7", kill_on_drop: false }` [INFO] [stderr] Compiling version-compare v0.0.10 [INFO] [stderr] Compiling syn v1.0.42 [INFO] [stderr] Compiling libc v0.2.77 [INFO] [stderr] Compiling serde_derive v1.0.116 [INFO] [stderr] Compiling serde v1.0.116 [INFO] [stderr] Compiling serde_json v1.0.58 [INFO] [stderr] Compiling sdl2 v0.34.3 [INFO] [stderr] Compiling sdl2-sys v0.34.3 [INFO] [stderr] Checking synacor_cpu v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/hypervisor_controller/mod.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | use serde::{Serialize, Deserialize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/hypervisor_controller/mod.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/hypervisor_controller/mod.rs:2:13 [INFO] [stdout] | [INFO] [stdout] 2 | use serde::{Serialize, Deserialize}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::Split` [INFO] [stdout] --> src/hypervisor_controller/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::str::Split; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/hypervisor_controller/mod.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | if (loc <= TOM as u16) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 25 - if (loc <= TOM as u16) { [INFO] [stdout] 25 + if loc <= TOM as u16 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/hypervisor_controller/mod.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/hypervisor_controller/mod.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | if (m0.debug) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 128 - if (m0.debug) { [INFO] [stdout] 128 + if m0.debug { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer` [INFO] [stdout] --> src/machine/mod.rs:8:37 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Serialize, Deserialize, Serializer, Deserializer}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::Split` [INFO] [stdout] --> src/hypervisor_controller/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::str::Split; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/hypervisor_controller/mod.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | if (loc <= TOM as u16) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 25 - if (loc <= TOM as u16) { [INFO] [stdout] 25 + if loc <= TOM as u16 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/hypervisor_controller/mod.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 128 | if (m0.debug) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 128 - if (m0.debug) { [INFO] [stdout] 128 + if m0.debug { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserializer` and `Serializer` [INFO] [stdout] --> src/machine/mod.rs:8:37 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Serialize, Deserialize, Serializer, Deserializer}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m0` [INFO] [stdout] --> src/hypervisor_controller/mod.rs:113:19 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn print_regs(m0:&mut Machine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_m0` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m0` [INFO] [stdout] --> src/hypervisor_controller/mod.rs:113:19 [INFO] [stdout] | [INFO] [stdout] 113 | pub fn print_regs(m0:&mut Machine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_m0` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m0` [INFO] [stdout] --> src/hypervisor_controller/mod.rs:117:21 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn goto_and_run(m0:&mut Machine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_m0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m0` [INFO] [stdout] --> src/hypervisor_controller/mod.rs:117:21 [INFO] [stdout] | [INFO] [stdout] 117 | pub fn goto_and_run(m0:&mut Machine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_m0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m0` [INFO] [stdout] --> src/hypervisor_controller/mod.rs:121:23 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn examine_memory(m0:&mut Machine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_m0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m0` [INFO] [stdout] --> src/hypervisor_controller/mod.rs:121:23 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn examine_memory(m0:&mut Machine) { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_m0` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `val` is never read [INFO] [stdout] --> src/machine/mod.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | let mut val:u16 = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `val` is never read [INFO] [stdout] --> src/machine/mod.rs:101:17 [INFO] [stdout] | [INFO] [stdout] 101 | let mut val:u16 = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/machine/mod.rs:599:17 [INFO] [stdout] | [INFO] [stdout] 599 | let mut input = String::new(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/machine/mod.rs:599:17 [INFO] [stdout] | [INFO] [stdout] 599 | let mut input = String::new(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/machine/mod.rs:599:13 [INFO] [stdout] | [INFO] [stdout] 599 | let mut input = String::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/machine/mod.rs:599:13 [INFO] [stdout] | [INFO] [stdout] 599 | let mut input = String::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `FailedToReadLine` is never constructed [INFO] [stdout] --> src/errors/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 8 | FailedToReadLine, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `FailedToReadLine` is never constructed [INFO] [stdout] --> src/errors/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 8 | FailedToReadLine, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `recentMemAccess` should have a snake case name [INFO] [stdout] --> src/machine/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub recentMemAccess:Vec<(u16, u8)>, // contains: (memory cell that was read or written to, type of access). To be consumed and prune... [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `recent_mem_access` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: structure field `recentMemAccess` should have a snake case name [INFO] [stdout] --> src/machine/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub recentMemAccess:Vec<(u16, u8)>, // contains: (memory cell that was read or written to, type of access). To be consumed and prune... [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `recent_mem_access` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/machine/mod.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | panic!(Error::MemoryInvalid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 43 | panic!("{}", Error::MemoryInvalid); [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 43 | std::panic::panic_any(Error::MemoryInvalid); [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/machine/mod.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | panic!(Error::MemoryInvalid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 43 | panic!("{}", Error::MemoryInvalid); [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 43 | std::panic::panic_any(Error::MemoryInvalid); [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/machine/mod.rs:53:20 [INFO] [stdout] | [INFO] [stdout] 53 | panic!(Error::MemoryInvalid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 53 | panic!("{}", Error::MemoryInvalid); [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 53 | std::panic::panic_any(Error::MemoryInvalid); [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/machine/mod.rs:53:20 [INFO] [stdout] | [INFO] [stdout] 53 | panic!(Error::MemoryInvalid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 53 | panic!("{}", Error::MemoryInvalid); [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 53 | std::panic::panic_any(Error::MemoryInvalid); [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/machine/mod.rs:107:20 [INFO] [stdout] | [INFO] [stdout] 107 | panic!(Error::MemoryInvalid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 107 | panic!("{}", Error::MemoryInvalid); [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 107 | std::panic::panic_any(Error::MemoryInvalid); [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/machine/mod.rs:107:20 [INFO] [stdout] | [INFO] [stdout] 107 | panic!(Error::MemoryInvalid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 107 | panic!("{}", Error::MemoryInvalid); [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 107 | std::panic::panic_any(Error::MemoryInvalid); [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/machine/mod.rs:133:20 [INFO] [stdout] | [INFO] [stdout] 133 | panic!(Error::MemoryInvalid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 133 | panic!("{}", Error::MemoryInvalid); [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 133 | std::panic::panic_any(Error::MemoryInvalid); [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/machine/mod.rs:133:20 [INFO] [stdout] | [INFO] [stdout] 133 | panic!(Error::MemoryInvalid); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 133 | panic!("{}", Error::MemoryInvalid); [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 133 | std::panic::panic_any(Error::MemoryInvalid); [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/machine/mod.rs:222:16 [INFO] [stdout] | [INFO] [stdout] 222 | panic!(Error::UnknownOpcode) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 222 | panic!("{}", Error::UnknownOpcode) [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 222 | std::panic::panic_any(Error::UnknownOpcode) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/machine/mod.rs:222:16 [INFO] [stdout] | [INFO] [stdout] 222 | panic!(Error::UnknownOpcode) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 222 | panic!("{}", Error::UnknownOpcode) [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 222 | std::panic::panic_any(Error::UnknownOpcode) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/machine/mod.rs:298:28 [INFO] [stdout] | [INFO] [stdout] 298 | None => panic!(Error::EmptyStack) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 298 | None => panic!("{}", Error::EmptyStack) [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 298 | None => std::panic::panic_any(Error::EmptyStack) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/machine/mod.rs:298:28 [INFO] [stdout] | [INFO] [stdout] 298 | None => panic!(Error::EmptyStack) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 298 | None => panic!("{}", Error::EmptyStack) [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 298 | None => std::panic::panic_any(Error::EmptyStack) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/machine/mod.rs:585:28 [INFO] [stdout] | [INFO] [stdout] 585 | None => panic!(Error::EmptyStack) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 585 | None => panic!("{}", Error::EmptyStack) [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 585 | None => std::panic::panic_any(Error::EmptyStack) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/machine/mod.rs:585:28 [INFO] [stdout] | [INFO] [stdout] 585 | None => panic!(Error::EmptyStack) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 585 | None => panic!("{}", Error::EmptyStack) [INFO] [stdout] | +++++ [INFO] [stdout] help: or use std::panic::panic_any instead [INFO] [stdout] | [INFO] [stdout] 585 | None => std::panic::panic_any(Error::EmptyStack) [INFO] [stdout] | ~~~~~~~~~~~~~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/display.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CanvasBuilder` and `Texture` [INFO] [stdout] --> src/display.rs:8:50 [INFO] [stdout] | [INFO] [stdout] 8 | use self::sdl2::render::{TextureCreator, Canvas, Texture, CanvasBuilder}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WindowContext` [INFO] [stdout] --> src/display.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | use self::sdl2::video::{WindowContext, Window}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IndexMut` and `Index` [INFO] [stdout] --> src/main.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ops::{Index, IndexMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/main.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{self, Write, Read}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::char` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::char; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyStack`, `FailedToReadLine`, `MemoryInvalid`, and `UnknownOpcode` [INFO] [stdout] --> src/main.rs:8:28 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::errors::Error::{MemoryInvalid, UnknownOpcode, EmptyStack, FailedToReadLine}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::num::Wrapping` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::num::Wrapping; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `crate::NUM_REG` [INFO] [stdout] --> src/tests.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::{Machine, TOM, NUM_REG}; [INFO] [stdout] | ^^^^^^^ no `NUM_REG` in the root [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::num::Wrapping` [INFO] [stdout] --> src/tests.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | use std::num::Wrapping; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/display.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `CanvasBuilder` and `Texture` [INFO] [stdout] --> src/display.rs:8:50 [INFO] [stdout] | [INFO] [stdout] 8 | use self::sdl2::render::{TextureCreator, Canvas, Texture, CanvasBuilder}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WindowContext` [INFO] [stdout] --> src/display.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | use self::sdl2::video::{WindowContext, Window}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IndexMut` and `Index` [INFO] [stdout] --> src/main.rs:5:16 [INFO] [stdout] | [INFO] [stdout] 5 | use std::ops::{Index, IndexMut}; [INFO] [stdout] | ^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Write` [INFO] [stdout] --> src/main.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{self, Write, Read}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::char` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::char; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EmptyStack`, `FailedToReadLine`, `MemoryInvalid`, and `UnknownOpcode` [INFO] [stdout] --> src/main.rs:8:28 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::errors::Error::{MemoryInvalid, UnknownOpcode, EmptyStack, FailedToReadLine}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::num::Wrapping` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::num::Wrapping; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `up_to` [INFO] [stdout] --> src/display.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | fn draw_empty_cells(up_to:u16, canvas:&mut Canvas, machine:&Machine) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_up_to` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `val` is never read [INFO] [stdout] --> src/main.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let mut val:u16 = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `MemoryInvalid`, `UnknownOpcode`, `EmptyStack`, and `FailedToReadLine` are never constructed [INFO] [stdout] --> src/errors/mod.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Error { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 5 | MemoryInvalid, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 6 | UnknownOpcode, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 7 | EmptyStack, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 8 | FailedToReadLine, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `registers` of struct `Machine` is private [INFO] [stdout] --> src/tests.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 24 | assert_eq!(m0.registers[0], 0); [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `registers` of struct `Machine` is private [INFO] [stdout] --> src/tests.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | assert_eq!(m0.registers[NUM_REG-1], 0); [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `registers` of struct `Machine` is private [INFO] [stdout] --> src/tests.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | m0.registers[0] = 0x0F0F; [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `registers` of struct `Machine` is private [INFO] [stdout] --> src/tests.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | m0.registers[7] = 0xAA00; [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `registers` of struct `Machine` is private [INFO] [stdout] --> src/tests.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | assert_eq!(m0.registers[0], 0x0F0F); [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `registers` of struct `Machine` is private [INFO] [stdout] --> src/tests.rs:31:23 [INFO] [stdout] | [INFO] [stdout] 31 | assert_eq!(m0.registers[NUM_REG-1], 0xAA00); [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | frontpanelRun(&mut m0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 36 | let _ = frontpanelRun(&mut m0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `frontpanelRun` should have a snake case name [INFO] [stdout] --> src/display.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn frontpanelRun(m0:&mut Machine) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `frontpanel_run` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/display.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | texture_canvas.draw_point(Point::new(0,0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 40 | let _ = texture_canvas.draw_point(Point::new(0,0)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/display.rs:87:13 [INFO] [stdout] | [INFO] [stdout] 87 | canvas.fill_rect(Rect::new(10*i as i32, 0, 10, 20)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 87 | let _ = canvas.fill_rect(Rect::new(10*i as i32, 0, 10, 20)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `y_offset` should have an upper case name [INFO] [stdout] --> src/display.rs:113:11 [INFO] [stdout] | [INFO] [stdout] 113 | const y_offset:i32 = 20; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `Y_OFFSET` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_upper_case_globals)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `rect_width` should have an upper case name [INFO] [stdout] --> src/display.rs:114:11 [INFO] [stdout] | [INFO] [stdout] 114 | const rect_width:u32 = 40; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper case: `RECT_WIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `rect_height` should have an upper case name [INFO] [stdout] --> src/display.rs:115:11 [INFO] [stdout] | [INFO] [stdout] 115 | const rect_height:u32 = 3; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `RECT_HEIGHT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/display.rs:128:13 [INFO] [stdout] | [INFO] [stdout] 128 | canvas.fill_rect(Rect::new(x * rect_width as i32, (y * rect_height as i32) + y_offset, rect_width, rect_height)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 128 | let _ = canvas.fill_rect(Rect::new(x * rect_width as i32, (y * rect_height as i32) + y_offset, rect_width, rect_height)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `y_offset` should have an upper case name [INFO] [stdout] --> src/display.rs:134:11 [INFO] [stdout] | [INFO] [stdout] 134 | const y_offset:i32 = 20; [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper case: `Y_OFFSET` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `rect_width` should have an upper case name [INFO] [stdout] --> src/display.rs:135:11 [INFO] [stdout] | [INFO] [stdout] 135 | const rect_width:i32 = 40; [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper case: `RECT_WIDTH` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `rect_height` should have an upper case name [INFO] [stdout] --> src/display.rs:136:11 [INFO] [stdout] | [INFO] [stdout] 136 | const rect_height:i32 = 3; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper case: `RECT_HEIGHT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/display.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | canvas.fill_rect(Rect::new(x, y, rect_width as u32, rect_height as u32)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 147 | let _ = canvas.fill_rect(Rect::new(x, y, rect_width as u32, rect_height as u32)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:98:23 [INFO] [stdout] | [INFO] [stdout] 98 | assert_eq!(m0.peek(0x8000), 4); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:136:23 [INFO] [stdout] | [INFO] [stdout] 136 | assert_eq!(m0.peek(0x8004), 0x00FF); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `registers` of struct `Machine` is private [INFO] [stdout] --> src/tests.rs:137:23 [INFO] [stdout] | [INFO] [stdout] 137 | assert_eq!(m0.registers[4], 0xFF00); [INFO] [stdout] | ^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `stack` of struct `Machine` is private [INFO] [stdout] --> src/tests.rs:149:23 [INFO] [stdout] | [INFO] [stdout] 149 | assert_eq!(m0.stack[0], 0x00AA); [INFO] [stdout] | ^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `stack` of struct `Machine` is private [INFO] [stdout] --> src/tests.rs:150:23 [INFO] [stdout] | [INFO] [stdout] 150 | assert_eq!(m0.stack[1], 0x00FF); [INFO] [stdout] | ^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:151:23 [INFO] [stdout] | [INFO] [stdout] 151 | assert_eq!(m0.peek(0x8000), 0x00CC); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:163:23 [INFO] [stdout] | [INFO] [stdout] 163 | assert_eq!(m0.peek(0x8000), 0x00FF); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:164:23 [INFO] [stdout] | [INFO] [stdout] 164 | assert_eq!(m0.peek(0x0100), 0x00AA); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:176:23 [INFO] [stdout] | [INFO] [stdout] 176 | assert_eq!(m0.peek(0x0100), 0x0001); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:177:23 [INFO] [stdout] | [INFO] [stdout] 177 | assert_eq!(m0.peek(0x8000), 0x0000); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:189:23 [INFO] [stdout] | [INFO] [stdout] 189 | assert_eq!(m0.peek(0x0100), 0x0000); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:190:23 [INFO] [stdout] | [INFO] [stdout] 190 | assert_eq!(m0.peek(0x8000), 0x0001); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:202:23 [INFO] [stdout] | [INFO] [stdout] 202 | assert_eq!(m0.peek(0x8000), 0xFFFF); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:214:23 [INFO] [stdout] | [INFO] [stdout] 214 | assert_eq!(m0.peek(0x8000), 0x0000); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:215:23 [INFO] [stdout] | [INFO] [stdout] 215 | assert_eq!(m0.peek(0x8001), 0xFFFF); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:227:23 [INFO] [stdout] | [INFO] [stdout] 227 | assert_eq!(m0.peek(0x8000), 0x0000); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:228:23 [INFO] [stdout] | [INFO] [stdout] 228 | assert_eq!(m0.peek(0x8001), 0xFFFF); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:240:23 [INFO] [stdout] | [INFO] [stdout] 240 | assert_eq!(m0.peek(0x8001), 0x00FF * 4); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:253:23 [INFO] [stdout] | [INFO] [stdout] 253 | assert_eq!(m0.peek(0x8000), 5); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:265:23 [INFO] [stdout] | [INFO] [stdout] 265 | assert_eq!(m0.peek(0x8000), 0x00AA & (0xDEDE % TOM as u16)); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:277:23 [INFO] [stdout] | [INFO] [stdout] 277 | assert_eq!(m0.peek(0x8000), 254); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:289:23 [INFO] [stdout] | [INFO] [stdout] 289 | assert_eq!(m0.peek(0x8000), (0xFF00 | 0x0055) % TOM as u16); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:302:23 [INFO] [stdout] | [INFO] [stdout] 302 | assert_eq!(m0.peek(0x8000), 0x00FF); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:315:23 [INFO] [stdout] | [INFO] [stdout] 315 | assert_eq!(m0.peek(0x0004), 0x00FF); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:327:23 [INFO] [stdout] | [INFO] [stdout] 327 | assert_eq!(m0.peek(0x8000), 0x00FF); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:328:23 [INFO] [stdout] | [INFO] [stdout] 328 | assert_eq!(m0.peek(0x8001), 0x0000); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:340:23 [INFO] [stdout] | [INFO] [stdout] 340 | assert_eq!(m0.peek(0x8000), 0x00FF); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `peek` is private [INFO] [stdout] --> src/tests.rs:341:23 [INFO] [stdout] | [INFO] [stdout] 341 | assert_eq!(m0.peek(0x8001), 0x00AA); [INFO] [stdout] | ^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/src/machine/mod.rs:99:5 [INFO] [stdout] | [INFO] [stdout] 99 | fn peek(&mut self, dest_addr:u16) -> u16 { [INFO] [stdout] | ---------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests.rs:45:13 [INFO] [stdout] | [INFO] [stdout] 45 | let mut m0 = Machine::new(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/tests.rs:52:13 [INFO] [stdout] | [INFO] [stdout] 52 | let mut m0 = Machine::new(); [INFO] [stdout] | ----^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `up_to` [INFO] [stdout] --> src/display.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | fn draw_empty_cells(up_to:u16, canvas:&mut Canvas, machine:&Machine) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_up_to` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `val` is never read [INFO] [stdout] --> src/main.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | let mut val:u16 = 0; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 35 previous errors; 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0432, E0616, E0624. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0432`. [INFO] [stdout] [INFO] [stderr] error: could not compile `synacor_cpu` (bin "synacor_cpu" test) due to 36 previous errors; 13 warnings emitted [INFO] running `Command { std: "docker" "inspect" "d2b36a958216be3a7abd04461082d8b2751a02dd7fb1292e2cde632a38fb3db7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2b36a958216be3a7abd04461082d8b2751a02dd7fb1292e2cde632a38fb3db7", kill_on_drop: false }` [INFO] [stdout] d2b36a958216be3a7abd04461082d8b2751a02dd7fb1292e2cde632a38fb3db7