[INFO] fetching crate fantasy-cpu-emulator 0.1.1... [INFO] testing fantasy-cpu-emulator-0.1.1 against beta-2022-04-10 for beta-1.61-1 [INFO] extracting crate fantasy-cpu-emulator 0.1.1 into /workspace/builds/worker-29/source [INFO] validating manifest of crates.io crate fantasy-cpu-emulator 0.1.1 on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate fantasy-cpu-emulator 0.1.1 [INFO] finished tweaking crates.io crate fantasy-cpu-emulator 0.1.1 [INFO] tweaked toml for crates.io crate fantasy-cpu-emulator 0.1.1 written to /workspace/builds/worker-29/source/Cargo.toml [INFO] crate crates.io crate fantasy-cpu-emulator 0.1.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0a5f686d32cf65df928436f47b42317a36a074f9848acbe5c167c551d66ed509 [INFO] running `Command { std: "docker" "start" "-a" "0a5f686d32cf65df928436f47b42317a36a074f9848acbe5c167c551d66ed509", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0a5f686d32cf65df928436f47b42317a36a074f9848acbe5c167c551d66ed509", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0a5f686d32cf65df928436f47b42317a36a074f9848acbe5c167c551d66ed509", kill_on_drop: false }` [INFO] [stdout] 0a5f686d32cf65df928436f47b42317a36a074f9848acbe5c167c551d66ed509 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2f7f0f8a5e4df576fba65aeb723a8ded1303590cadff98d637c0e9d198c81134 [INFO] running `Command { std: "docker" "start" "-a" "2f7f0f8a5e4df576fba65aeb723a8ded1303590cadff98d637c0e9d198c81134", kill_on_drop: false }` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] [stderr] Compiling proc-macro2 v1.0.19 [INFO] [stderr] Compiling syn v1.0.39 [INFO] [stderr] Compiling getopts v0.2.21 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling fantasy-cpu-emulator-macros v0.1.0 [INFO] [stderr] Compiling fantasy-cpu-emulator v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/lib.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | #[macro_use] extern crate quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `potato::potato_chip` [INFO] [stdout] --> src/lib.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use potato::potato_chip; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/unpipelined_potato.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | if (forward_by > 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 33 - if (forward_by > 0) { [INFO] [stdout] 33 + if forward_by > 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/unpipelined_potato.rs:37:14 [INFO] [stdout] | [INFO] [stdout] 37 | if (progress != 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - if (progress != 0) { [INFO] [stdout] 37 + if progress != 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/unpipelined_potato.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | (from & ((1 << 36) - 1)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 73 - (from & ((1 << 36) - 1)) [INFO] [stdout] 73 + from & ((1 << 36) - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/unpipelined_potato.rs:77:20 [INFO] [stdout] | [INFO] [stdout] 77 | let test_bit = (1 << 35); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 77 - let test_bit = (1 << 35); [INFO] [stdout] 77 + let test_bit = 1 << 35; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/unpipelined_potato.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 88 - (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stdout] 88 + u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unpipelined_potato::unpipelined_potato_chip` [INFO] [stdout] --> src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use unpipelined_potato::unpipelined_potato_chip; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/jackfruit.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | if (forward_by > 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 51 - if (forward_by > 0) { [INFO] [stdout] 51 + if forward_by > 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/jackfruit.rs:62:14 [INFO] [stdout] | [INFO] [stdout] 62 | if (progress != 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 62 - if (progress != 0) { [INFO] [stdout] 62 + if progress != 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/jackfruit.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | (from & ((1 << 36) - 1)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 139 - (from & ((1 << 36) - 1)) [INFO] [stdout] 139 + from & ((1 << 36) - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/jackfruit.rs:143:20 [INFO] [stdout] | [INFO] [stdout] 143 | let test_bit = (1 << 35); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 143 - let test_bit = (1 << 35); [INFO] [stdout] 143 + let test_bit = 1 << 35; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/jackfruit.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 154 - (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stdout] 154 + u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/jackfruit.rs:784:7 [INFO] [stdout] | [INFO] [stdout] 784 | (1 << 35) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 784 - (1 << 35) [INFO] [stdout] 784 + 1 << 35 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/jackfruit.rs:817:7 [INFO] [stdout] | [INFO] [stdout] 817 | (1 << 35) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 817 - (1 << 35) [INFO] [stdout] 817 + 1 << 35 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/jackfruit.rs:954:4 [INFO] [stdout] | [INFO] [stdout] 954 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/jackfruit.rs:959:4 [INFO] [stdout] | [INFO] [stdout] 959 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/jackfruit.rs:964:4 [INFO] [stdout] | [INFO] [stdout] 964 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jackfruit::jackfruit_chip` [INFO] [stdout] --> src/lib.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use jackfruit::jackfruit_chip; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/potato.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn write_out_state(input: StateBundle) -> () { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fetched` [INFO] [stdout] --> src/potato.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let mut fetched = fetch(&mem, mem.registers.ip); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fetched` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> src/potato.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut decoded = match pipeline_outputs.0 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `assign_architectural_registers` [INFO] [stdout] --> src/potato.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let mut assign_architectural_registers = match pipeline_outputs.1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assign_architectural_registers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `forward_by` [INFO] [stdout] --> src/potato.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option, Option, Option src/jackfruit.rs:97:50 [INFO] [stdout] | [INFO] [stdout] 97 | Work::StalledComputing { forward_by: forward_by_2, progress, instruction, mem, waiting_on } => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by_2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `forward_by_2` [INFO] [stdout] --> src/jackfruit.rs:102:46 [INFO] [stdout] | [INFO] [stdout] 102 | Work::StalledComputing { forward_by: forward_by_2, progress, instruction, mem, waiting_on } => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by_2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/jackfruit.rs:225:86 [INFO] [stdout] | [INFO] [stdout] 225 | } -> F *, BackEnd <- 1 (super::super::Instruction::F(super::super::Instructions::F{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stdout] | ^ help: try ignoring the field: `a: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/jackfruit.rs:225:89 [INFO] [stdout] | [INFO] [stdout] 225 | } -> F *, BackEnd <- 1 (super::super::Instruction::F(super::super::Instructions::F{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stdout] | ^ help: try ignoring the field: `b: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/jackfruit.rs:303:13 [INFO] [stdout] | [INFO] [stdout] 303 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/jackfruit.rs:357:10 [INFO] [stdout] | [INFO] [stdout] 357 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/jackfruit.rs:492:10 [INFO] [stdout] | [INFO] [stdout] 492 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/jackfruit.rs:546:13 [INFO] [stdout] | [INFO] [stdout] 546 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/jackfruit.rs:623:86 [INFO] [stdout] | [INFO] [stdout] 623 | } -> T *, BackEnd <- 1 (super::super::Instruction::T(super::super::Instructions::T{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stdout] | ^ help: try ignoring the field: `a: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/jackfruit.rs:623:89 [INFO] [stdout] | [INFO] [stdout] 623 | } -> T *, BackEnd <- 1 (super::super::Instruction::T(super::super::Instructions::T{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stdout] | ^ help: try ignoring the field: `b: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/potato.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let mut fetched = fetch(&mem, mem.registers.ip); [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/potato.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let mut decoded = match pipeline_outputs.0 { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/potato.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | let mut assign_architectural_registers = match pipeline_outputs.1 { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `StateBundle` [INFO] [stdout] --> src/potato.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct StateBundle { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `MemoryWrite` [INFO] [stdout] --> src/potato.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct MemoryWrite { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fetch` [INFO] [stdout] --> src/potato.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn fetch(mem: &Memories::t, input: U10) -> U36 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `write_out_state` [INFO] [stdout] --> src/potato.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn write_out_state(input: StateBundle) -> () { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `tick` [INFO] [stdout] --> src/potato.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option, Option, Option src/unpipelined_potato.rs:10:3 [INFO] [stdout] | [INFO] [stdout] 10 | type MachineState = (Instruction, Memories::t); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Fetching` [INFO] [stdout] --> src/unpipelined_potato.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | Fetching{ progress: u32, mem: Memories::t,}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Work` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/unpipelined_potato.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Debug,PartialEq,Eq,Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Computing` [INFO] [stdout] --> src/unpipelined_potato.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | Computing{ progress: u32, instruction: Instruction, mem: Memories::t,}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Work` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/unpipelined_potato.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Debug,PartialEq,Eq,Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fetch` [INFO] [stdout] --> src/unpipelined_potato.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn fetch(mem: &Memories::t, input: U10) -> U36 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_mem` [INFO] [stdout] --> src/unpipelined_potato.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn get_mem(work: Work) -> Memories::t { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `begin_tick` [INFO] [stdout] --> src/unpipelined_potato.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn begin_tick(forward_by: u32, mem: Memories::t) -> Work { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `tick` [INFO] [stdout] --> src/unpipelined_potato.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn tick(forward_by: u32, working: Work) -> Work { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `u36_to_u64` [INFO] [stdout] --> src/unpipelined_potato.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn u36_to_u64(from: U36) -> u64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `u64_to_u36` [INFO] [stdout] --> src/unpipelined_potato.rs:72:10 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn u64_to_u36(from: u64) -> U36 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `u36_to_i64` [INFO] [stdout] --> src/unpipelined_potato.rs:75:10 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn u36_to_i64(from: U36) -> i64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `i64_to_u36` [INFO] [stdout] --> src/unpipelined_potato.rs:85:10 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn i64_to_u36(from: i64) -> U36 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clampU` [INFO] [stdout] --> src/unpipelined_potato.rs:90:10 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn clampU(from: u64, max: u64) -> u64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clampS` [INFO] [stdout] --> src/unpipelined_potato.rs:97:10 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn clampS(from: i64, max: i64, min: i64) -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/potato.rs:19:14 [INFO] [stdout] | [INFO] [stdout] 19 | panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [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: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 19 - panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stdout] 19 + panic!("fetch from outside of bounds: {}", input); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/unpipelined_potato.rs:19:14 [INFO] [stdout] | [INFO] [stdout] 19 | panic!(format!("fetch from outside of bounds: {}", input)); [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: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 19 - panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stdout] 19 + panic!("fetch from outside of bounds: {}", input); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/jackfruit.rs:21:14 [INFO] [stdout] | [INFO] [stdout] 21 | panic!(format!("fetch from outside of bounds: {}", input)); [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: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 21 - panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stdout] 21 + panic!("fetch from outside of bounds: {}", input); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clampU` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:90:10 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn clampU(from: u64, max: u64) -> u64 { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `clamp_u` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clampS` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:97:10 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn clampS(from: i64, max: i64, min: i64) -> i64 { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `clamp_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clampU` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:163:10 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn clampU(from: u64, max: u64) -> u64 { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `clamp_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clampS` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:170:10 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn clampS(from: i64, max: i64, min: i64) -> i64 { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `clamp_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Fetch` should have a snake case name [INFO] [stdout] --> src/potato.rs:51:14 [INFO] [stdout] | [INFO] [stdout] 51 | - fetch in Fetch = super::super::fetch [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Decode` should have a snake case name [INFO] [stdout] --> src/potato.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | - decode in Decode = super::super::Instructions::decode [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `MemoryToArchitecturalRegisters` should have a snake case name [INFO] [stdout] --> src/potato.rs:53:41 [INFO] [stdout] | [INFO] [stdout] 53 | - memory_to_architecture_registers in MemoryToArchitecturalRegisters: super::super::Instruction -> Instruction [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_to_architectural_registers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Compute` should have a snake case name [INFO] [stdout] --> src/potato.rs:54:16 [INFO] [stdout] | [INFO] [stdout] 54 | - compute in Compute: super::MemoryToArchitecturalRegisters::Instruction -> super::super::StateBundle [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `compute` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `WriteOutState` should have a snake case name [INFO] [stdout] --> src/potato.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | - write_out_state in WriteOutState = super::super::write_out_state [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_out_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Fetch` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:120:14 [INFO] [stdout] | [INFO] [stdout] 120 | - fetch in Fetch = super::super::fetch [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Decode` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:121:15 [INFO] [stdout] | [INFO] [stdout] 121 | - decode in Decode = super::super::Instructions::decode [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `BackEnd` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | - back_end in BackEnd: super::super::MachineState -> super::super::Memories::t [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `back_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Fetch` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:197:14 [INFO] [stdout] | [INFO] [stdout] 197 | - fetch in Fetch = super::super::fetch [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Decode` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:198:15 [INFO] [stdout] | [INFO] [stdout] 198 | - decode in Decode = super::super::Instructions::decode [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `CheckStall` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:199:20 [INFO] [stdout] | [INFO] [stdout] 199 | - check_stall in CheckStall: super::super::MachineState -> super::super::Work [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `check_stall` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `BackEnd` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:200:17 [INFO] [stdout] | [INFO] [stdout] 200 | - back_end in BackEnd: super::super::MachineState -> super::super::Memories::t [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `back_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 74 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fantasy_cpu_emulator::jackfruit` [INFO] [stdout] --> src/bin/fantasy_emulator.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use fantasy_cpu_emulator::jackfruit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Matches` [INFO] [stdout] --> src/bin/fantasy_assembler.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use getopts::{Options,Matches}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 11.87s [INFO] running `Command { std: "docker" "inspect" "2f7f0f8a5e4df576fba65aeb723a8ded1303590cadff98d637c0e9d198c81134", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2f7f0f8a5e4df576fba65aeb723a8ded1303590cadff98d637c0e9d198c81134", kill_on_drop: false }` [INFO] [stdout] 2f7f0f8a5e4df576fba65aeb723a8ded1303590cadff98d637c0e9d198c81134 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 46c8d936c6226fe0b4d05f3bd99f9fb02d545214d93ee9858fd1d0d41ad7ee2c [INFO] running `Command { std: "docker" "start" "-a" "46c8d936c6226fe0b4d05f3bd99f9fb02d545214d93ee9858fd1d0d41ad7ee2c", kill_on_drop: false }` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/lib.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | #[macro_use] extern crate quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `potato::potato_chip` [INFO] [stdout] --> src/lib.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use potato::potato_chip; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/unpipelined_potato.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | if (forward_by > 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 33 - if (forward_by > 0) { [INFO] [stdout] 33 + if forward_by > 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/unpipelined_potato.rs:37:14 [INFO] [stdout] | [INFO] [stdout] 37 | if (progress != 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - if (progress != 0) { [INFO] [stdout] 37 + if progress != 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/unpipelined_potato.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | (from & ((1 << 36) - 1)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 73 - (from & ((1 << 36) - 1)) [INFO] [stdout] 73 + from & ((1 << 36) - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/unpipelined_potato.rs:77:20 [INFO] [stdout] | [INFO] [stdout] 77 | let test_bit = (1 << 35); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 77 - let test_bit = (1 << 35); [INFO] [stdout] 77 + let test_bit = 1 << 35; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/unpipelined_potato.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 88 - (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stdout] 88 + u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unpipelined_potato::unpipelined_potato_chip` [INFO] [stdout] --> src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use unpipelined_potato::unpipelined_potato_chip; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/jackfruit.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | if (forward_by > 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 51 - if (forward_by > 0) { [INFO] [stdout] 51 + if forward_by > 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/jackfruit.rs:62:14 [INFO] [stdout] | [INFO] [stdout] 62 | if (progress != 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 62 - if (progress != 0) { [INFO] [stdout] 62 + if progress != 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/jackfruit.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | (from & ((1 << 36) - 1)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 139 - (from & ((1 << 36) - 1)) [INFO] [stdout] 139 + from & ((1 << 36) - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/jackfruit.rs:143:20 [INFO] [stdout] | [INFO] [stdout] 143 | let test_bit = (1 << 35); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 143 - let test_bit = (1 << 35); [INFO] [stdout] 143 + let test_bit = 1 << 35; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/jackfruit.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 154 - (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stdout] 154 + u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/jackfruit.rs:784:7 [INFO] [stdout] | [INFO] [stdout] 784 | (1 << 35) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 784 - (1 << 35) [INFO] [stdout] 784 + 1 << 35 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/jackfruit.rs:817:7 [INFO] [stdout] | [INFO] [stdout] 817 | (1 << 35) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 817 - (1 << 35) [INFO] [stdout] 817 + 1 << 35 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/jackfruit.rs:954:4 [INFO] [stdout] | [INFO] [stdout] 954 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/jackfruit.rs:959:4 [INFO] [stdout] | [INFO] [stdout] 959 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/jackfruit.rs:964:4 [INFO] [stdout] | [INFO] [stdout] 964 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jackfruit::jackfruit_chip` [INFO] [stdout] --> src/lib.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use jackfruit::jackfruit_chip; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/potato.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn write_out_state(input: StateBundle) -> () { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fetched` [INFO] [stdout] --> src/potato.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let mut fetched = fetch(&mem, mem.registers.ip); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fetched` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> src/potato.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut decoded = match pipeline_outputs.0 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `assign_architectural_registers` [INFO] [stdout] --> src/potato.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let mut assign_architectural_registers = match pipeline_outputs.1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assign_architectural_registers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `forward_by` [INFO] [stdout] --> src/potato.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option, Option, Option src/jackfruit.rs:97:50 [INFO] [stdout] | [INFO] [stdout] 97 | Work::StalledComputing { forward_by: forward_by_2, progress, instruction, mem, waiting_on } => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by_2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `forward_by_2` [INFO] [stdout] --> src/jackfruit.rs:102:46 [INFO] [stdout] | [INFO] [stdout] 102 | Work::StalledComputing { forward_by: forward_by_2, progress, instruction, mem, waiting_on } => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by_2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/jackfruit.rs:225:86 [INFO] [stdout] | [INFO] [stdout] 225 | } -> F *, BackEnd <- 1 (super::super::Instruction::F(super::super::Instructions::F{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stdout] | ^ help: try ignoring the field: `a: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/jackfruit.rs:225:89 [INFO] [stdout] | [INFO] [stdout] 225 | } -> F *, BackEnd <- 1 (super::super::Instruction::F(super::super::Instructions::F{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stdout] | ^ help: try ignoring the field: `b: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/jackfruit.rs:303:13 [INFO] [stdout] | [INFO] [stdout] 303 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/jackfruit.rs:357:10 [INFO] [stdout] | [INFO] [stdout] 357 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/jackfruit.rs:492:10 [INFO] [stdout] | [INFO] [stdout] 492 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/jackfruit.rs:546:13 [INFO] [stdout] | [INFO] [stdout] 546 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/jackfruit.rs:623:86 [INFO] [stdout] | [INFO] [stdout] 623 | } -> T *, BackEnd <- 1 (super::super::Instruction::T(super::super::Instructions::T{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stdout] | ^ help: try ignoring the field: `a: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/jackfruit.rs:623:89 [INFO] [stdout] | [INFO] [stdout] 623 | } -> T *, BackEnd <- 1 (super::super::Instruction::T(super::super::Instructions::T{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stdout] | ^ help: try ignoring the field: `b: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/potato.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let mut fetched = fetch(&mem, mem.registers.ip); [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/potato.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let mut decoded = match pipeline_outputs.0 { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/potato.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | let mut assign_architectural_registers = match pipeline_outputs.1 { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `StateBundle` [INFO] [stdout] --> src/potato.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct StateBundle { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `MemoryWrite` [INFO] [stdout] --> src/potato.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct MemoryWrite { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fetch` [INFO] [stdout] --> src/potato.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn fetch(mem: &Memories::t, input: U10) -> U36 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `write_out_state` [INFO] [stdout] --> src/potato.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn write_out_state(input: StateBundle) -> () { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `tick` [INFO] [stdout] --> src/potato.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option, Option, Option src/unpipelined_potato.rs:10:3 [INFO] [stdout] | [INFO] [stdout] 10 | type MachineState = (Instruction, Memories::t); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Fetching` [INFO] [stdout] --> src/unpipelined_potato.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | Fetching{ progress: u32, mem: Memories::t,}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Work` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/unpipelined_potato.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Debug,PartialEq,Eq,Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Computing` [INFO] [stdout] --> src/unpipelined_potato.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | Computing{ progress: u32, instruction: Instruction, mem: Memories::t,}, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `Work` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] --> src/unpipelined_potato.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | #[derive(Debug,PartialEq,Eq,Clone)] [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fetch` [INFO] [stdout] --> src/unpipelined_potato.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn fetch(mem: &Memories::t, input: U10) -> U36 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `get_mem` [INFO] [stdout] --> src/unpipelined_potato.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn get_mem(work: Work) -> Memories::t { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `begin_tick` [INFO] [stdout] --> src/unpipelined_potato.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn begin_tick(forward_by: u32, mem: Memories::t) -> Work { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `tick` [INFO] [stdout] --> src/unpipelined_potato.rs:32:10 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn tick(forward_by: u32, working: Work) -> Work { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `u36_to_u64` [INFO] [stdout] --> src/unpipelined_potato.rs:69:10 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn u36_to_u64(from: U36) -> u64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `u64_to_u36` [INFO] [stdout] --> src/unpipelined_potato.rs:72:10 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn u64_to_u36(from: u64) -> U36 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `u36_to_i64` [INFO] [stdout] --> src/unpipelined_potato.rs:75:10 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn u36_to_i64(from: U36) -> i64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `i64_to_u36` [INFO] [stdout] --> src/unpipelined_potato.rs:85:10 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn i64_to_u36(from: i64) -> U36 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clampU` [INFO] [stdout] --> src/unpipelined_potato.rs:90:10 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn clampU(from: u64, max: u64) -> u64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `clampS` [INFO] [stdout] --> src/unpipelined_potato.rs:97:10 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn clampS(from: i64, max: i64, min: i64) -> i64 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/potato.rs:19:14 [INFO] [stdout] | [INFO] [stdout] 19 | panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [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: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 19 - panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stdout] 19 + panic!("fetch from outside of bounds: {}", input); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/unpipelined_potato.rs:19:14 [INFO] [stdout] | [INFO] [stdout] 19 | panic!(format!("fetch from outside of bounds: {}", input)); [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: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 19 - panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stdout] 19 + panic!("fetch from outside of bounds: {}", input); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/jackfruit.rs:21:14 [INFO] [stdout] | [INFO] [stdout] 21 | panic!(format!("fetch from outside of bounds: {}", input)); [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: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 21 - panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stdout] 21 + panic!("fetch from outside of bounds: {}", input); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clampU` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:90:10 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn clampU(from: u64, max: u64) -> u64 { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `clamp_u` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clampS` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:97:10 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn clampS(from: i64, max: i64, min: i64) -> i64 { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `clamp_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clampU` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:163:10 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn clampU(from: u64, max: u64) -> u64 { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `clamp_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clampS` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:170:10 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn clampS(from: i64, max: i64, min: i64) -> i64 { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `clamp_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Fetch` should have a snake case name [INFO] [stdout] --> src/potato.rs:51:14 [INFO] [stdout] | [INFO] [stdout] 51 | - fetch in Fetch = super::super::fetch [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Decode` should have a snake case name [INFO] [stdout] --> src/potato.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | - decode in Decode = super::super::Instructions::decode [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `MemoryToArchitecturalRegisters` should have a snake case name [INFO] [stdout] --> src/potato.rs:53:41 [INFO] [stdout] | [INFO] [stdout] 53 | - memory_to_architecture_registers in MemoryToArchitecturalRegisters: super::super::Instruction -> Instruction [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_to_architectural_registers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Compute` should have a snake case name [INFO] [stdout] --> src/potato.rs:54:16 [INFO] [stdout] | [INFO] [stdout] 54 | - compute in Compute: super::MemoryToArchitecturalRegisters::Instruction -> super::super::StateBundle [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `compute` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `WriteOutState` should have a snake case name [INFO] [stdout] --> src/potato.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | - write_out_state in WriteOutState = super::super::write_out_state [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_out_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Fetch` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:120:14 [INFO] [stdout] | [INFO] [stdout] 120 | - fetch in Fetch = super::super::fetch [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Decode` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:121:15 [INFO] [stdout] | [INFO] [stdout] 121 | - decode in Decode = super::super::Instructions::decode [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `BackEnd` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | - back_end in BackEnd: super::super::MachineState -> super::super::Memories::t [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `back_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Fetch` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:197:14 [INFO] [stdout] | [INFO] [stdout] 197 | - fetch in Fetch = super::super::fetch [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Decode` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:198:15 [INFO] [stdout] | [INFO] [stdout] 198 | - decode in Decode = super::super::Instructions::decode [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `CheckStall` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:199:20 [INFO] [stdout] | [INFO] [stdout] 199 | - check_stall in CheckStall: super::super::MachineState -> super::super::Work [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `check_stall` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling fantasy-cpu-emulator v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: module `BackEnd` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:200:17 [INFO] [stdout] | [INFO] [stdout] 200 | - back_end in BackEnd: super::super::MachineState -> super::super::Memories::t [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `back_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 74 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fantasy_cpu_emulator::jackfruit` [INFO] [stdout] --> src/bin/fantasy_emulator.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use fantasy_cpu_emulator::jackfruit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Matches` [INFO] [stdout] --> src/bin/fantasy_assembler.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use getopts::{Options,Matches}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/lib.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | #[macro_use] extern crate quote; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `potato::potato_chip` [INFO] [stdout] --> src/lib.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use potato::potato_chip; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/unpipelined_potato.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | if (forward_by > 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 33 - if (forward_by > 0) { [INFO] [stdout] 33 + if forward_by > 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/unpipelined_potato.rs:37:14 [INFO] [stdout] | [INFO] [stdout] 37 | if (progress != 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - if (progress != 0) { [INFO] [stdout] 37 + if progress != 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/unpipelined_potato.rs:73:5 [INFO] [stdout] | [INFO] [stdout] 73 | (from & ((1 << 36) - 1)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 73 - (from & ((1 << 36) - 1)) [INFO] [stdout] 73 + from & ((1 << 36) - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/unpipelined_potato.rs:77:20 [INFO] [stdout] | [INFO] [stdout] 77 | let test_bit = (1 << 35); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 77 - let test_bit = (1 << 35); [INFO] [stdout] 77 + let test_bit = 1 << 35; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/unpipelined_potato.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 88 - (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stdout] 88 + u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `unpipelined_potato::unpipelined_potato_chip` [INFO] [stdout] --> src/lib.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use unpipelined_potato::unpipelined_potato_chip; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/jackfruit.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 51 | if (forward_by > 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 51 - if (forward_by > 0) { [INFO] [stdout] 51 + if forward_by > 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/jackfruit.rs:62:14 [INFO] [stdout] | [INFO] [stdout] 62 | if (progress != 0) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 62 - if (progress != 0) { [INFO] [stdout] 62 + if progress != 0 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/jackfruit.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | (from & ((1 << 36) - 1)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 139 - (from & ((1 << 36) - 1)) [INFO] [stdout] 139 + from & ((1 << 36) - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/jackfruit.rs:143:20 [INFO] [stdout] | [INFO] [stdout] 143 | let test_bit = (1 << 35); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 143 - let test_bit = (1 << 35); [INFO] [stdout] 143 + let test_bit = 1 << 35; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/jackfruit.rs:154:5 [INFO] [stdout] | [INFO] [stdout] 154 | (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 154 - (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stdout] 154 + u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/jackfruit.rs:784:7 [INFO] [stdout] | [INFO] [stdout] 784 | (1 << 35) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 784 - (1 << 35) [INFO] [stdout] 784 + 1 << 35 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/jackfruit.rs:817:7 [INFO] [stdout] | [INFO] [stdout] 817 | (1 << 35) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 817 - (1 << 35) [INFO] [stdout] 817 + 1 << 35 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/jackfruit.rs:954:4 [INFO] [stdout] | [INFO] [stdout] 954 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/jackfruit.rs:959:4 [INFO] [stdout] | [INFO] [stdout] 959 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/jackfruit.rs:964:4 [INFO] [stdout] | [INFO] [stdout] 964 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jackfruit::jackfruit_chip` [INFO] [stdout] --> src/lib.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use jackfruit::jackfruit_chip; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/potato.rs:23:26 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn write_out_state(input: StateBundle) -> () { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fetched` [INFO] [stdout] --> src/potato.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let mut fetched = fetch(&mem, mem.registers.ip); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fetched` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `decoded` [INFO] [stdout] --> src/potato.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut decoded = match pipeline_outputs.0 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `assign_architectural_registers` [INFO] [stdout] --> src/potato.rs:31:13 [INFO] [stdout] | [INFO] [stdout] 31 | let mut assign_architectural_registers = match pipeline_outputs.1 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assign_architectural_registers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `forward_by` [INFO] [stdout] --> src/potato.rs:25:15 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option, Option, Option src/jackfruit.rs:97:50 [INFO] [stdout] | [INFO] [stdout] 97 | Work::StalledComputing { forward_by: forward_by_2, progress, instruction, mem, waiting_on } => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by_2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `forward_by_2` [INFO] [stdout] --> src/jackfruit.rs:102:46 [INFO] [stdout] | [INFO] [stdout] 102 | Work::StalledComputing { forward_by: forward_by_2, progress, instruction, mem, waiting_on } => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by_2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/jackfruit.rs:225:86 [INFO] [stdout] | [INFO] [stdout] 225 | } -> F *, BackEnd <- 1 (super::super::Instruction::F(super::super::Instructions::F{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stdout] | ^ help: try ignoring the field: `a: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/jackfruit.rs:225:89 [INFO] [stdout] | [INFO] [stdout] 225 | } -> F *, BackEnd <- 1 (super::super::Instruction::F(super::super::Instructions::F{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stdout] | ^ help: try ignoring the field: `b: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/jackfruit.rs:303:13 [INFO] [stdout] | [INFO] [stdout] 303 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/jackfruit.rs:357:10 [INFO] [stdout] | [INFO] [stdout] 357 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `m` [INFO] [stdout] --> src/jackfruit.rs:492:10 [INFO] [stdout] | [INFO] [stdout] 492 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> src/jackfruit.rs:546:13 [INFO] [stdout] | [INFO] [stdout] 546 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/jackfruit.rs:623:86 [INFO] [stdout] | [INFO] [stdout] 623 | } -> T *, BackEnd <- 1 (super::super::Instruction::T(super::super::Instructions::T{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stdout] | ^ help: try ignoring the field: `a: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `b` [INFO] [stdout] --> src/jackfruit.rs:623:89 [INFO] [stdout] | [INFO] [stdout] 623 | } -> T *, BackEnd <- 1 (super::super::Instruction::T(super::super::Instructions::T{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stdout] | ^ help: try ignoring the field: `b: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/potato.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | let mut fetched = fetch(&mem, mem.registers.ip); [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/potato.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let mut decoded = match pipeline_outputs.0 { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/potato.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | let mut assign_architectural_registers = match pipeline_outputs.1 { [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `StateBundle` [INFO] [stdout] --> src/potato.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct StateBundle { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `MemoryWrite` [INFO] [stdout] --> src/potato.rs:14:14 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct MemoryWrite { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `fetch` [INFO] [stdout] --> src/potato.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn fetch(mem: &Memories::t, input: U10) -> U36 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `write_out_state` [INFO] [stdout] --> src/potato.rs:23:10 [INFO] [stdout] | [INFO] [stdout] 23 | pub fn write_out_state(input: StateBundle) -> () { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `tick` [INFO] [stdout] --> src/potato.rs:25:10 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option, Option, Option src/potato.rs:19:14 [INFO] [stdout] | [INFO] [stdout] 19 | panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [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: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 19 - panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stdout] 19 + panic!("fetch from outside of bounds: {}", input); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/unpipelined_potato.rs:19:14 [INFO] [stdout] | [INFO] [stdout] 19 | panic!(format!("fetch from outside of bounds: {}", input)); [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: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 19 - panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stdout] 19 + panic!("fetch from outside of bounds: {}", input); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/jackfruit.rs:21:14 [INFO] [stdout] | [INFO] [stdout] 21 | panic!(format!("fetch from outside of bounds: {}", input)); [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: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 21 - panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stdout] 21 + panic!("fetch from outside of bounds: {}", input); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clampU` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:90:10 [INFO] [stdout] | [INFO] [stdout] 90 | pub fn clampU(from: u64, max: u64) -> u64 { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `clamp_u` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clampS` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:97:10 [INFO] [stdout] | [INFO] [stdout] 97 | pub fn clampS(from: i64, max: i64, min: i64) -> i64 { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `clamp_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clampU` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:163:10 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn clampU(from: u64, max: u64) -> u64 { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `clamp_u` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clampS` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:170:10 [INFO] [stdout] | [INFO] [stdout] 170 | pub fn clampS(from: i64, max: i64, min: i64) -> i64 { [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `clamp_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Fetch` should have a snake case name [INFO] [stdout] --> src/potato.rs:51:14 [INFO] [stdout] | [INFO] [stdout] 51 | - fetch in Fetch = super::super::fetch [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Decode` should have a snake case name [INFO] [stdout] --> src/potato.rs:52:15 [INFO] [stdout] | [INFO] [stdout] 52 | - decode in Decode = super::super::Instructions::decode [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `MemoryToArchitecturalRegisters` should have a snake case name [INFO] [stdout] --> src/potato.rs:53:41 [INFO] [stdout] | [INFO] [stdout] 53 | - memory_to_architecture_registers in MemoryToArchitecturalRegisters: super::super::Instruction -> Instruction [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_to_architectural_registers` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Compute` should have a snake case name [INFO] [stdout] --> src/potato.rs:54:16 [INFO] [stdout] | [INFO] [stdout] 54 | - compute in Compute: super::MemoryToArchitecturalRegisters::Instruction -> super::super::StateBundle [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `compute` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `WriteOutState` should have a snake case name [INFO] [stdout] --> src/potato.rs:55:24 [INFO] [stdout] | [INFO] [stdout] 55 | - write_out_state in WriteOutState = super::super::write_out_state [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_out_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Fetch` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:120:14 [INFO] [stdout] | [INFO] [stdout] 120 | - fetch in Fetch = super::super::fetch [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Decode` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:121:15 [INFO] [stdout] | [INFO] [stdout] 121 | - decode in Decode = super::super::Instructions::decode [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `BackEnd` should have a snake case name [INFO] [stdout] --> src/unpipelined_potato.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | - back_end in BackEnd: super::super::MachineState -> super::super::Memories::t [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `back_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Fetch` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:197:14 [INFO] [stdout] | [INFO] [stdout] 197 | - fetch in Fetch = super::super::fetch [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `Decode` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:198:15 [INFO] [stdout] | [INFO] [stdout] 198 | - decode in Decode = super::super::Instructions::decode [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `decode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `CheckStall` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:199:20 [INFO] [stdout] | [INFO] [stdout] 199 | - check_stall in CheckStall: super::super::MachineState -> super::super::Work [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `check_stall` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: module `BackEnd` should have a snake case name [INFO] [stdout] --> src/jackfruit.rs:200:17 [INFO] [stdout] | [INFO] [stdout] 200 | - back_end in BackEnd: super::super::MachineState -> super::super::Memories::t [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `back_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 61 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.26s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/fantasy_cpu_emulator-9961c7df61d63041) [INFO] [stderr] Executable unittests src/bin/fantasy_assembler.rs (/opt/rustwide/target/debug/deps/fantasy_assembler-3d25cfc820c4b14b) [INFO] [stderr] Executable unittests src/bin/fantasy_emulator.rs (/opt/rustwide/target/debug/deps/fantasy_emulator-718969958e3bcbaa) [INFO] running `Command { std: "docker" "inspect" "46c8d936c6226fe0b4d05f3bd99f9fb02d545214d93ee9858fd1d0d41ad7ee2c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "46c8d936c6226fe0b4d05f3bd99f9fb02d545214d93ee9858fd1d0d41ad7ee2c", kill_on_drop: false }` [INFO] [stdout] 46c8d936c6226fe0b4d05f3bd99f9fb02d545214d93ee9858fd1d0d41ad7ee2c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-29/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=warn" "-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:b0c94ce3c1162fcb8e57cac5b65ec2f72eabb1eebea4fcc35e269e823f681646" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 3def23f306771a3f26965e4cfa1326488f948abdc470a7ea0f6992f0f6d2433d [INFO] running `Command { std: "docker" "start" "-a" "3def23f306771a3f26965e4cfa1326488f948abdc470a7ea0f6992f0f6d2433d", kill_on_drop: false }` [INFO] [stderr] warning: only one of `license` or `license-file` is necessary [INFO] [stderr] `license` should be used if the package license can be expressed with a standard SPDX expression. [INFO] [stderr] `license-file` should be used if the package uses a non-standard license. [INFO] [stderr] See https://doc.rust-lang.org/cargo/reference/manifest.html#the-license-and-license-file-fields for more information. [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | #[macro_use] extern crate quote; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `potato::potato_chip` [INFO] [stderr] --> src/lib.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use potato::potato_chip; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/unpipelined_potato.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | if (forward_by > 0) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 33 - if (forward_by > 0) { [INFO] [stderr] 33 + if forward_by > 0 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/unpipelined_potato.rs:37:14 [INFO] [stderr] | [INFO] [stderr] 37 | if (progress != 0) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 37 - if (progress != 0) { [INFO] [stderr] 37 + if progress != 0 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/unpipelined_potato.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | (from & ((1 << 36) - 1)) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 73 - (from & ((1 << 36) - 1)) [INFO] [stderr] 73 + from & ((1 << 36) - 1) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/unpipelined_potato.rs:77:20 [INFO] [stderr] | [INFO] [stderr] 77 | let test_bit = (1 << 35); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 77 - let test_bit = (1 << 35); [INFO] [stderr] 77 + let test_bit = 1 << 35; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/unpipelined_potato.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 88 - (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stderr] 88 + u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused import: `unpipelined_potato::unpipelined_potato_chip` [INFO] [stderr] --> src/lib.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use unpipelined_potato::unpipelined_potato_chip; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/jackfruit.rs:51:8 [INFO] [stderr] | [INFO] [stderr] 51 | if (forward_by > 0) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 51 - if (forward_by > 0) { [INFO] [stderr] 51 + if forward_by > 0 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/jackfruit.rs:62:14 [INFO] [stderr] | [INFO] [stderr] 62 | if (progress != 0) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 62 - if (progress != 0) { [INFO] [stderr] 62 + if progress != 0 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/jackfruit.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | (from & ((1 << 36) - 1)) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 139 - (from & ((1 << 36) - 1)) [INFO] [stderr] 139 + from & ((1 << 36) - 1) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/jackfruit.rs:143:20 [INFO] [stderr] | [INFO] [stderr] 143 | let test_bit = (1 << 35); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 143 - let test_bit = (1 << 35); [INFO] [stderr] 143 + let test_bit = 1 << 35; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/jackfruit.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 154 - (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stderr] 154 + u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/jackfruit.rs:784:7 [INFO] [stderr] | [INFO] [stderr] 784 | (1 << 35) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 784 - (1 << 35) [INFO] [stderr] 784 + 1 << 35 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> src/jackfruit.rs:817:7 [INFO] [stderr] | [INFO] [stderr] 817 | (1 << 35) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 817 - (1 << 35) [INFO] [stderr] 817 + 1 << 35 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/jackfruit.rs:954:4 [INFO] [stderr] | [INFO] [stderr] 954 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/jackfruit.rs:959:4 [INFO] [stderr] | [INFO] [stderr] 959 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/jackfruit.rs:964:4 [INFO] [stderr] | [INFO] [stderr] 964 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unused import: `jackfruit::jackfruit_chip` [INFO] [stderr] --> src/lib.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use jackfruit::jackfruit_chip; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/potato.rs:23:26 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn write_out_state(input: StateBundle) -> () { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `fetched` [INFO] [stderr] --> src/potato.rs:26:13 [INFO] [stderr] | [INFO] [stderr] 26 | let mut fetched = fetch(&mem, mem.registers.ip); [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fetched` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `decoded` [INFO] [stderr] --> src/potato.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | let mut decoded = match pipeline_outputs.0 { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decoded` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `assign_architectural_registers` [INFO] [stderr] --> src/potato.rs:31:13 [INFO] [stderr] | [INFO] [stderr] 31 | let mut assign_architectural_registers = match pipeline_outputs.1 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_assign_architectural_registers` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `forward_by` [INFO] [stderr] --> src/potato.rs:25:15 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option, Option, Option src/jackfruit.rs:97:50 [INFO] [stderr] | [INFO] [stderr] 97 | Work::StalledComputing { forward_by: forward_by_2, progress, instruction, mem, waiting_on } => { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by_2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `forward_by_2` [INFO] [stderr] --> src/jackfruit.rs:102:46 [INFO] [stderr] | [INFO] [stderr] 102 | Work::StalledComputing { forward_by: forward_by_2, progress, instruction, mem, waiting_on } => { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_forward_by_2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/jackfruit.rs:225:86 [INFO] [stderr] | [INFO] [stderr] 225 | } -> F *, BackEnd <- 1 (super::super::Instruction::F(super::super::Instructions::F{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stderr] | ^ help: try ignoring the field: `a: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/jackfruit.rs:225:89 [INFO] [stderr] | [INFO] [stderr] 225 | } -> F *, BackEnd <- 1 (super::super::Instruction::F(super::super::Instructions::F{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stderr] | ^ help: try ignoring the field: `b: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/jackfruit.rs:303:13 [INFO] [stderr] | [INFO] [stderr] 303 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `m` [INFO] [stderr] --> src/jackfruit.rs:357:10 [INFO] [stderr] | [INFO] [stderr] 357 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `m` [INFO] [stderr] --> src/jackfruit.rs:492:10 [INFO] [stderr] | [INFO] [stderr] 492 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_m` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/jackfruit.rs:546:13 [INFO] [stderr] | [INFO] [stderr] 546 | let (m, n) = (u36_to_u64(fetch(&mems, a)), u36_to_u64(fetch(&mems, b))); [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `a` [INFO] [stderr] --> src/jackfruit.rs:623:86 [INFO] [stderr] | [INFO] [stderr] 623 | } -> T *, BackEnd <- 1 (super::super::Instruction::T(super::super::Instructions::T{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stderr] | ^ help: try ignoring the field: `a: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/jackfruit.rs:623:89 [INFO] [stderr] | [INFO] [stderr] 623 | } -> T *, BackEnd <- 1 (super::super::Instruction::T(super::super::Instructions::T{a, b, c}), mems) => { let mut new_mems = mems; new_m... [INFO] [stderr] | ^ help: try ignoring the field: `b: _` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/potato.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | let mut fetched = fetch(&mem, mem.registers.ip); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/potato.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | let mut decoded = match pipeline_outputs.0 { [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/potato.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | let mut assign_architectural_registers = match pipeline_outputs.1 { [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `StateBundle` [INFO] [stderr] --> src/potato.rs:11:14 [INFO] [stderr] | [INFO] [stderr] 11 | pub struct StateBundle { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `MemoryWrite` [INFO] [stderr] --> src/potato.rs:14:14 [INFO] [stderr] | [INFO] [stderr] 14 | pub struct MemoryWrite { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fetch` [INFO] [stderr] --> src/potato.rs:17:10 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn fetch(mem: &Memories::t, input: U10) -> U36 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `write_out_state` [INFO] [stderr] --> src/potato.rs:23:10 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn write_out_state(input: StateBundle) -> () { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `tick` [INFO] [stderr] --> src/potato.rs:25:10 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn tick(forward_by: u64, mem: Memories::t, pipeline_outputs: (Option, Option, Option src/unpipelined_potato.rs:10:3 [INFO] [stderr] | [INFO] [stderr] 10 | type MachineState = (Instruction, Memories::t); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Fetching` [INFO] [stderr] --> src/unpipelined_potato.rs:13:5 [INFO] [stderr] | [INFO] [stderr] 13 | Fetching{ progress: u32, mem: Memories::t,}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Work` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/unpipelined_potato.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | #[derive(Debug,PartialEq,Eq,Clone)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Computing` [INFO] [stderr] --> src/unpipelined_potato.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | Computing{ progress: u32, instruction: Instruction, mem: Memories::t,}, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: `Work` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] --> src/unpipelined_potato.rs:11:12 [INFO] [stderr] | [INFO] [stderr] 11 | #[derive(Debug,PartialEq,Eq,Clone)] [INFO] [stderr] | ^^^^^ ^^^^^ [INFO] [stderr] = note: this warning originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: function is never used: `fetch` [INFO] [stderr] --> src/unpipelined_potato.rs:17:10 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn fetch(mem: &Memories::t, input: U10) -> U36 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_mem` [INFO] [stderr] --> src/unpipelined_potato.rs:23:10 [INFO] [stderr] | [INFO] [stderr] 23 | pub fn get_mem(work: Work) -> Memories::t { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `begin_tick` [INFO] [stderr] --> src/unpipelined_potato.rs:29:10 [INFO] [stderr] | [INFO] [stderr] 29 | pub fn begin_tick(forward_by: u32, mem: Memories::t) -> Work { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `tick` [INFO] [stderr] --> src/unpipelined_potato.rs:32:10 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn tick(forward_by: u32, working: Work) -> Work { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `u36_to_u64` [INFO] [stderr] --> src/unpipelined_potato.rs:69:10 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn u36_to_u64(from: U36) -> u64 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `u64_to_u36` [INFO] [stderr] --> src/unpipelined_potato.rs:72:10 [INFO] [stderr] | [INFO] [stderr] 72 | pub fn u64_to_u36(from: u64) -> U36 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `u36_to_i64` [INFO] [stderr] --> src/unpipelined_potato.rs:75:10 [INFO] [stderr] | [INFO] [stderr] 75 | pub fn u36_to_i64(from: U36) -> i64 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `i64_to_u36` [INFO] [stderr] --> src/unpipelined_potato.rs:85:10 [INFO] [stderr] | [INFO] [stderr] 85 | pub fn i64_to_u36(from: i64) -> U36 { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `clampU` [INFO] [stderr] --> src/unpipelined_potato.rs:90:10 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn clampU(from: u64, max: u64) -> u64 { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `clampS` [INFO] [stderr] --> src/unpipelined_potato.rs:97:10 [INFO] [stderr] | [INFO] [stderr] 97 | pub fn clampS(from: i64, max: i64, min: i64) -> i64 { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/potato.rs:19:14 [INFO] [stderr] | [INFO] [stderr] 19 | panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 19 - panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stderr] 19 + panic!("fetch from outside of bounds: {}", input); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/unpipelined_potato.rs:19:14 [INFO] [stderr] | [INFO] [stderr] 19 | panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 19 - panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stderr] 19 + panic!("fetch from outside of bounds: {}", input); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/jackfruit.rs:21:14 [INFO] [stderr] | [INFO] [stderr] 21 | panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of panic!() is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: the panic!() macro supports formatting, so there's no need for the format!() macro here [INFO] [stderr] help: remove the `format!(..)` macro call [INFO] [stderr] | [INFO] [stderr] 21 - panic!(format!("fetch from outside of bounds: {}", input)); [INFO] [stderr] 21 + panic!("fetch from outside of bounds: {}", input); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: function `clampU` should have a snake case name [INFO] [stderr] --> src/unpipelined_potato.rs:90:10 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn clampU(from: u64, max: u64) -> u64 { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `clamp_u` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function `clampS` should have a snake case name [INFO] [stderr] --> src/unpipelined_potato.rs:97:10 [INFO] [stderr] | [INFO] [stderr] 97 | pub fn clampS(from: i64, max: i64, min: i64) -> i64 { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `clamp_s` [INFO] [stderr] [INFO] [stderr] warning: function `clampU` should have a snake case name [INFO] [stderr] --> src/jackfruit.rs:163:10 [INFO] [stderr] | [INFO] [stderr] 163 | pub fn clampU(from: u64, max: u64) -> u64 { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `clamp_u` [INFO] [stderr] [INFO] [stderr] warning: function `clampS` should have a snake case name [INFO] [stderr] --> src/jackfruit.rs:170:10 [INFO] [stderr] | [INFO] [stderr] 170 | pub fn clampS(from: i64, max: i64, min: i64) -> i64 { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `clamp_s` [INFO] [stderr] [INFO] [stderr] warning: module `Fetch` should have a snake case name [INFO] [stderr] --> src/potato.rs:51:14 [INFO] [stderr] | [INFO] [stderr] 51 | - fetch in Fetch = super::super::fetch [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch` [INFO] [stderr] [INFO] [stderr] warning: module `Decode` should have a snake case name [INFO] [stderr] --> src/potato.rs:52:15 [INFO] [stderr] | [INFO] [stderr] 52 | - decode in Decode = super::super::Instructions::decode [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `decode` [INFO] [stderr] [INFO] [stderr] warning: module `MemoryToArchitecturalRegisters` should have a snake case name [INFO] [stderr] --> src/potato.rs:53:41 [INFO] [stderr] | [INFO] [stderr] 53 | - memory_to_architecture_registers in MemoryToArchitecturalRegisters: super::super::Instruction -> Instruction [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_to_architectural_registers` [INFO] [stderr] [INFO] [stderr] warning: module `Compute` should have a snake case name [INFO] [stderr] --> src/potato.rs:54:16 [INFO] [stderr] | [INFO] [stderr] 54 | - compute in Compute: super::MemoryToArchitecturalRegisters::Instruction -> super::super::StateBundle [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `compute` [INFO] [stderr] [INFO] [stderr] warning: module `WriteOutState` should have a snake case name [INFO] [stderr] --> src/potato.rs:55:24 [INFO] [stderr] | [INFO] [stderr] 55 | - write_out_state in WriteOutState = super::super::write_out_state [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_out_state` [INFO] [stderr] [INFO] [stderr] warning: module `Fetch` should have a snake case name [INFO] [stderr] --> src/unpipelined_potato.rs:120:14 [INFO] [stderr] | [INFO] [stderr] 120 | - fetch in Fetch = super::super::fetch [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch` [INFO] [stderr] [INFO] [stderr] warning: module `Decode` should have a snake case name [INFO] [stderr] --> src/unpipelined_potato.rs:121:15 [INFO] [stderr] | [INFO] [stderr] 121 | - decode in Decode = super::super::Instructions::decode [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `decode` [INFO] [stderr] [INFO] [stderr] warning: module `BackEnd` should have a snake case name [INFO] [stderr] --> src/unpipelined_potato.rs:122:17 [INFO] [stderr] | [INFO] [stderr] 122 | - back_end in BackEnd: super::super::MachineState -> super::super::Memories::t [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `back_end` [INFO] [stderr] [INFO] [stderr] warning: module `Fetch` should have a snake case name [INFO] [stderr] --> src/jackfruit.rs:197:14 [INFO] [stderr] | [INFO] [stderr] 197 | - fetch in Fetch = super::super::fetch [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case (notice the capitalization): `fetch` [INFO] [stderr] [INFO] [stderr] warning: module `Decode` should have a snake case name [INFO] [stderr] --> src/jackfruit.rs:198:15 [INFO] [stderr] | [INFO] [stderr] 198 | - decode in Decode = super::super::Instructions::decode [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `decode` [INFO] [stderr] [INFO] [stderr] warning: module `CheckStall` should have a snake case name [INFO] [stderr] --> src/jackfruit.rs:199:20 [INFO] [stderr] | [INFO] [stderr] 199 | - check_stall in CheckStall: super::super::MachineState -> super::super::Work [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `check_stall` [INFO] [stderr] [INFO] [stderr] warning: module `BackEnd` should have a snake case name [INFO] [stderr] --> src/jackfruit.rs:200:17 [INFO] [stderr] | [INFO] [stderr] 200 | - back_end in BackEnd: super::super::MachineState -> super::super::Memories::t [INFO] [stderr] | ^^^^^^^ help: convert the identifier to snake case: `back_end` [INFO] [stderr] [INFO] [stderr] warning: `fantasy-cpu-emulator` (lib) generated 74 warnings [INFO] [stderr] warning: `fantasy-cpu-emulator` (lib test) generated 61 warnings (61 duplicates) [INFO] [stderr] warning: unused import: `Matches` [INFO] [stderr] --> src/bin/fantasy_assembler.rs:3:23 [INFO] [stderr] | [INFO] [stderr] 3 | use getopts::{Options,Matches}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `fantasy_cpu_emulator::jackfruit` [INFO] [stderr] --> src/bin/fantasy_emulator.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use fantasy_cpu_emulator::jackfruit; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `fantasy-cpu-emulator` (bin "fantasy-assembler" test) generated 1 warning [INFO] [stderr] warning: `fantasy-cpu-emulator` (bin "fantasy-emulator" test) generated 1 warning [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fantasy_cpu_emulator-9961c7df61d63041) [INFO] [stdout] [INFO] [stdout] running 12 tests [INFO] [stdout] test jackfruit::roundtrip_signed_ints ... ok [INFO] [stdout] test jackfruit::test_assembler ... ok [INFO] [stdout] test unpipelined_potato::roundtrip_signed_ints ... ok [INFO] [stdout] test jackfruit::run_nops ... ok [INFO] [stdout] test unpipelined_potato::run_add ... ok [INFO] [stdout] test jackfruit::test_jumps_stall ... ok [INFO] [stdout] test jackfruit::run_add ... ok [INFO] [stdout] test jackfruit::test_jumps ... ok [INFO] [stdout] test jackfruit::run_adds ... ok [INFO] [stdout] test jackfruit::test_bitops ... ok [INFO] [stdout] test unpipelined_potato::run_adds ... ok [INFO] [stdout] test unpipelined_potato::run_nops ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/fantasy_assembler.rs (/opt/rustwide/target/debug/deps/fantasy_assembler-3d25cfc820c4b14b) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/fantasy_emulator.rs (/opt/rustwide/target/debug/deps/fantasy_emulator-718969958e3bcbaa) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests fantasy-cpu-emulator [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> /opt/rustwide/workdir/src/unpipelined_potato.rs:33:8 [INFO] [stderr] | [INFO] [stderr] 33 | if (forward_by > 0) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 33 - if (forward_by > 0) { [INFO] [stderr] 33 + if forward_by > 0 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> /opt/rustwide/workdir/src/unpipelined_potato.rs:37:14 [INFO] [stderr] | [INFO] [stderr] 37 | if (progress != 0) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 37 - if (progress != 0) { [INFO] [stderr] 37 + if progress != 0 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/workdir/src/unpipelined_potato.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | (from & ((1 << 36) - 1)) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 73 - (from & ((1 << 36) - 1)) [INFO] [stderr] 73 + from & ((1 << 36) - 1) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> /opt/rustwide/workdir/src/unpipelined_potato.rs:77:20 [INFO] [stderr] | [INFO] [stderr] 77 | let test_bit = (1 << 35); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 77 - let test_bit = (1 << 35); [INFO] [stderr] 77 + let test_bit = 1 << 35; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/workdir/src/unpipelined_potato.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 88 - (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stderr] 88 + u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> /opt/rustwide/workdir/src/jackfruit.rs:51:8 [INFO] [stderr] | [INFO] [stderr] 51 | if (forward_by > 0) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 51 - if (forward_by > 0) { [INFO] [stderr] 51 + if forward_by > 0 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> /opt/rustwide/workdir/src/jackfruit.rs:62:14 [INFO] [stderr] | [INFO] [stderr] 62 | if (progress != 0) { [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 62 - if (progress != 0) { [INFO] [stderr] 62 + if progress != 0 { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/workdir/src/jackfruit.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | (from & ((1 << 36) - 1)) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 139 - (from & ((1 << 36) - 1)) [INFO] [stderr] 139 + from & ((1 << 36) - 1) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> /opt/rustwide/workdir/src/jackfruit.rs:143:20 [INFO] [stderr] | [INFO] [stderr] 143 | let test_bit = (1 << 35); [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 143 - let test_bit = (1 << 35); [INFO] [stderr] 143 + let test_bit = 1 << 35; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/workdir/src/jackfruit.rs:154:5 [INFO] [stderr] | [INFO] [stderr] 154 | (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 154 - (u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1)) [INFO] [stderr] 154 + u64::from_ne_bytes(i64::to_ne_bytes(from)) & ((1 << 36) - 1) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/workdir/src/jackfruit.rs:784:7 [INFO] [stderr] | [INFO] [stderr] 784 | (1 << 35) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 784 - (1 << 35) [INFO] [stderr] 784 + 1 << 35 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around block return value [INFO] [stderr] --> /opt/rustwide/workdir/src/jackfruit.rs:817:7 [INFO] [stderr] | [INFO] [stderr] 817 | (1 << 35) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 817 - (1 << 35) [INFO] [stderr] 817 + 1 << 35 [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> /opt/rustwide/workdir/src/jackfruit.rs:954:4 [INFO] [stderr] | [INFO] [stderr] 954 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> /opt/rustwide/workdir/src/jackfruit.rs:959:4 [INFO] [stderr] | [INFO] [stderr] 959 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> /opt/rustwide/workdir/src/jackfruit.rs:964:4 [INFO] [stderr] | [INFO] [stderr] 964 | }; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] [INFO] [stderr] warning: 15 warnings emitted [INFO] [stderr] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "3def23f306771a3f26965e4cfa1326488f948abdc470a7ea0f6992f0f6d2433d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3def23f306771a3f26965e4cfa1326488f948abdc470a7ea0f6992f0f6d2433d", kill_on_drop: false }` [INFO] [stdout] 3def23f306771a3f26965e4cfa1326488f948abdc470a7ea0f6992f0f6d2433d