[INFO] cloning repository https://github.com/chahanCPU/ASM
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/chahanCPU/ASM" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FchahanCPU%2FASM", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FchahanCPU%2FASM'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 583c27692b6664ac0b24e7ac3936554e464fce57
[INFO] checking chahanCPU/ASM/583c27692b6664ac0b24e7ac3936554e464fce57 against master#04ff05c9c0cfbca33115c5f1b8bb20a66a54b799 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FchahanCPU%2FASM" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/chahanCPU/ASM
[INFO] finished tweaking git repo https://github.com/chahanCPU/ASM
[INFO] tweaked toml for git repo https://github.com/chahanCPU/ASM written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/chahanCPU/ASM on toolchain 04ff05c9c0cfbca33115c5f1b8bb20a66a54b799
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 7 packages to latest compatible versions
[INFO] [stderr]       Adding enum-map v0.6.6 (available: v2.7.3)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded enum-map-derive v0.4.6
[INFO] [stderr]   Downloaded array-macro v1.0.5
[INFO] [stderr]   Downloaded enum-map v0.6.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0ae0e89113797ebab2516bee3c660aff3a7703b1aa8a7b80094e620adb5dc55a
[INFO] running `Command { std: "docker" "start" "-a" "0ae0e89113797ebab2516bee3c660aff3a7703b1aa8a7b80094e620adb5dc55a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0ae0e89113797ebab2516bee3c660aff3a7703b1aa8a7b80094e620adb5dc55a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ae0e89113797ebab2516bee3c660aff3a7703b1aa8a7b80094e620adb5dc55a", kill_on_drop: false }`
[INFO] [stdout] 0ae0e89113797ebab2516bee3c660aff3a7703b1aa8a7b80094e620adb5dc55a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+04ff05c9c0cfbca33115c5f1b8bb20a66a54b799" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 52d28ad9af35831558aef7cc2f29986141fe9e0dd6fa3f3c6a712a065c30ba90
[INFO] running `Command { std: "docker" "start" "-a" "52d28ad9af35831558aef7cc2f29986141fe9e0dd6fa3f3c6a712a065c30ba90", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.103
[INFO] [stderr]    Compiling unicode-ident v1.0.20
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking array-macro v1.0.5
[INFO] [stderr]    Compiling quote v1.0.41
[INFO] [stderr]    Compiling enum-map-derive v0.4.6
[INFO] [stderr]     Checking enum-map v0.6.6
[INFO] [stderr]     Checking asm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/disasm.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]  --> src/disasm.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{BufRead, BufReader, BufWriter, Write};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::discriminant`
[INFO] [stdout]   --> src/computer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::mem::discriminant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/fpu.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout]    |                    ^                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout] 38 +   let init = match (ma>>15)&BITMASK!(8) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:329:63
[INFO] [stdout]     |
[INFO] [stdout] 329 |      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout]     |                                                               ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 329 -      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout] 329 +      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {x2>>3 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:502:72
[INFO] [stdout]     |
[INFO] [stdout] 502 |             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout]     |                                                                        ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 502 -             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout] 502 +             if eyrt==0              { ((myft as u128)<<23) >> 1} else {(myft as u128)<<23 };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:550:28
[INFO] [stdout]     |
[INFO] [stdout] 550 |       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout]     |                            ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 550 -       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout] 550 +       if bit_true32(m,22) {m<<1 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:564:25
[INFO] [stdout]     |
[INFO] [stdout] 564 |       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout]     |                         ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 564 -       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout] 564 +       let ea =  if e>0 {(e>>1) + 64 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/fpu.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout]    |                    ^                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout] 38 +   let init = match (ma>>15)&BITMASK!(8) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:793:129
[INFO] [stdout]     |
[INFO] [stdout] 793 | ...| bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 793 -       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout] 793 +       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {(p1>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:329:63
[INFO] [stdout]     |
[INFO] [stdout] 329 |      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout]     |                                                               ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 329 -      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout] 329 +      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {x2>>3 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:502:72
[INFO] [stdout]     |
[INFO] [stdout] 502 |             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout]     |                                                                        ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 502 -             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout] 502 +             if eyrt==0              { ((myft as u128)<<23) >> 1} else {(myft as u128)<<23 };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:550:28
[INFO] [stdout]     |
[INFO] [stdout] 550 |       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout]     |                            ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 550 -       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout] 550 +       if bit_true32(m,22) {m<<1 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:564:25
[INFO] [stdout]     |
[INFO] [stdout] 564 |       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout]     |                         ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 564 -       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout] 564 +       let ea =  if e>0 {(e>>1) + 64 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:793:129
[INFO] [stdout]     |
[INFO] [stdout] 793 | ...| bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 793 -       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout] 793 +       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {(p1>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:818:129
[INFO] [stdout]     |
[INFO] [stdout] 818 | ...| bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 818 -       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout] 818 +       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {(p2>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:840:52
[INFO] [stdout]     |
[INFO] [stdout] 840 |       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout]     |                                                    ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 840 -       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout] 840 +       let ey = BITMASK!(8)&if bit_true64(mye, 24) {eye + 1 } else {eye};//??
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:854:48
[INFO] [stdout]     |
[INFO] [stdout] 854 |                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout]     |                                                ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 854 -                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout] 854 +                 if s == 0 && e == 255 && !nzm {255<<23 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::discriminant`
[INFO] [stdout]   --> src/computer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::mem::discriminant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:818:129
[INFO] [stdout]     |
[INFO] [stdout] 818 | ...| bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 818 -       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout] 818 +       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {(p2>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:840:52
[INFO] [stdout]     |
[INFO] [stdout] 840 |       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout]     |                                                    ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 840 -       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout] 840 +       let ey = BITMASK!(8)&if bit_true64(mye, 24) {eye + 1 } else {eye};//??
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:854:48
[INFO] [stdout]     |
[INFO] [stdout] 854 |                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout]     |                                                ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 854 -                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout] 854 +                 if s == 0 && e == 255 && !nzm {255<<23 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `computer::Computer`
[INFO] [stdout]   --> src/disasm.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use computer::Computer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/disasm.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/disasm.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]  --> src/disasm.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{BufRead, BufReader, BufWriter, Write};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::discriminant`
[INFO] [stdout]   --> src/computer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::mem::discriminant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/fpu.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout]    |                    ^                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout] 38 +   let init = match (ma>>15)&BITMASK!(8) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:329:63
[INFO] [stdout]     |
[INFO] [stdout] 329 |      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout]     |                                                               ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 329 -      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout] 329 +      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {x2>>3 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:502:72
[INFO] [stdout]     |
[INFO] [stdout] 502 |             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout]     |                                                                        ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 502 -             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout] 502 +             if eyrt==0              { ((myft as u128)<<23) >> 1} else {(myft as u128)<<23 };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:550:28
[INFO] [stdout]     |
[INFO] [stdout] 550 |       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout]     |                            ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 550 -       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout] 550 +       if bit_true32(m,22) {m<<1 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:564:25
[INFO] [stdout]     |
[INFO] [stdout] 564 |       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout]     |                         ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 564 -       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout] 564 +       let ea =  if e>0 {(e>>1) + 64 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:793:129
[INFO] [stdout]     |
[INFO] [stdout] 793 | ...| bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 793 -       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout] 793 +       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {(p1>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:818:129
[INFO] [stdout]     |
[INFO] [stdout] 818 | ...| bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 818 -       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout] 818 +       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {(p2>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:840:52
[INFO] [stdout]     |
[INFO] [stdout] 840 |       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout]     |                                                    ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 840 -       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout] 840 +       let ey = BITMASK!(8)&if bit_true64(mye, 24) {eye + 1 } else {eye};//??
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:854:48
[INFO] [stdout]     |
[INFO] [stdout] 854 |                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout]     |                                                ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 854 -                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout] 854 +                 if s == 0 && e == 255 && !nzm {255<<23 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `computer::Computer`
[INFO] [stdout]   --> src/disasm.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use computer::Computer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/disasm.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::discriminant`
[INFO] [stdout]   --> src/computer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::mem::discriminant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/fpu.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout]    |                    ^                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout] 38 +   let init = match (ma>>15)&BITMASK!(8) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:329:63
[INFO] [stdout]     |
[INFO] [stdout] 329 |      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout]     |                                                               ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 329 -      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout] 329 +      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {x2>>3 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:502:72
[INFO] [stdout]     |
[INFO] [stdout] 502 |             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout]     |                                                                        ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 502 -             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout] 502 +             if eyrt==0              { ((myft as u128)<<23) >> 1} else {(myft as u128)<<23 };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:550:28
[INFO] [stdout]     |
[INFO] [stdout] 550 |       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout]     |                            ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 550 -       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout] 550 +       if bit_true32(m,22) {m<<1 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:564:25
[INFO] [stdout]     |
[INFO] [stdout] 564 |       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout]     |                         ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 564 -       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout] 564 +       let ea =  if e>0 {(e>>1) + 64 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:793:129
[INFO] [stdout]     |
[INFO] [stdout] 793 | ...| bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 793 -       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout] 793 +       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {(p1>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:818:129
[INFO] [stdout]     |
[INFO] [stdout] 818 | ...| bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 818 -       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout] 818 +       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {(p2>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:840:52
[INFO] [stdout]     |
[INFO] [stdout] 840 |       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout]     |                                                    ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 840 -       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout] 840 +       let ey = BITMASK!(8)&if bit_true64(mye, 24) {eye + 1 } else {eye};//??
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:854:48
[INFO] [stdout]     |
[INFO] [stdout] 854 |                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout]     |                                                ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 854 -                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout] 854 +                 if s == 0 && e == 255 && !nzm {255<<23 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/fpu.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout]    |                    ^                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout] 38 +   let init = match (ma>>15)&BITMASK!(8) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:329:63
[INFO] [stdout]     |
[INFO] [stdout] 329 |      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout]     |                                                               ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 329 -      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout] 329 +      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {x2>>3 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:502:72
[INFO] [stdout]     |
[INFO] [stdout] 502 |             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout]     |                                                                        ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 502 -             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout] 502 +             if eyrt==0              { ((myft as u128)<<23) >> 1} else {(myft as u128)<<23 };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:550:28
[INFO] [stdout]     |
[INFO] [stdout] 550 |       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout]     |                            ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 550 -       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout] 550 +       if bit_true32(m,22) {m<<1 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:564:25
[INFO] [stdout]     |
[INFO] [stdout] 564 |       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout]     |                         ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 564 -       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout] 564 +       let ea =  if e>0 {(e>>1) + 64 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:793:129
[INFO] [stdout]     |
[INFO] [stdout] 793 | ...| bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 793 -       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout] 793 +       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {(p1>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:818:129
[INFO] [stdout]     |
[INFO] [stdout] 818 | ...| bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 818 -       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout] 818 +       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {(p2>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:840:52
[INFO] [stdout]     |
[INFO] [stdout] 840 |       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout]     |                                                    ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 840 -       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout] 840 +       let ey = BITMASK!(8)&if bit_true64(mye, 24) {eye + 1 } else {eye};//??
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:854:48
[INFO] [stdout]     |
[INFO] [stdout] 854 |                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout]     |                                                ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 854 -                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout] 854 +                 if s == 0 && e == 255 && !nzm {255<<23 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::discriminant`
[INFO] [stdout]   --> src/computer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::mem::discriminant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::discriminant`
[INFO] [stdout]   --> src/computer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::mem::discriminant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/fpu.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout]    |                    ^                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout] 38 +   let init = match (ma>>15)&BITMASK!(8) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:329:63
[INFO] [stdout]     |
[INFO] [stdout] 329 |      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout]     |                                                               ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 329 -      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout] 329 +      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {x2>>3 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:502:72
[INFO] [stdout]     |
[INFO] [stdout] 502 |             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout]     |                                                                        ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 502 -             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout] 502 +             if eyrt==0              { ((myft as u128)<<23) >> 1} else {(myft as u128)<<23 };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:550:28
[INFO] [stdout]     |
[INFO] [stdout] 550 |       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout]     |                            ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 550 -       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout] 550 +       if bit_true32(m,22) {m<<1 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:564:25
[INFO] [stdout]     |
[INFO] [stdout] 564 |       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout]     |                         ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 564 -       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout] 564 +       let ea =  if e>0 {(e>>1) + 64 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:793:129
[INFO] [stdout]     |
[INFO] [stdout] 793 | ...| bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 793 -       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout] 793 +       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {(p1>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:818:129
[INFO] [stdout]     |
[INFO] [stdout] 818 | ...| bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 818 -       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout] 818 +       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {(p2>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:840:52
[INFO] [stdout]     |
[INFO] [stdout] 840 |       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout]     |                                                    ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 840 -       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout] 840 +       let ey = BITMASK!(8)&if bit_true64(mye, 24) {eye + 1 } else {eye};//??
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:854:48
[INFO] [stdout]     |
[INFO] [stdout] 854 |                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout]     |                                                ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 854 -                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout] 854 +                 if s == 0 && e == 255 && !nzm {255<<23 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/sld2indata.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]  --> src/sld2indata.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{BufRead, BufReader, BufWriter, Write};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/sld2indata.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead` and `BufReader`
[INFO] [stdout]  --> src/sld2indata.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::io::{BufRead, BufReader, BufWriter, Write};
[INFO] [stdout]   |               ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/fpu.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout]    |                    ^                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout] 38 +   let init = match (ma>>15)&BITMASK!(8) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:329:63
[INFO] [stdout]     |
[INFO] [stdout] 329 |      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout]     |                                                               ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 329 -      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout] 329 +      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {x2>>3 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:502:72
[INFO] [stdout]     |
[INFO] [stdout] 502 |             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout]     |                                                                        ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 502 -             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout] 502 +             if eyrt==0              { ((myft as u128)<<23) >> 1} else {(myft as u128)<<23 };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:550:28
[INFO] [stdout]     |
[INFO] [stdout] 550 |       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout]     |                            ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 550 -       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout] 550 +       if bit_true32(m,22) {m<<1 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:564:25
[INFO] [stdout]     |
[INFO] [stdout] 564 |       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout]     |                         ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 564 -       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout] 564 +       let ea =  if e>0 {(e>>1) + 64 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:793:129
[INFO] [stdout]     |
[INFO] [stdout] 793 | ...| bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 793 -       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout] 793 +       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {(p1>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:818:129
[INFO] [stdout]     |
[INFO] [stdout] 818 | ...| bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 818 -       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout] 818 +       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {(p2>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:840:52
[INFO] [stdout]     |
[INFO] [stdout] 840 |       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout]     |                                                    ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 840 -       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout] 840 +       let ey = BITMASK!(8)&if bit_true64(mye, 24) {eye + 1 } else {eye};//??
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:854:48
[INFO] [stdout]     |
[INFO] [stdout] 854 |                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout]     |                                                ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 854 -                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout] 854 +                 if s == 0 && e == 255 && !nzm {255<<23 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]   --> src/fpu.rs:38:20
[INFO] [stdout]    |
[INFO] [stdout] 38 |   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout]    |                    ^                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -   let init = match ((ma>>15)&BITMASK!(8)){
[INFO] [stdout] 38 +   let init = match (ma>>15)&BITMASK!(8) {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `instr::Instr`
[INFO] [stdout]  --> src/sld2indata.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use instr::Instr;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:329:63
[INFO] [stdout]     |
[INFO] [stdout] 329 |      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout]     |                                                               ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 329 -      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {(x2>>3)}
[INFO] [stdout] 329 +      if bit_true32(x2, 2) {BITMASK!(23)&((x2>>3) + 1)}  else {x2>>3 }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:502:72
[INFO] [stdout]     |
[INFO] [stdout] 502 |             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout]     |                                                                        ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 502 -             if eyrt==0              { ((myft as u128)<<23) >> 1} else {((myft as u128)<<23)};
[INFO] [stdout] 502 +             if eyrt==0              { ((myft as u128)<<23) >> 1} else {(myft as u128)<<23 };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::discriminant`
[INFO] [stdout]   --> src/computer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::mem::discriminant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:550:28
[INFO] [stdout]     |
[INFO] [stdout] 550 |       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout]     |                            ^    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 550 -       if bit_true32(m,22) {(m<<1)} else
[INFO] [stdout] 550 +       if bit_true32(m,22) {m<<1 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:564:25
[INFO] [stdout]     |
[INFO] [stdout] 564 |       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout]     |                         ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 564 -       let ea =  if e>0 {((e>>1) + 64)} else
[INFO] [stdout] 564 +       let ea =  if e>0 {(e>>1) + 64 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:793:129
[INFO] [stdout]     |
[INFO] [stdout] 793 | ...| bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 793 -       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {((p1>>2)&BITMASK!(27))};
[INFO] [stdout] 793 +       let y1 = BITMASK!(27)&if bit_true64(p1, 1) && (bit_true64(p1, 0) || bit_true64(p1, 2)) {((p1>>2)&BITMASK!(27)) + 1} else {(p1>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:818:129
[INFO] [stdout]     |
[INFO] [stdout] 818 | ...| bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout]     |                                                            ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 818 -       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {((p2>>2)&BITMASK!(27))};
[INFO] [stdout] 818 +       let y2 = BITMASK!(27)&if bit_true64(p2, 1) && (bit_true64(p2, 0) || bit_true64(p2, 2)) {((p2>>2)&BITMASK!(27)) + 1} else {(p2>>2)&BITMASK!(27) };
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:840:52
[INFO] [stdout]     |
[INFO] [stdout] 840 |       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout]     |                                                    ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 840 -       let ey = BITMASK!(8)&if bit_true64(mye, 24) {(eye + 1)} else {eye};//??
[INFO] [stdout] 840 +       let ey = BITMASK!(8)&if bit_true64(mye, 24) {eye + 1 } else {eye};//??
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/fpu.rs:854:48
[INFO] [stdout]     |
[INFO] [stdout] 854 |                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout]     |                                                ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 854 -                 if s == 0 && e == 255 && !nzm {(255<<23)} else
[INFO] [stdout] 854 +                 if s == 0 && e == 255 && !nzm {255<<23 } else
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `instr::Instr`
[INFO] [stdout]  --> src/sld2indata.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use instr::Instr;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::discriminant`
[INFO] [stdout]   --> src/computer.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::mem::discriminant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `computer::Computer`
[INFO] [stdout]   --> src/sld2indata.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use computer::Computer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/sld2indata.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `computer::Computer`
[INFO] [stdout]   --> src/sld2indata.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use computer::Computer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]   --> src/sld2indata.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Instr::ADD { d, s, t } => write!(f, "ADD(${} = ${}+${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 116 |             Instr::ADDI { t, s, im } => write!(f, "ADDI(${} = ${}+{})", t, s, im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 117 |             Instr::SUB { d, s, t } => write!(f, "SUB(${} = ${}-${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 118 |             Instr::MULT { d, s, t } => write!(f, "MULT(${} = ${}*${})", d, s, t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Instr::ADD { d, s, t } => format!("    add ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 167 |             Instr::ADDI { t, s, im } => format!("    addi ${}, ${}, {}",t,s,im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 168 |             Instr::SUB { d, s, t } => format!("    sub ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 169 |             Instr::MULT { d, s, t } => format!("    mult ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Instr::ADD { d, s, t } => write!(f, "ADD(${} = ${}+${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 116 |             Instr::ADDI { t, s, im } => write!(f, "ADDI(${} = ${}+{})", t, s, im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 117 |             Instr::SUB { d, s, t } => write!(f, "SUB(${} = ${}-${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 118 |             Instr::MULT { d, s, t } => write!(f, "MULT(${} = ${}*${})", d, s, t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Instr::ADD { d, s, t } => write!(f, "ADD(${} = ${}+${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 116 |             Instr::ADDI { t, s, im } => write!(f, "ADDI(${} = ${}+{})", t, s, im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 117 |             Instr::SUB { d, s, t } => write!(f, "SUB(${} = ${}-${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 118 |             Instr::MULT { d, s, t } => write!(f, "MULT(${} = ${}*${})", d, s, t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Instr::ADD { d, s, t } => format!("    add ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 167 |             Instr::ADDI { t, s, im } => format!("    addi ${}, ${}, {}",t,s,im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 168 |             Instr::SUB { d, s, t } => format!("    sub ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 169 |             Instr::MULT { d, s, t } => format!("    mult ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Instr::ADD { d, s, t } => format!("    add ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 167 |             Instr::ADDI { t, s, im } => format!("    addi ${}, ${}, {}",t,s,im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 168 |             Instr::SUB { d, s, t } => format!("    sub ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 169 |             Instr::MULT { d, s, t } => format!("    mult ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Instr::ADD { d, s, t } => write!(f, "ADD(${} = ${}+${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 116 |             Instr::ADDI { t, s, im } => write!(f, "ADDI(${} = ${}+{})", t, s, im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 117 |             Instr::SUB { d, s, t } => write!(f, "SUB(${} = ${}-${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 118 |             Instr::MULT { d, s, t } => write!(f, "MULT(${} = ${}*${})", d, s, t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     Instr::ADDI { t, s, im } => {
[INFO] [stdout]     |                                         ^^ help: try ignoring the field: `im: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:152:39
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off } | Instr::SW { t, s, off } => {
[INFO] [stdout]     |                                       ^^^                       ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off: _ } | Instr::SW { t, s, off: _ } => {
[INFO] [stdout]     |                                          +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/computer.rs:160:40
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h } | Instr::SRA { d, t, h } => {
[INFO] [stdout]     |                                        ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h: _ } | Instr::SRA { d, t, h: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:164:37
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im } | Instr::LLI { t, im } | Instr::LI { t, im } => {
[INFO] [stdout]     |                                     ^^                     ^^                    ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im: _ } | Instr::LLI { t, im: _ } | Instr::LI { t, im: _ } => {
[INFO] [stdout]     |                                       +++                       +++                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:167:40
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target } | Instr::BLE { s, t, target } => {
[INFO] [stdout]     |                                        ^^^^^^                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target: _ } | Instr::BLE { s, t, target: _ } => {
[INFO] [stdout]     |                                              +++                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     Instr::J { target } => {}
[INFO] [stdout]     |                                ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:172:34
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     Instr::JAL { target } => {
[INFO] [stdout]     |                                  ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:178:36
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     Instr::LA { t, target } => {
[INFO] [stdout]     |                                    ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ft`
[INFO] [stdout]    --> src/computer.rs:200:34
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                  ^^                          ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft: _, s, off } | Instr::SWf { ft: _, s, off } => {
[INFO] [stdout]     |                                    +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:200:41
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                         ^^^                         ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off: _ } | Instr::SWf { ft, s, off: _ } => {
[INFO] [stdout]     |                                            +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:203:43
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target } | Instr::BLEf { fs, ft, target } => {
[INFO] [stdout]     |                                           ^^^^^^                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target: _ } | Instr::BLEf { fs, ft, target: _ } => {
[INFO] [stdout]     |                                                 +++                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:207:39
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im } | Instr::LLIf { ft, im } => {
[INFO] [stdout]     |                                       ^^                       ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im: _ } | Instr::LLIf { ft, im: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/computer.rs:215:21
[INFO] [stdout]     |
[INFO] [stdout] 215 |                     x @ _ => {}, //not implemented yet
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Instr::ADD { d, s, t } => format!("    add ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 167 |             Instr::ADDI { t, s, im } => format!("    addi ${}, ${}, {}",t,s,im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 168 |             Instr::SUB { d, s, t } => format!("    sub ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 169 |             Instr::MULT { d, s, t } => format!("    mult ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     Instr::ADDI { t, s, im } => {
[INFO] [stdout]     |                                         ^^ help: try ignoring the field: `im: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:152:39
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off } | Instr::SW { t, s, off } => {
[INFO] [stdout]     |                                       ^^^                       ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off: _ } | Instr::SW { t, s, off: _ } => {
[INFO] [stdout]     |                                          +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/computer.rs:160:40
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h } | Instr::SRA { d, t, h } => {
[INFO] [stdout]     |                                        ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h: _ } | Instr::SRA { d, t, h: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:164:37
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im } | Instr::LLI { t, im } | Instr::LI { t, im } => {
[INFO] [stdout]     |                                     ^^                     ^^                    ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im: _ } | Instr::LLI { t, im: _ } | Instr::LI { t, im: _ } => {
[INFO] [stdout]     |                                       +++                       +++                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:167:40
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target } | Instr::BLE { s, t, target } => {
[INFO] [stdout]     |                                        ^^^^^^                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target: _ } | Instr::BLE { s, t, target: _ } => {
[INFO] [stdout]     |                                              +++                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     Instr::J { target } => {}
[INFO] [stdout]     |                                ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:172:34
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     Instr::JAL { target } => {
[INFO] [stdout]     |                                  ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:178:36
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     Instr::LA { t, target } => {
[INFO] [stdout]     |                                    ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ft`
[INFO] [stdout]    --> src/computer.rs:200:34
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                  ^^                          ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft: _, s, off } | Instr::SWf { ft: _, s, off } => {
[INFO] [stdout]     |                                    +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:200:41
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                         ^^^                         ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off: _ } | Instr::SWf { ft, s, off: _ } => {
[INFO] [stdout]     |                                            +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:203:43
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target } | Instr::BLEf { fs, ft, target } => {
[INFO] [stdout]     |                                           ^^^^^^                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target: _ } | Instr::BLEf { fs, ft, target: _ } => {
[INFO] [stdout]     |                                                 +++                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:207:39
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im } | Instr::LLIf { ft, im } => {
[INFO] [stdout]     |                                       ^^                       ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im: _ } | Instr::LLIf { ft, im: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/computer.rs:215:21
[INFO] [stdout]     |
[INFO] [stdout] 215 |                     x @ _ => {}, //not implemented yet
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ovf`
[INFO] [stdout]    --> src/fpu.rs:525:7
[INFO] [stdout]     |
[INFO] [stdout] 525 |   let ovf = if e1 < 255 && e2 < 255 && ey == 255 {1} else {0};
[INFO] [stdout]     |       ^^^ help: if this is intentional, prefix it with an underscore: `_ovf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ovf`
[INFO] [stdout]    --> src/fpu.rs:525:7
[INFO] [stdout]     |
[INFO] [stdout] 525 |   let ovf = if e1 < 255 && e2 < 255 && ey == 255 {1} else {0};
[INFO] [stdout]     |       ^^^ help: if this is intentional, prefix it with an underscore: `_ovf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     Instr::ADDI { t, s, im } => {
[INFO] [stdout]     |                                         ^^ help: try ignoring the field: `im: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:152:39
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off } | Instr::SW { t, s, off } => {
[INFO] [stdout]     |                                       ^^^                       ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off: _ } | Instr::SW { t, s, off: _ } => {
[INFO] [stdout]     |                                          +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/computer.rs:160:40
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h } | Instr::SRA { d, t, h } => {
[INFO] [stdout]     |                                        ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h: _ } | Instr::SRA { d, t, h: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:164:37
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im } | Instr::LLI { t, im } | Instr::LI { t, im } => {
[INFO] [stdout]     |                                     ^^                     ^^                    ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im: _ } | Instr::LLI { t, im: _ } | Instr::LI { t, im: _ } => {
[INFO] [stdout]     |                                       +++                       +++                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:167:40
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target } | Instr::BLE { s, t, target } => {
[INFO] [stdout]     |                                        ^^^^^^                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target: _ } | Instr::BLE { s, t, target: _ } => {
[INFO] [stdout]     |                                              +++                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     Instr::J { target } => {}
[INFO] [stdout]     |                                ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:172:34
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     Instr::JAL { target } => {
[INFO] [stdout]     |                                  ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:178:36
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     Instr::LA { t, target } => {
[INFO] [stdout]     |                                    ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ft`
[INFO] [stdout]    --> src/computer.rs:200:34
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                  ^^                          ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft: _, s, off } | Instr::SWf { ft: _, s, off } => {
[INFO] [stdout]     |                                    +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:200:41
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                         ^^^                         ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off: _ } | Instr::SWf { ft, s, off: _ } => {
[INFO] [stdout]     |                                            +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:203:43
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target } | Instr::BLEf { fs, ft, target } => {
[INFO] [stdout]     |                                           ^^^^^^                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target: _ } | Instr::BLEf { fs, ft, target: _ } => {
[INFO] [stdout]     |                                                 +++                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:207:39
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im } | Instr::LLIf { ft, im } => {
[INFO] [stdout]     |                                       ^^                       ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im: _ } | Instr::LLIf { ft, im: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/computer.rs:215:21
[INFO] [stdout]     |
[INFO] [stdout] 215 |                     x @ _ => {}, //not implemented yet
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LLI` is never constructed
[INFO] [stdout]   --> src/instr.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Instr {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     LLI { t: usize, im: i32 },
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Instr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InstrType` is never used
[INFO] [stdout]   --> src/instr.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub enum InstrType{
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `getbytes`, `to_type`, and `from_s` are never used
[INFO] [stdout]    --> src/instr.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl Instr {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn getbytes(&self) -> [u8; 4] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn to_type(&self) -> InstrType {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn from_s(ir: &str, label_map: &HashMap<String, usize>) -> Result<Self, String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_u8` is never used
[INFO] [stdout]    --> src/instr.rs:644:4
[INFO] [stdout]     |
[INFO] [stdout] 644 | fn to_u8(ir: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_16usize` is never used
[INFO] [stdout]    --> src/instr.rs:652:4
[INFO] [stdout]     |
[INFO] [stdout] 652 | fn to_16usize(im: i32) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bytes_r` is never used
[INFO] [stdout]    --> src/instr.rs:657:4
[INFO] [stdout]     |
[INFO] [stdout] 657 | fn get_bytes_r(opc: usize, rs: usize, rt: usize, rd: usize, shamt: usize, funct: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bytes_i` is never used
[INFO] [stdout]    --> src/instr.rs:663:4
[INFO] [stdout]     |
[INFO] [stdout] 663 | fn get_bytes_i(opc: usize, rs: usize, rt: usize, imm: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse3reg` is never used
[INFO] [stdout]    --> src/instr.rs:671:4
[INFO] [stdout]     |
[INFO] [stdout] 671 | fn parse3reg(ir: &Vec<&str>) -> Result<(usize, usize, usize), String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg` is never used
[INFO] [stdout]    --> src/instr.rs:678:4
[INFO] [stdout]     |
[INFO] [stdout] 678 | fn parse2reg(ir: &Vec<&str>) -> Result<(usize, usize), String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg_i` is never used
[INFO] [stdout]    --> src/instr.rs:686:4
[INFO] [stdout]     |
[INFO] [stdout] 686 | fn parse2reg_i(ir: &Vec<&str>) -> Result<(usize, usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg_i` is never used
[INFO] [stdout]    --> src/instr.rs:700:4
[INFO] [stdout]     |
[INFO] [stdout] 700 | fn parse1reg_i(ir: &Vec<&str>) -> Result<(usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg_label` is never used
[INFO] [stdout]    --> src/instr.rs:713:4
[INFO] [stdout]     |
[INFO] [stdout] 713 | fn parse1reg_label(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg_label` is never used
[INFO] [stdout]    --> src/instr.rs:726:4
[INFO] [stdout]     |
[INFO] [stdout] 726 | fn parse2reg_label(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parsereg_offsreg` is never used
[INFO] [stdout]    --> src/instr.rs:740:4
[INFO] [stdout]     |
[INFO] [stdout] 740 | fn parsereg_offsreg(ir: &Vec<&str>) -> Result<(usize, usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_offsreg` is never used
[INFO] [stdout]    --> src/instr.rs:749:4
[INFO] [stdout]     |
[INFO] [stdout] 749 | fn parse_offsreg(offsreg: &str) -> Result<(usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg` is never used
[INFO] [stdout]    --> src/instr.rs:764:4
[INFO] [stdout]     |
[INFO] [stdout] 764 | fn parse1reg(ir: &Vec<&str>) -> Result<usize, String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_reg` is never used
[INFO] [stdout]    --> src/instr.rs:772:4
[INFO] [stdout]     |
[INFO] [stdout] 772 | fn parse_reg(name: &str) -> Result<usize, String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEM_SIZE` is never used
[INFO] [stdout]   --> src/computer.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const MEM_SIZE: usize = 2222222; //バイト数はこの4倍
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Computer` is never constructed
[INFO] [stdout]   --> src/computer.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Computer {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, `run_debug`, `print_stat`, `print_reg`, and `run_ir` are never used
[INFO] [stdout]    --> src/computer.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl Computer {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  70 |     pub fn new( bpoints: HashSet<usize>, filename: &str, in_filename: Option<String>) -> Computer {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn run(&mut self, irmemory: Vec<(Instr,usize)>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn run_debug(&mut self, irmemory: Vec<(Instr,usize)>,filename: String) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn print_stat(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn print_reg(&self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     fn run_ir(&mut self, ir: &Instr) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i2f` is never used
[INFO] [stdout]    --> src/computer.rs:498:4
[INFO] [stdout]     |
[INFO] [stdout] 498 | fn i2f(i: i32) -> f32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f2i` is never used
[INFO] [stdout]    --> src/computer.rs:501:4
[INFO] [stdout]     |
[INFO] [stdout] 501 | fn f2i(f: f32) -> i32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_u` is never used
[INFO] [stdout]    --> src/computer.rs:505:4
[INFO] [stdout]     |
[INFO] [stdout] 505 | fn to_u(i: i32) -> usize {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true32` is never used
[INFO] [stdout]   --> src/fpu.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn bit_true32(x:u32,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true64` is never used
[INFO] [stdout]   --> src/fpu.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn bit_true64(x:u64,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true128` is never used
[INFO] [stdout]   --> src/fpu.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn bit_true128(x:u128,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inv_fpu` is never used
[INFO] [stdout]   --> src/fpu.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn inv_fpu(f: f32) -> f32{
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul_fpu` is never used
[INFO] [stdout]    --> src/fpu.rs:341:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub fn mul_fpu(f1:f32, f2:f32) -> f32{
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sqrt_fpu` is never used
[INFO] [stdout]    --> src/fpu.rs:531:8
[INFO] [stdout]     |
[INFO] [stdout] 531 | pub fn sqrt_fpu(f: f32) -> f32{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disasm.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             writer.write(format!("PC{}:\n",x<<2).as_bytes());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 39 |             let _ = writer.write(format!("PC{}:\n",x<<2).as_bytes());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disasm.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         writer.write(irvec[x].as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let _ = writer.write(irvec[x].as_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disasm.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         writer.write("\n".as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let _ = writer.write("\n".as_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disasm.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         writer.flush();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let _ = writer.flush();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:594:29
[INFO] [stdout]     |
[INFO] [stdout] 594 |                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 594 -                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 594 +                 _ => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:604:30
[INFO] [stdout]     |
[INFO] [stdout] 604 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 604 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 604 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:609:30
[INFO] [stdout]     |
[INFO] [stdout] 609 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 609 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 609 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:622:29
[INFO] [stdout]     |
[INFO] [stdout] 622 |                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 622 -                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 622 +                 _ => panic!("unknown fpu instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:632:25
[INFO] [stdout]     |
[INFO] [stdout] 632 |             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 632 -             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[INFO] [stdout] 632 +             _ => panic!("unknown instr: {:b},opcode:{}",encoded_instruction,op)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/computer.rs:251:13
[INFO] [stdout]     |
[INFO] [stdout] 251 |             writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let _ = writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:499:14
[INFO] [stdout]     |
[INFO] [stdout] 499 |     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 499 -     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout] 499 +     unsafe { f32::from_bits(i32::cast_unsigned(i)) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:502:14
[INFO] [stdout]     |
[INFO] [stdout] 502 |     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 502 -     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout] 502 +     unsafe { f32::to_bits(f).cast_signed() }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ovf`
[INFO] [stdout]    --> src/fpu.rs:525:7
[INFO] [stdout]     |
[INFO] [stdout] 525 |   let ovf = if e1 < 255 && e2 < 255 && ey == 255 {1} else {0};
[INFO] [stdout]     |       ^^^ help: if this is intentional, prefix it with an underscore: `_ovf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/addpc.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut irs : Vec<(Instr,usize)>=Vec::new();//命令
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `irs`
[INFO] [stdout]   --> src/addpc.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut irs : Vec<(Instr,usize)>=Vec::new();//命令
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_irs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LLI` is never constructed
[INFO] [stdout]   --> src/instr.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Instr {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 28 |     LLI { t: usize, im: i32 },
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Instr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InstrType` is never used
[INFO] [stdout]   --> src/instr.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub enum InstrType{
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Instr::ADD { d, s, t } => write!(f, "ADD(${} = ${}+${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 116 |             Instr::ADDI { t, s, im } => write!(f, "ADDI(${} = ${}+{})", t, s, im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 117 |             Instr::SUB { d, s, t } => write!(f, "SUB(${} = ${}-${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 118 |             Instr::MULT { d, s, t } => write!(f, "MULT(${} = ${}*${})", d, s, t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `getbytes`, `to_type`, and `from_s` are never used
[INFO] [stdout]    --> src/instr.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl Instr {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn getbytes(&self) -> [u8; 4] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn to_type(&self) -> InstrType {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn from_s(ir: &str, label_map: &HashMap<String, usize>) -> Result<Self, String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_u8` is never used
[INFO] [stdout]    --> src/instr.rs:644:4
[INFO] [stdout]     |
[INFO] [stdout] 644 | fn to_u8(ir: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_16usize` is never used
[INFO] [stdout]    --> src/instr.rs:652:4
[INFO] [stdout]     |
[INFO] [stdout] 652 | fn to_16usize(im: i32) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bytes_r` is never used
[INFO] [stdout]    --> src/instr.rs:657:4
[INFO] [stdout]     |
[INFO] [stdout] 657 | fn get_bytes_r(opc: usize, rs: usize, rt: usize, rd: usize, shamt: usize, funct: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bytes_i` is never used
[INFO] [stdout]    --> src/instr.rs:663:4
[INFO] [stdout]     |
[INFO] [stdout] 663 | fn get_bytes_i(opc: usize, rs: usize, rt: usize, imm: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse3reg` is never used
[INFO] [stdout]    --> src/instr.rs:671:4
[INFO] [stdout]     |
[INFO] [stdout] 671 | fn parse3reg(ir: &Vec<&str>) -> Result<(usize, usize, usize), String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg` is never used
[INFO] [stdout]    --> src/instr.rs:678:4
[INFO] [stdout]     |
[INFO] [stdout] 678 | fn parse2reg(ir: &Vec<&str>) -> Result<(usize, usize), String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg_i` is never used
[INFO] [stdout]    --> src/instr.rs:686:4
[INFO] [stdout]     |
[INFO] [stdout] 686 | fn parse2reg_i(ir: &Vec<&str>) -> Result<(usize, usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg_i` is never used
[INFO] [stdout]    --> src/instr.rs:700:4
[INFO] [stdout]     |
[INFO] [stdout] 700 | fn parse1reg_i(ir: &Vec<&str>) -> Result<(usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg_label` is never used
[INFO] [stdout]    --> src/instr.rs:713:4
[INFO] [stdout]     |
[INFO] [stdout] 713 | fn parse1reg_label(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg_label` is never used
[INFO] [stdout]    --> src/instr.rs:726:4
[INFO] [stdout]     |
[INFO] [stdout] 726 | fn parse2reg_label(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parsereg_offsreg` is never used
[INFO] [stdout]    --> src/instr.rs:740:4
[INFO] [stdout]     |
[INFO] [stdout] 740 | fn parsereg_offsreg(ir: &Vec<&str>) -> Result<(usize, usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_offsreg` is never used
[INFO] [stdout]    --> src/instr.rs:749:4
[INFO] [stdout]     |
[INFO] [stdout] 749 | fn parse_offsreg(offsreg: &str) -> Result<(usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg` is never used
[INFO] [stdout]    --> src/instr.rs:764:4
[INFO] [stdout]     |
[INFO] [stdout] 764 | fn parse1reg(ir: &Vec<&str>) -> Result<usize, String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_reg` is never used
[INFO] [stdout]    --> src/instr.rs:772:4
[INFO] [stdout]     |
[INFO] [stdout] 772 | fn parse_reg(name: &str) -> Result<usize, String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEM_SIZE` is never used
[INFO] [stdout]   --> src/computer.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const MEM_SIZE: usize = 2222222; //バイト数はこの4倍
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Computer` is never constructed
[INFO] [stdout]   --> src/computer.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Computer {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, `run_debug`, `print_stat`, `print_reg`, and `run_ir` are never used
[INFO] [stdout]    --> src/computer.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl Computer {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  70 |     pub fn new( bpoints: HashSet<usize>, filename: &str, in_filename: Option<String>) -> Computer {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn run(&mut self, irmemory: Vec<(Instr,usize)>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn run_debug(&mut self, irmemory: Vec<(Instr,usize)>,filename: String) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn print_stat(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn print_reg(&self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     fn run_ir(&mut self, ir: &Instr) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i2f` is never used
[INFO] [stdout]    --> src/computer.rs:498:4
[INFO] [stdout]     |
[INFO] [stdout] 498 | fn i2f(i: i32) -> f32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f2i` is never used
[INFO] [stdout]    --> src/computer.rs:501:4
[INFO] [stdout]     |
[INFO] [stdout] 501 | fn f2i(f: f32) -> i32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_u` is never used
[INFO] [stdout]    --> src/computer.rs:505:4
[INFO] [stdout]     |
[INFO] [stdout] 505 | fn to_u(i: i32) -> usize {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true32` is never used
[INFO] [stdout]   --> src/fpu.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn bit_true32(x:u32,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true64` is never used
[INFO] [stdout]   --> src/fpu.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn bit_true64(x:u64,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true128` is never used
[INFO] [stdout]   --> src/fpu.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn bit_true128(x:u128,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inv_fpu` is never used
[INFO] [stdout]   --> src/fpu.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn inv_fpu(f: f32) -> f32{
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul_fpu` is never used
[INFO] [stdout]    --> src/fpu.rs:341:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub fn mul_fpu(f1:f32, f2:f32) -> f32{
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sqrt_fpu` is never used
[INFO] [stdout]    --> src/fpu.rs:531:8
[INFO] [stdout]     |
[INFO] [stdout] 531 | pub fn sqrt_fpu(f: f32) -> f32{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disasm.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             writer.write(format!("PC{}:\n",x<<2).as_bytes());
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 39 |             let _ = writer.write(format!("PC{}:\n",x<<2).as_bytes());
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disasm.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         writer.write(irvec[x].as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let _ = writer.write(irvec[x].as_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disasm.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         writer.write("\n".as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let _ = writer.write("\n".as_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/disasm.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         writer.flush();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 43 |         let _ = writer.flush();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/instr.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Instr {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 16 |     //命令の定義。enum(列挙体)
[INFO] [stdout] 17 |     ADD { d: usize, s: usize, t: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 18 |     ADDI { t: usize, s: usize, im: i32 },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 19 |     SUB { d: usize, s: usize, t: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 20 |     MULT { d: usize, s: usize, t: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 21 |     DIV { d: usize, s: usize, t: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 22 |     LW { t: usize, s: usize, off: i32 },
[INFO] [stdout]    |     ^^
[INFO] [stdout] 23 |     SW { t: usize, s: usize, off: i32 },
[INFO] [stdout]    |     ^^
[INFO] [stdout] 24 |     MV { t: usize, s: usize },
[INFO] [stdout]    |     ^^
[INFO] [stdout] 25 |     SLL { d: usize, t: usize, h: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 26 |     SRA { d: usize, t: usize, h: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 27 |     LUI { t: usize, im: i32 },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 28 |     LLI { t: usize, im: i32 },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 29 |     BEQ { s: usize, t: usize, target: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 30 |     BLE { s: usize, t: usize, target: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 31 |     J { target: usize },
[INFO] [stdout]    |     ^
[INFO] [stdout] 32 |     JAL { target: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 33 |     JR { s: usize },
[INFO] [stdout]    |     ^^
[INFO] [stdout] 34 |     NOOP,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     EOF,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 36 |     IN { s: usize },
[INFO] [stdout]    |     ^^
[INFO] [stdout] 37 |     OUT { s: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 38 |     OUTINT { s: usize },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 39 |     LA { t: usize , target: usize },
[INFO] [stdout]    |     ^^
[INFO] [stdout] 40 |     LI { t: usize, im: i32 },
[INFO] [stdout]    |     ^^
[INFO] [stdout] 41 |     //float
[INFO] [stdout] 42 |     ADDf { fd: usize, fs: usize, ft: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 43 |     SUBf { fd: usize, fs: usize, ft: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 44 |     MULf { fd: usize, fs: usize, ft: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 45 |     INVf { fd: usize, fs: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 46 |     ABSf { fd: usize, fs: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 47 |     NEGf { fd: usize, fs: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 48 |     SQRTf { fd: usize, fs: usize },
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 49 |     FTOI { d: usize, fs: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 50 |     ITOF { fd: usize, s: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     LWf { ft: usize, s: usize, off: i32 },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 52 |     SWf { ft: usize, s: usize, off: i32 },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 53 |     BEQf { fs: usize, ft: usize, target: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 54 |     BLEf { fs: usize, ft: usize, target: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 55 |     LUIf { ft: usize, im: i32 },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 56 |     LLIf { ft: usize, im: i32 },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 57 |     MVf { ft: usize, fs: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Instr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InstrType` is never used
[INFO] [stdout]   --> src/instr.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub enum InstrType{
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_str`, `getbytes`, `to_type`, `from_s`, and `disassemble` are never used
[INFO] [stdout]    --> src/instr.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl Instr {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 163 |
[INFO] [stdout] 164 |     pub fn to_str(&self) -> String{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn getbytes(&self) -> [u8; 4] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn to_type(&self) -> InstrType {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn from_s(ir: &str, label_map: &HashMap<String, usize>) -> Result<Self, String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     pub fn disassemble(encoded_instruction: u32) -> Result<(Instr,Option<usize>), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_u8` is never used
[INFO] [stdout]    --> src/instr.rs:644:4
[INFO] [stdout]     |
[INFO] [stdout] 644 | fn to_u8(ir: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_16usize` is never used
[INFO] [stdout]    --> src/instr.rs:652:4
[INFO] [stdout]     |
[INFO] [stdout] 652 | fn to_16usize(im: i32) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bytes_r` is never used
[INFO] [stdout]    --> src/instr.rs:657:4
[INFO] [stdout]     |
[INFO] [stdout] 657 | fn get_bytes_r(opc: usize, rs: usize, rt: usize, rd: usize, shamt: usize, funct: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bytes_i` is never used
[INFO] [stdout]    --> src/instr.rs:663:4
[INFO] [stdout]     |
[INFO] [stdout] 663 | fn get_bytes_i(opc: usize, rs: usize, rt: usize, imm: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse3reg` is never used
[INFO] [stdout]    --> src/instr.rs:671:4
[INFO] [stdout]     |
[INFO] [stdout] 671 | fn parse3reg(ir: &Vec<&str>) -> Result<(usize, usize, usize), String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg` is never used
[INFO] [stdout]    --> src/instr.rs:678:4
[INFO] [stdout]     |
[INFO] [stdout] 678 | fn parse2reg(ir: &Vec<&str>) -> Result<(usize, usize), String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg_i` is never used
[INFO] [stdout]    --> src/instr.rs:686:4
[INFO] [stdout]     |
[INFO] [stdout] 686 | fn parse2reg_i(ir: &Vec<&str>) -> Result<(usize, usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg_i` is never used
[INFO] [stdout]    --> src/instr.rs:700:4
[INFO] [stdout]     |
[INFO] [stdout] 700 | fn parse1reg_i(ir: &Vec<&str>) -> Result<(usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg_label` is never used
[INFO] [stdout]    --> src/instr.rs:713:4
[INFO] [stdout]     |
[INFO] [stdout] 713 | fn parse1reg_label(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg_label` is never used
[INFO] [stdout]    --> src/instr.rs:726:4
[INFO] [stdout]     |
[INFO] [stdout] 726 | fn parse2reg_label(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parsereg_offsreg` is never used
[INFO] [stdout]    --> src/instr.rs:740:4
[INFO] [stdout]     |
[INFO] [stdout] 740 | fn parsereg_offsreg(ir: &Vec<&str>) -> Result<(usize, usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_offsreg` is never used
[INFO] [stdout]    --> src/instr.rs:749:4
[INFO] [stdout]     |
[INFO] [stdout] 749 | fn parse_offsreg(offsreg: &str) -> Result<(usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg` is never used
[INFO] [stdout]    --> src/instr.rs:764:4
[INFO] [stdout]     |
[INFO] [stdout] 764 | fn parse1reg(ir: &Vec<&str>) -> Result<usize, String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_reg` is never used
[INFO] [stdout]    --> src/instr.rs:772:4
[INFO] [stdout]     |
[INFO] [stdout] 772 | fn parse_reg(name: &str) -> Result<usize, String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEM_SIZE` is never used
[INFO] [stdout]   --> src/computer.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const MEM_SIZE: usize = 2222222; //バイト数はこの4倍
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Computer` is never constructed
[INFO] [stdout]   --> src/computer.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Computer {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, `run_debug`, `print_stat`, `print_reg`, and `run_ir` are never used
[INFO] [stdout]    --> src/computer.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl Computer {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  70 |     pub fn new( bpoints: HashSet<usize>, filename: &str, in_filename: Option<String>) -> Computer {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn run(&mut self, irmemory: Vec<(Instr,usize)>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn run_debug(&mut self, irmemory: Vec<(Instr,usize)>,filename: String) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn print_stat(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn print_reg(&self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     fn run_ir(&mut self, ir: &Instr) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i2f` is never used
[INFO] [stdout]    --> src/computer.rs:498:4
[INFO] [stdout]     |
[INFO] [stdout] 498 | fn i2f(i: i32) -> f32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f2i` is never used
[INFO] [stdout]    --> src/computer.rs:501:4
[INFO] [stdout]     |
[INFO] [stdout] 501 | fn f2i(f: f32) -> i32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_u` is never used
[INFO] [stdout]    --> src/computer.rs:505:4
[INFO] [stdout]     |
[INFO] [stdout] 505 | fn to_u(i: i32) -> usize {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true32` is never used
[INFO] [stdout]   --> src/fpu.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn bit_true32(x:u32,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true64` is never used
[INFO] [stdout]   --> src/fpu.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn bit_true64(x:u64,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true128` is never used
[INFO] [stdout]   --> src/fpu.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn bit_true128(x:u128,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inv_fpu` is never used
[INFO] [stdout]   --> src/fpu.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn inv_fpu(f: f32) -> f32{
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul_fpu` is never used
[INFO] [stdout]    --> src/fpu.rs:341:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub fn mul_fpu(f1:f32, f2:f32) -> f32{
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sqrt_fpu` is never used
[INFO] [stdout]    --> src/fpu.rs:531:8
[INFO] [stdout]     |
[INFO] [stdout] 531 | pub fn sqrt_fpu(f: f32) -> f32{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:594:29
[INFO] [stdout]     |
[INFO] [stdout] 594 |                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 594 -                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 594 +                 _ => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:604:30
[INFO] [stdout]     |
[INFO] [stdout] 604 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 604 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 604 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:609:30
[INFO] [stdout]     |
[INFO] [stdout] 609 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 609 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 609 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:622:29
[INFO] [stdout]     |
[INFO] [stdout] 622 |                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 622 -                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 622 +                 _ => panic!("unknown fpu instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:632:25
[INFO] [stdout]     |
[INFO] [stdout] 632 |             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 632 -             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[INFO] [stdout] 632 +             _ => panic!("unknown instr: {:b},opcode:{}",encoded_instruction,op)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/computer.rs:251:13
[INFO] [stdout]     |
[INFO] [stdout] 251 |             writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let _ = writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:594:29
[INFO] [stdout]     |
[INFO] [stdout] 594 |                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 594 -                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 594 +                 _ => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:604:30
[INFO] [stdout]     |
[INFO] [stdout] 604 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 604 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 604 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:609:30
[INFO] [stdout]     |
[INFO] [stdout] 609 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 609 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 609 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:622:29
[INFO] [stdout]     |
[INFO] [stdout] 622 |                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 622 -                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 622 +                 _ => panic!("unknown fpu instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:632:25
[INFO] [stdout]     |
[INFO] [stdout] 632 |             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 632 -             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[INFO] [stdout] 632 +             _ => panic!("unknown instr: {:b},opcode:{}",encoded_instruction,op)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/computer.rs:251:13
[INFO] [stdout]     |
[INFO] [stdout] 251 |             writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let _ = writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:499:14
[INFO] [stdout]     |
[INFO] [stdout] 499 |     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 499 -     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout] 499 +     unsafe { f32::from_bits(i32::cast_unsigned(i)) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:502:14
[INFO] [stdout]     |
[INFO] [stdout] 502 |     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 502 -     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout] 502 +     unsafe { f32::to_bits(f).cast_signed() }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Instr::ADD { d, s, t } => format!("    add ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 167 |             Instr::ADDI { t, s, im } => format!("    addi ${}, ${}, {}",t,s,im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 168 |             Instr::SUB { d, s, t } => format!("    sub ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 169 |             Instr::MULT { d, s, t } => format!("    mult ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:499:14
[INFO] [stdout]     |
[INFO] [stdout] 499 |     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 499 -     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout] 499 +     unsafe { f32::from_bits(i32::cast_unsigned(i)) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:502:14
[INFO] [stdout]     |
[INFO] [stdout] 502 |     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 502 -     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout] 502 +     unsafe { f32::to_bits(f).cast_signed() }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ovf`
[INFO] [stdout]    --> src/fpu.rs:525:7
[INFO] [stdout]     |
[INFO] [stdout] 525 |   let ovf = if e1 < 255 && e2 < 255 && ey == 255 {1} else {0};
[INFO] [stdout]     |       ^^^ help: if this is intentional, prefix it with an underscore: `_ovf`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Instr::ADD { d, s, t } => write!(f, "ADD(${} = ${}+${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 116 |             Instr::ADDI { t, s, im } => write!(f, "ADDI(${} = ${}+{})", t, s, im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 117 |             Instr::SUB { d, s, t } => write!(f, "SUB(${} = ${}-${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 118 |             Instr::MULT { d, s, t } => write!(f, "MULT(${} = ${}*${})", d, s, t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Instr::ADD { d, s, t } => write!(f, "ADD(${} = ${}+${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 116 |             Instr::ADDI { t, s, im } => write!(f, "ADDI(${} = ${}+{})", t, s, im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 117 |             Instr::SUB { d, s, t } => write!(f, "SUB(${} = ${}-${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 118 |             Instr::MULT { d, s, t } => write!(f, "MULT(${} = ${}*${})", d, s, t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     Instr::ADDI { t, s, im } => {
[INFO] [stdout]     |                                         ^^ help: try ignoring the field: `im: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Instr::ADD { d, s, t } => format!("    add ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 167 |             Instr::ADDI { t, s, im } => format!("    addi ${}, ${}, {}",t,s,im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 168 |             Instr::SUB { d, s, t } => format!("    sub ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 169 |             Instr::MULT { d, s, t } => format!("    mult ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:152:39
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off } | Instr::SW { t, s, off } => {
[INFO] [stdout]     |                                       ^^^                       ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off: _ } | Instr::SW { t, s, off: _ } => {
[INFO] [stdout]     |                                          +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/computer.rs:160:40
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h } | Instr::SRA { d, t, h } => {
[INFO] [stdout]     |                                        ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h: _ } | Instr::SRA { d, t, h: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:164:37
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im } | Instr::LLI { t, im } | Instr::LI { t, im } => {
[INFO] [stdout]     |                                     ^^                     ^^                    ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im: _ } | Instr::LLI { t, im: _ } | Instr::LI { t, im: _ } => {
[INFO] [stdout]     |                                       +++                       +++                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:167:40
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target } | Instr::BLE { s, t, target } => {
[INFO] [stdout]     |                                        ^^^^^^                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target: _ } | Instr::BLE { s, t, target: _ } => {
[INFO] [stdout]     |                                              +++                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     Instr::J { target } => {}
[INFO] [stdout]     |                                ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:172:34
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     Instr::JAL { target } => {
[INFO] [stdout]     |                                  ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:178:36
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     Instr::LA { t, target } => {
[INFO] [stdout]     |                                    ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ft`
[INFO] [stdout]    --> src/computer.rs:200:34
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                  ^^                          ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft: _, s, off } | Instr::SWf { ft: _, s, off } => {
[INFO] [stdout]     |                                    +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:200:41
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                         ^^^                         ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off: _ } | Instr::SWf { ft, s, off: _ } => {
[INFO] [stdout]     |                                            +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:203:43
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target } | Instr::BLEf { fs, ft, target } => {
[INFO] [stdout]     |                                           ^^^^^^                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target: _ } | Instr::BLEf { fs, ft, target: _ } => {
[INFO] [stdout]     |                                                 +++                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             Instr::ADD { d, s, t } => write!(f, "ADD(${} = ${}+${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 116 |             Instr::ADDI { t, s, im } => write!(f, "ADDI(${} = ${}+{})", t, s, im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 117 |             Instr::SUB { d, s, t } => write!(f, "SUB(${} = ${}-${})", d, s, t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 118 |             Instr::MULT { d, s, t } => write!(f, "MULT(${} = ${}*${})", d, s, t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 157 |             _ => write!(f, "({}, {})", "test", "format"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:207:39
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im } | Instr::LLIf { ft, im } => {
[INFO] [stdout]     |                                       ^^                       ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im: _ } | Instr::LLIf { ft, im: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/computer.rs:215:21
[INFO] [stdout]     |
[INFO] [stdout] 215 |                     x @ _ => {}, //not implemented yet
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Instr::ADD { d, s, t } => format!("    add ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 167 |             Instr::ADDI { t, s, im } => format!("    addi ${}, ${}, {}",t,s,im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 168 |             Instr::SUB { d, s, t } => format!("    sub ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 169 |             Instr::MULT { d, s, t } => format!("    mult ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     Instr::ADDI { t, s, im } => {
[INFO] [stdout]     |                                         ^^ help: try ignoring the field: `im: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:152:39
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off } | Instr::SW { t, s, off } => {
[INFO] [stdout]     |                                       ^^^                       ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off: _ } | Instr::SW { t, s, off: _ } => {
[INFO] [stdout]     |                                          +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/computer.rs:160:40
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h } | Instr::SRA { d, t, h } => {
[INFO] [stdout]     |                                        ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h: _ } | Instr::SRA { d, t, h: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:164:37
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im } | Instr::LLI { t, im } | Instr::LI { t, im } => {
[INFO] [stdout]     |                                     ^^                     ^^                    ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im: _ } | Instr::LLI { t, im: _ } | Instr::LI { t, im: _ } => {
[INFO] [stdout]     |                                       +++                       +++                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:167:40
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target } | Instr::BLE { s, t, target } => {
[INFO] [stdout]     |                                        ^^^^^^                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target: _ } | Instr::BLE { s, t, target: _ } => {
[INFO] [stdout]     |                                              +++                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     Instr::J { target } => {}
[INFO] [stdout]     |                                ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:172:34
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     Instr::JAL { target } => {
[INFO] [stdout]     |                                  ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:178:36
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     Instr::LA { t, target } => {
[INFO] [stdout]     |                                    ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ft`
[INFO] [stdout]    --> src/computer.rs:200:34
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                  ^^                          ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft: _, s, off } | Instr::SWf { ft: _, s, off } => {
[INFO] [stdout]     |                                    +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:200:41
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                         ^^^                         ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off: _ } | Instr::SWf { ft, s, off: _ } => {
[INFO] [stdout]     |                                            +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:203:43
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target } | Instr::BLEf { fs, ft, target } => {
[INFO] [stdout]     |                                           ^^^^^^                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target: _ } | Instr::BLEf { fs, ft, target: _ } => {
[INFO] [stdout]     |                                                 +++                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:207:39
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im } | Instr::LLIf { ft, im } => {
[INFO] [stdout]     |                                       ^^                       ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im: _ } | Instr::LLIf { ft, im: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/computer.rs:215:21
[INFO] [stdout]     |
[INFO] [stdout] 215 |                     x @ _ => {}, //not implemented yet
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/instr.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |             Instr::ADD { d, s, t } => format!("    add ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 167 |             Instr::ADDI { t, s, im } => format!("    addi ${}, ${}, {}",t,s,im),
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 168 |             Instr::SUB { d, s, t } => format!("    sub ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 169 |             Instr::MULT { d, s, t } => format!("    mult ${}, ${}, ${}",d,s,t),
[INFO] [stdout]     |             ----------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 208 |             _ => format!("    !!!unsupported_instr!!!!"),
[INFO] [stdout]     |             ^ ...and 36 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ha`
[INFO] [stdout]    --> src/main.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let ha:HashMap<Instr,isize> = HashMap::new();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_ha`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UNKNOWN` is never constructed
[INFO] [stdout]    --> src/instr.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout]  60 | pub enum InstrType{
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 103 |     UNKNOWN,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InstrType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_str` and `disassemble` are never used
[INFO] [stdout]    --> src/instr.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl Instr {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 163 |
[INFO] [stdout] 164 |     pub fn to_str(&self) -> String{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     pub fn disassemble(encoded_instruction: u32) -> Result<(Instr,Option<usize>), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `changed_reg` is never read
[INFO] [stdout]   --> src/computer.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Computer {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 63 |     changed_reg: [bool; 64],
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ovf`
[INFO] [stdout]    --> src/fpu.rs:525:7
[INFO] [stdout]     |
[INFO] [stdout] 525 |   let ovf = if e1 < 255 && e2 < 255 && ey == 255 {1} else {0};
[INFO] [stdout]     |       ^^^ help: if this is intentional, prefix it with an underscore: `_ovf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:594:29
[INFO] [stdout]     |
[INFO] [stdout] 594 |                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 594 -                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 594 +                 _ => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:604:30
[INFO] [stdout]     |
[INFO] [stdout] 604 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 604 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 604 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:609:30
[INFO] [stdout]     |
[INFO] [stdout] 609 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 609 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 609 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:622:29
[INFO] [stdout]     |
[INFO] [stdout] 622 |                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 622 -                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 622 +                 _ => panic!("unknown fpu instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:632:25
[INFO] [stdout]     |
[INFO] [stdout] 632 |             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 632 -             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[INFO] [stdout] 632 +             _ => panic!("unknown instr: {:b},opcode:{}",encoded_instruction,op)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/computer.rs:251:13
[INFO] [stdout]     |
[INFO] [stdout] 251 |             writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let _ = writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:499:14
[INFO] [stdout]     |
[INFO] [stdout] 499 |     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 499 -     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout] 499 +     unsafe { f32::from_bits(i32::cast_unsigned(i)) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:502:14
[INFO] [stdout]     |
[INFO] [stdout] 502 |     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 502 -     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout] 502 +     unsafe { f32::to_bits(f).cast_signed() }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/addpc.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut irs : Vec<(Instr,usize)>=Vec::new();//命令
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `irs`
[INFO] [stdout]   --> src/addpc.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let mut irs : Vec<(Instr,usize)>=Vec::new();//命令
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_irs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/instr.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Instr {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 16 |     //命令の定義。enum(列挙体)
[INFO] [stdout] 17 |     ADD { d: usize, s: usize, t: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 18 |     ADDI { t: usize, s: usize, im: i32 },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 19 |     SUB { d: usize, s: usize, t: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 20 |     MULT { d: usize, s: usize, t: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 21 |     DIV { d: usize, s: usize, t: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 22 |     LW { t: usize, s: usize, off: i32 },
[INFO] [stdout]    |     ^^
[INFO] [stdout] 23 |     SW { t: usize, s: usize, off: i32 },
[INFO] [stdout]    |     ^^
[INFO] [stdout] 24 |     MV { t: usize, s: usize },
[INFO] [stdout]    |     ^^
[INFO] [stdout] 25 |     SLL { d: usize, t: usize, h: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 26 |     SRA { d: usize, t: usize, h: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 27 |     LUI { t: usize, im: i32 },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 28 |     LLI { t: usize, im: i32 },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 29 |     BEQ { s: usize, t: usize, target: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 30 |     BLE { s: usize, t: usize, target: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 31 |     J { target: usize },
[INFO] [stdout]    |     ^
[INFO] [stdout] 32 |     JAL { target: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 33 |     JR { s: usize },
[INFO] [stdout]    |     ^^
[INFO] [stdout] 34 |     NOOP,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     EOF,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 36 |     IN { s: usize },
[INFO] [stdout]    |     ^^
[INFO] [stdout] 37 |     OUT { s: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 38 |     OUTINT { s: usize },
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 39 |     LA { t: usize , target: usize },
[INFO] [stdout]    |     ^^
[INFO] [stdout] 40 |     LI { t: usize, im: i32 },
[INFO] [stdout]    |     ^^
[INFO] [stdout] 41 |     //float
[INFO] [stdout] 42 |     ADDf { fd: usize, fs: usize, ft: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 43 |     SUBf { fd: usize, fs: usize, ft: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 44 |     MULf { fd: usize, fs: usize, ft: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 45 |     INVf { fd: usize, fs: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 46 |     ABSf { fd: usize, fs: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 47 |     NEGf { fd: usize, fs: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 48 |     SQRTf { fd: usize, fs: usize },
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 49 |     FTOI { d: usize, fs: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 50 |     ITOF { fd: usize, s: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     LWf { ft: usize, s: usize, off: i32 },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 52 |     SWf { ft: usize, s: usize, off: i32 },
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 53 |     BEQf { fs: usize, ft: usize, target: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 54 |     BLEf { fs: usize, ft: usize, target: usize },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 55 |     LUIf { ft: usize, im: i32 },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 56 |     LLIf { ft: usize, im: i32 },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 57 |     MVf { ft: usize, fs: usize },
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Instr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InstrType` is never used
[INFO] [stdout]   --> src/instr.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub enum InstrType{
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_str`, `getbytes`, `to_type`, `from_s`, and `disassemble` are never used
[INFO] [stdout]    --> src/instr.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl Instr {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 163 |
[INFO] [stdout] 164 |     pub fn to_str(&self) -> String{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn getbytes(&self) -> [u8; 4] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn to_type(&self) -> InstrType {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn from_s(ir: &str, label_map: &HashMap<String, usize>) -> Result<Self, String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     pub fn disassemble(encoded_instruction: u32) -> Result<(Instr,Option<usize>), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_u8` is never used
[INFO] [stdout]    --> src/instr.rs:644:4
[INFO] [stdout]     |
[INFO] [stdout] 644 | fn to_u8(ir: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_16usize` is never used
[INFO] [stdout]    --> src/instr.rs:652:4
[INFO] [stdout]     |
[INFO] [stdout] 652 | fn to_16usize(im: i32) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bytes_r` is never used
[INFO] [stdout]    --> src/instr.rs:657:4
[INFO] [stdout]     |
[INFO] [stdout] 657 | fn get_bytes_r(opc: usize, rs: usize, rt: usize, rd: usize, shamt: usize, funct: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bytes_i` is never used
[INFO] [stdout]    --> src/instr.rs:663:4
[INFO] [stdout]     |
[INFO] [stdout] 663 | fn get_bytes_i(opc: usize, rs: usize, rt: usize, imm: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse3reg` is never used
[INFO] [stdout]    --> src/instr.rs:671:4
[INFO] [stdout]     |
[INFO] [stdout] 671 | fn parse3reg(ir: &Vec<&str>) -> Result<(usize, usize, usize), String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg` is never used
[INFO] [stdout]    --> src/instr.rs:678:4
[INFO] [stdout]     |
[INFO] [stdout] 678 | fn parse2reg(ir: &Vec<&str>) -> Result<(usize, usize), String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg_i` is never used
[INFO] [stdout]    --> src/instr.rs:686:4
[INFO] [stdout]     |
[INFO] [stdout] 686 | fn parse2reg_i(ir: &Vec<&str>) -> Result<(usize, usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg_i` is never used
[INFO] [stdout]    --> src/instr.rs:700:4
[INFO] [stdout]     |
[INFO] [stdout] 700 | fn parse1reg_i(ir: &Vec<&str>) -> Result<(usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg_label` is never used
[INFO] [stdout]    --> src/instr.rs:713:4
[INFO] [stdout]     |
[INFO] [stdout] 713 | fn parse1reg_label(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg_label` is never used
[INFO] [stdout]    --> src/instr.rs:726:4
[INFO] [stdout]     |
[INFO] [stdout] 726 | fn parse2reg_label(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parsereg_offsreg` is never used
[INFO] [stdout]    --> src/instr.rs:740:4
[INFO] [stdout]     |
[INFO] [stdout] 740 | fn parsereg_offsreg(ir: &Vec<&str>) -> Result<(usize, usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_offsreg` is never used
[INFO] [stdout]    --> src/instr.rs:749:4
[INFO] [stdout]     |
[INFO] [stdout] 749 | fn parse_offsreg(offsreg: &str) -> Result<(usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg` is never used
[INFO] [stdout]    --> src/instr.rs:764:4
[INFO] [stdout]     |
[INFO] [stdout] 764 | fn parse1reg(ir: &Vec<&str>) -> Result<usize, String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_reg` is never used
[INFO] [stdout]    --> src/instr.rs:772:4
[INFO] [stdout]     |
[INFO] [stdout] 772 | fn parse_reg(name: &str) -> Result<usize, String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEM_SIZE` is never used
[INFO] [stdout]   --> src/computer.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const MEM_SIZE: usize = 2222222; //バイト数はこの4倍
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Computer` is never constructed
[INFO] [stdout]   --> src/computer.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Computer {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, `run_debug`, `print_stat`, `print_reg`, and `run_ir` are never used
[INFO] [stdout]    --> src/computer.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl Computer {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  70 |     pub fn new( bpoints: HashSet<usize>, filename: &str, in_filename: Option<String>) -> Computer {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn run(&mut self, irmemory: Vec<(Instr,usize)>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn run_debug(&mut self, irmemory: Vec<(Instr,usize)>,filename: String) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn print_stat(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn print_reg(&self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     fn run_ir(&mut self, ir: &Instr) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i2f` is never used
[INFO] [stdout]    --> src/computer.rs:498:4
[INFO] [stdout]     |
[INFO] [stdout] 498 | fn i2f(i: i32) -> f32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f2i` is never used
[INFO] [stdout]    --> src/computer.rs:501:4
[INFO] [stdout]     |
[INFO] [stdout] 501 | fn f2i(f: f32) -> i32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_u` is never used
[INFO] [stdout]    --> src/computer.rs:505:4
[INFO] [stdout]     |
[INFO] [stdout] 505 | fn to_u(i: i32) -> usize {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true32` is never used
[INFO] [stdout]   --> src/fpu.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn bit_true32(x:u32,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true64` is never used
[INFO] [stdout]   --> src/fpu.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn bit_true64(x:u64,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true128` is never used
[INFO] [stdout]   --> src/fpu.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn bit_true128(x:u128,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inv_fpu` is never used
[INFO] [stdout]   --> src/fpu.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn inv_fpu(f: f32) -> f32{
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul_fpu` is never used
[INFO] [stdout]    --> src/fpu.rs:341:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub fn mul_fpu(f1:f32, f2:f32) -> f32{
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sqrt_fpu` is never used
[INFO] [stdout]    --> src/fpu.rs:531:8
[INFO] [stdout]     |
[INFO] [stdout] 531 | pub fn sqrt_fpu(f: f32) -> f32{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:594:29
[INFO] [stdout]     |
[INFO] [stdout] 594 |                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 594 -                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 594 +                 _ => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:604:30
[INFO] [stdout]     |
[INFO] [stdout] 604 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 604 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 604 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:609:30
[INFO] [stdout]     |
[INFO] [stdout] 609 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 609 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 609 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:622:29
[INFO] [stdout]     |
[INFO] [stdout] 622 |                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 622 -                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 622 +                 _ => panic!("unknown fpu instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:632:25
[INFO] [stdout]     |
[INFO] [stdout] 632 |             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 632 -             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[INFO] [stdout] 632 +             _ => panic!("unknown instr: {:b},opcode:{}",encoded_instruction,op)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/computer.rs:251:13
[INFO] [stdout]     |
[INFO] [stdout] 251 |             writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let _ = writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:499:14
[INFO] [stdout]     |
[INFO] [stdout] 499 |     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 499 -     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout] 499 +     unsafe { f32::from_bits(i32::cast_unsigned(i)) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:502:14
[INFO] [stdout]     |
[INFO] [stdout] 502 |     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 502 -     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout] 502 +     unsafe { f32::to_bits(f).cast_signed() }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ovf`
[INFO] [stdout]    --> src/fpu.rs:525:7
[INFO] [stdout]     |
[INFO] [stdout] 525 |   let ovf = if e1 < 255 && e2 < 255 && ey == 255 {1} else {0};
[INFO] [stdout]     |       ^^^ help: if this is intentional, prefix it with an underscore: `_ovf`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ovf`
[INFO] [stdout]    --> src/fpu.rs:525:7
[INFO] [stdout]     |
[INFO] [stdout] 525 |   let ovf = if e1 < 255 && e2 < 255 && ey == 255 {1} else {0};
[INFO] [stdout]     |       ^^^ help: if this is intentional, prefix it with an underscore: `_ovf`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     Instr::ADDI { t, s, im } => {
[INFO] [stdout]     |                                         ^^ help: try ignoring the field: `im: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:152:39
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off } | Instr::SW { t, s, off } => {
[INFO] [stdout]     |                                       ^^^                       ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off: _ } | Instr::SW { t, s, off: _ } => {
[INFO] [stdout]     |                                          +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/computer.rs:160:40
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h } | Instr::SRA { d, t, h } => {
[INFO] [stdout]     |                                        ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h: _ } | Instr::SRA { d, t, h: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:164:37
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im } | Instr::LLI { t, im } | Instr::LI { t, im } => {
[INFO] [stdout]     |                                     ^^                     ^^                    ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im: _ } | Instr::LLI { t, im: _ } | Instr::LI { t, im: _ } => {
[INFO] [stdout]     |                                       +++                       +++                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:167:40
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target } | Instr::BLE { s, t, target } => {
[INFO] [stdout]     |                                        ^^^^^^                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target: _ } | Instr::BLE { s, t, target: _ } => {
[INFO] [stdout]     |                                              +++                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     Instr::J { target } => {}
[INFO] [stdout]     |                                ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:172:34
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     Instr::JAL { target } => {
[INFO] [stdout]     |                                  ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:178:36
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     Instr::LA { t, target } => {
[INFO] [stdout]     |                                    ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ft`
[INFO] [stdout]    --> src/computer.rs:200:34
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                  ^^                          ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft: _, s, off } | Instr::SWf { ft: _, s, off } => {
[INFO] [stdout]     |                                    +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:200:41
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                         ^^^                         ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off: _ } | Instr::SWf { ft, s, off: _ } => {
[INFO] [stdout]     |                                            +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:203:43
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target } | Instr::BLEf { fs, ft, target } => {
[INFO] [stdout]     |                                           ^^^^^^                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target: _ } | Instr::BLEf { fs, ft, target: _ } => {
[INFO] [stdout]     |                                                 +++                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:207:39
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im } | Instr::LLIf { ft, im } => {
[INFO] [stdout]     |                                       ^^                       ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im: _ } | Instr::LLIf { ft, im: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/computer.rs:215:21
[INFO] [stdout]     |
[INFO] [stdout] 215 |                     x @ _ => {}, //not implemented yet
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ovf`
[INFO] [stdout]    --> src/fpu.rs:525:7
[INFO] [stdout]     |
[INFO] [stdout] 525 |   let ovf = if e1 < 255 && e2 < 255 && ey == 255 {1} else {0};
[INFO] [stdout]     |       ^^^ help: if this is intentional, prefix it with an underscore: `_ovf`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     Instr::ADDI { t, s, im } => {
[INFO] [stdout]     |                                         ^^ help: try ignoring the field: `im: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:152:39
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off } | Instr::SW { t, s, off } => {
[INFO] [stdout]     |                                       ^^^                       ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off: _ } | Instr::SW { t, s, off: _ } => {
[INFO] [stdout]     |                                          +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/computer.rs:160:40
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h } | Instr::SRA { d, t, h } => {
[INFO] [stdout]     |                                        ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h: _ } | Instr::SRA { d, t, h: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:164:37
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im } | Instr::LLI { t, im } | Instr::LI { t, im } => {
[INFO] [stdout]     |                                     ^^                     ^^                    ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im: _ } | Instr::LLI { t, im: _ } | Instr::LI { t, im: _ } => {
[INFO] [stdout]     |                                       +++                       +++                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:167:40
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target } | Instr::BLE { s, t, target } => {
[INFO] [stdout]     |                                        ^^^^^^                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target: _ } | Instr::BLE { s, t, target: _ } => {
[INFO] [stdout]     |                                              +++                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     Instr::J { target } => {}
[INFO] [stdout]     |                                ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:172:34
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     Instr::JAL { target } => {
[INFO] [stdout]     |                                  ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:178:36
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     Instr::LA { t, target } => {
[INFO] [stdout]     |                                    ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ft`
[INFO] [stdout]    --> src/computer.rs:200:34
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                  ^^                          ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft: _, s, off } | Instr::SWf { ft: _, s, off } => {
[INFO] [stdout]     |                                    +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:200:41
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                         ^^^                         ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off: _ } | Instr::SWf { ft, s, off: _ } => {
[INFO] [stdout]     |                                            +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:203:43
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target } | Instr::BLEf { fs, ft, target } => {
[INFO] [stdout]     |                                           ^^^^^^                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target: _ } | Instr::BLEf { fs, ft, target: _ } => {
[INFO] [stdout]     |                                                 +++                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:207:39
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im } | Instr::LLIf { ft, im } => {
[INFO] [stdout]     |                                       ^^                       ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im: _ } | Instr::LLIf { ft, im: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/computer.rs:215:21
[INFO] [stdout]     |
[INFO] [stdout] 215 |                     x @ _ => {}, //not implemented yet
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instr` is never used
[INFO] [stdout]   --> src/instr.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Instr {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InstrType` is never used
[INFO] [stdout]   --> src/instr.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub enum InstrType{
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_str`, `getbytes`, `to_type`, `from_s`, and `disassemble` are never used
[INFO] [stdout]    --> src/instr.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl Instr {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 163 |
[INFO] [stdout] 164 |     pub fn to_str(&self) -> String{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn getbytes(&self) -> [u8; 4] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn to_type(&self) -> InstrType {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn from_s(ir: &str, label_map: &HashMap<String, usize>) -> Result<Self, String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     pub fn disassemble(encoded_instruction: u32) -> Result<(Instr,Option<usize>), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_u8` is never used
[INFO] [stdout]    --> src/instr.rs:644:4
[INFO] [stdout]     |
[INFO] [stdout] 644 | fn to_u8(ir: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_16usize` is never used
[INFO] [stdout]    --> src/instr.rs:652:4
[INFO] [stdout]     |
[INFO] [stdout] 652 | fn to_16usize(im: i32) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bytes_r` is never used
[INFO] [stdout]    --> src/instr.rs:657:4
[INFO] [stdout]     |
[INFO] [stdout] 657 | fn get_bytes_r(opc: usize, rs: usize, rt: usize, rd: usize, shamt: usize, funct: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bytes_i` is never used
[INFO] [stdout]    --> src/instr.rs:663:4
[INFO] [stdout]     |
[INFO] [stdout] 663 | fn get_bytes_i(opc: usize, rs: usize, rt: usize, imm: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse3reg` is never used
[INFO] [stdout]    --> src/instr.rs:671:4
[INFO] [stdout]     |
[INFO] [stdout] 671 | fn parse3reg(ir: &Vec<&str>) -> Result<(usize, usize, usize), String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg` is never used
[INFO] [stdout]    --> src/instr.rs:678:4
[INFO] [stdout]     |
[INFO] [stdout] 678 | fn parse2reg(ir: &Vec<&str>) -> Result<(usize, usize), String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg_i` is never used
[INFO] [stdout]    --> src/instr.rs:686:4
[INFO] [stdout]     |
[INFO] [stdout] 686 | fn parse2reg_i(ir: &Vec<&str>) -> Result<(usize, usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg_i` is never used
[INFO] [stdout]    --> src/instr.rs:700:4
[INFO] [stdout]     |
[INFO] [stdout] 700 | fn parse1reg_i(ir: &Vec<&str>) -> Result<(usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg_label` is never used
[INFO] [stdout]    --> src/instr.rs:713:4
[INFO] [stdout]     |
[INFO] [stdout] 713 | fn parse1reg_label(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg_label` is never used
[INFO] [stdout]    --> src/instr.rs:726:4
[INFO] [stdout]     |
[INFO] [stdout] 726 | fn parse2reg_label(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parsereg_offsreg` is never used
[INFO] [stdout]    --> src/instr.rs:740:4
[INFO] [stdout]     |
[INFO] [stdout] 740 | fn parsereg_offsreg(ir: &Vec<&str>) -> Result<(usize, usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_offsreg` is never used
[INFO] [stdout]    --> src/instr.rs:749:4
[INFO] [stdout]     |
[INFO] [stdout] 749 | fn parse_offsreg(offsreg: &str) -> Result<(usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg` is never used
[INFO] [stdout]    --> src/instr.rs:764:4
[INFO] [stdout]     |
[INFO] [stdout] 764 | fn parse1reg(ir: &Vec<&str>) -> Result<usize, String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_reg` is never used
[INFO] [stdout]    --> src/instr.rs:772:4
[INFO] [stdout]     |
[INFO] [stdout] 772 | fn parse_reg(name: &str) -> Result<usize, String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true32` is never used
[INFO] [stdout]   --> src/fpu.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn bit_true32(x:u32,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true64` is never used
[INFO] [stdout]   --> src/fpu.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn bit_true64(x:u64,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true128` is never used
[INFO] [stdout]   --> src/fpu.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn bit_true128(x:u128,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inv_fpu` is never used
[INFO] [stdout]   --> src/fpu.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn inv_fpu(f: f32) -> f32{
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul_fpu` is never used
[INFO] [stdout]    --> src/fpu.rs:341:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub fn mul_fpu(f1:f32, f2:f32) -> f32{
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sqrt_fpu` is never used
[INFO] [stdout]    --> src/fpu.rs:531:8
[INFO] [stdout]     |
[INFO] [stdout] 531 | pub fn sqrt_fpu(f: f32) -> f32{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEM_SIZE` is never used
[INFO] [stdout]   --> src/computer.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const MEM_SIZE: usize = 2222222; //バイト数はこの4倍
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Computer` is never constructed
[INFO] [stdout]   --> src/computer.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Computer {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, `run_debug`, `print_stat`, `print_reg`, and `run_ir` are never used
[INFO] [stdout]    --> src/computer.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl Computer {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  70 |     pub fn new( bpoints: HashSet<usize>, filename: &str, in_filename: Option<String>) -> Computer {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn run(&mut self, irmemory: Vec<(Instr,usize)>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn run_debug(&mut self, irmemory: Vec<(Instr,usize)>,filename: String) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn print_stat(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn print_reg(&self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     fn run_ir(&mut self, ir: &Instr) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i2f` is never used
[INFO] [stdout]    --> src/computer.rs:498:4
[INFO] [stdout]     |
[INFO] [stdout] 498 | fn i2f(i: i32) -> f32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f2i` is never used
[INFO] [stdout]    --> src/computer.rs:501:4
[INFO] [stdout]     |
[INFO] [stdout] 501 | fn f2i(f: f32) -> i32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_u` is never used
[INFO] [stdout]    --> src/computer.rs:505:4
[INFO] [stdout]     |
[INFO] [stdout] 505 | fn to_u(i: i32) -> usize {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/sld2indata.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         writer.write(format!("{:x} {:x} {:x} {:x}\n",x[0],x[1],x[2],x[3]).as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let _ = writer.write(format!("{:x} {:x} {:x} {:x}\n",x[0],x[1],x[2],x[3]).as_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/sld2indata.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             std::mem::transmute::<f32, u32>(f)
[INFO] [stdout]    |             -------------------------------^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: replace this with: `f32::to_bits`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:594:29
[INFO] [stdout]     |
[INFO] [stdout] 594 |                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 594 -                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 594 +                 _ => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:604:30
[INFO] [stdout]     |
[INFO] [stdout] 604 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 604 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 604 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:609:30
[INFO] [stdout]     |
[INFO] [stdout] 609 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 609 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 609 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:622:29
[INFO] [stdout]     |
[INFO] [stdout] 622 |                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 622 -                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 622 +                 _ => panic!("unknown fpu instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:632:25
[INFO] [stdout]     |
[INFO] [stdout] 632 |             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 632 -             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[INFO] [stdout] 632 +             _ => panic!("unknown instr: {:b},opcode:{}",encoded_instruction,op)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/computer.rs:251:13
[INFO] [stdout]     |
[INFO] [stdout] 251 |             writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let _ = writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:499:14
[INFO] [stdout]     |
[INFO] [stdout] 499 |     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 499 -     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout] 499 +     unsafe { f32::from_bits(i32::cast_unsigned(i)) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:502:14
[INFO] [stdout]     |
[INFO] [stdout] 502 |     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 502 -     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout] 502 +     unsafe { f32::to_bits(f).cast_signed() }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ha`
[INFO] [stdout]    --> src/main.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let ha:HashMap<Instr,isize> = HashMap::new();
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_ha`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UNKNOWN` is never constructed
[INFO] [stdout]    --> src/instr.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout]  60 | pub enum InstrType{
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 103 |     UNKNOWN,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InstrType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_str` and `disassemble` are never used
[INFO] [stdout]    --> src/instr.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl Instr {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 163 |
[INFO] [stdout] 164 |     pub fn to_str(&self) -> String{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     pub fn disassemble(encoded_instruction: u32) -> Result<(Instr,Option<usize>), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `changed_reg` is never read
[INFO] [stdout]   --> src/computer.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Computer {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 63 |     changed_reg: [bool; 64],
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:594:29
[INFO] [stdout]     |
[INFO] [stdout] 594 |                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 594 -                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 594 +                 _ => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:604:30
[INFO] [stdout]     |
[INFO] [stdout] 604 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 604 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 604 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:609:30
[INFO] [stdout]     |
[INFO] [stdout] 609 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 609 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 609 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:622:29
[INFO] [stdout]     |
[INFO] [stdout] 622 |                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 622 -                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 622 +                 _ => panic!("unknown fpu instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:632:25
[INFO] [stdout]     |
[INFO] [stdout] 632 |             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 632 -             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[INFO] [stdout] 632 +             _ => panic!("unknown instr: {:b},opcode:{}",encoded_instruction,op)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:148:41
[INFO] [stdout]     |
[INFO] [stdout] 148 |                     Instr::ADDI { t, s, im } => {
[INFO] [stdout]     |                                         ^^ help: try ignoring the field: `im: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/computer.rs:251:13
[INFO] [stdout]     |
[INFO] [stdout] 251 |             writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let _ = writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:499:14
[INFO] [stdout]     |
[INFO] [stdout] 499 |     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 499 -     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout] 499 +     unsafe { f32::from_bits(i32::cast_unsigned(i)) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:502:14
[INFO] [stdout]     |
[INFO] [stdout] 502 |     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 502 -     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout] 502 +     unsafe { f32::to_bits(f).cast_signed() }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:152:39
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off } | Instr::SW { t, s, off } => {
[INFO] [stdout]     |                                       ^^^                       ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 152 |                     Instr::LW { t, s, off: _ } | Instr::SW { t, s, off: _ } => {
[INFO] [stdout]     |                                          +++                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/computer.rs:160:40
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h } | Instr::SRA { d, t, h } => {
[INFO] [stdout]     |                                        ^                        ^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 160 |                     Instr::SLL { d, t, h: _ } | Instr::SRA { d, t, h: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:164:37
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im } | Instr::LLI { t, im } | Instr::LI { t, im } => {
[INFO] [stdout]     |                                     ^^                     ^^                    ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     Instr::LUI { t, im: _ } | Instr::LLI { t, im: _ } | Instr::LI { t, im: _ } => {
[INFO] [stdout]     |                                       +++                       +++                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:167:40
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target } | Instr::BLE { s, t, target } => {
[INFO] [stdout]     |                                        ^^^^^^                        ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 167 |                     Instr::BEQ { s, t, target: _ } | Instr::BLE { s, t, target: _ } => {
[INFO] [stdout]     |                                              +++                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:171:32
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     Instr::J { target } => {}
[INFO] [stdout]     |                                ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:172:34
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     Instr::JAL { target } => {
[INFO] [stdout]     |                                  ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:178:36
[INFO] [stdout]     |
[INFO] [stdout] 178 |                     Instr::LA { t, target } => {
[INFO] [stdout]     |                                    ^^^^^^ help: try ignoring the field: `target: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ft`
[INFO] [stdout]    --> src/computer.rs:200:34
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                  ^^                          ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft: _, s, off } | Instr::SWf { ft: _, s, off } => {
[INFO] [stdout]     |                                    +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off`
[INFO] [stdout]    --> src/computer.rs:200:41
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off } | Instr::SWf { ft, s, off } => {
[INFO] [stdout]     |                                         ^^^                         ^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 200 |                     Instr::LWf { ft, s, off: _ } | Instr::SWf { ft, s, off: _ } => {
[INFO] [stdout]     |                                            +++                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]    --> src/computer.rs:203:43
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target } | Instr::BLEf { fs, ft, target } => {
[INFO] [stdout]     |                                           ^^^^^^                           ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     Instr::BEQf { fs, ft, target: _ } | Instr::BLEf { fs, ft, target: _ } => {
[INFO] [stdout]     |                                                 +++                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `im`
[INFO] [stdout]    --> src/computer.rs:207:39
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im } | Instr::LLIf { ft, im } => {
[INFO] [stdout]     |                                       ^^                       ^^
[INFO] [stdout]     |
[INFO] [stdout] help: try ignoring the field
[INFO] [stdout]     |
[INFO] [stdout] 207 |                     Instr::LUIf { ft, im: _ } | Instr::LLIf { ft, im: _ } => {
[INFO] [stdout]     |                                         +++                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/computer.rs:215:21
[INFO] [stdout]     |
[INFO] [stdout] 215 |                     x @ _ => {}, //not implemented yet
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instr` is never used
[INFO] [stdout]   --> src/instr.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Instr {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InstrType` is never used
[INFO] [stdout]   --> src/instr.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub enum InstrType{
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `to_str`, `getbytes`, `to_type`, `from_s`, and `disassemble` are never used
[INFO] [stdout]    --> src/instr.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl Instr {
[INFO] [stdout]     | ---------- associated items in this implementation
[INFO] [stdout] 163 |
[INFO] [stdout] 164 |     pub fn to_str(&self) -> String{
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn getbytes(&self) -> [u8; 4] {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn to_type(&self) -> InstrType {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn from_s(ir: &str, label_map: &HashMap<String, usize>) -> Result<Self, String> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 563 |     pub fn disassemble(encoded_instruction: u32) -> Result<(Instr,Option<usize>), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_u8` is never used
[INFO] [stdout]    --> src/instr.rs:644:4
[INFO] [stdout]     |
[INFO] [stdout] 644 | fn to_u8(ir: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_16usize` is never used
[INFO] [stdout]    --> src/instr.rs:652:4
[INFO] [stdout]     |
[INFO] [stdout] 652 | fn to_16usize(im: i32) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bytes_r` is never used
[INFO] [stdout]    --> src/instr.rs:657:4
[INFO] [stdout]     |
[INFO] [stdout] 657 | fn get_bytes_r(opc: usize, rs: usize, rt: usize, rd: usize, shamt: usize, funct: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_bytes_i` is never used
[INFO] [stdout]    --> src/instr.rs:663:4
[INFO] [stdout]     |
[INFO] [stdout] 663 | fn get_bytes_i(opc: usize, rs: usize, rt: usize, imm: usize) -> [u8; 4] {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse3reg` is never used
[INFO] [stdout]    --> src/instr.rs:671:4
[INFO] [stdout]     |
[INFO] [stdout] 671 | fn parse3reg(ir: &Vec<&str>) -> Result<(usize, usize, usize), String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg` is never used
[INFO] [stdout]    --> src/instr.rs:678:4
[INFO] [stdout]     |
[INFO] [stdout] 678 | fn parse2reg(ir: &Vec<&str>) -> Result<(usize, usize), String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg_i` is never used
[INFO] [stdout]    --> src/instr.rs:686:4
[INFO] [stdout]     |
[INFO] [stdout] 686 | fn parse2reg_i(ir: &Vec<&str>) -> Result<(usize, usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg_i` is never used
[INFO] [stdout]    --> src/instr.rs:700:4
[INFO] [stdout]     |
[INFO] [stdout] 700 | fn parse1reg_i(ir: &Vec<&str>) -> Result<(usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg_label` is never used
[INFO] [stdout]    --> src/instr.rs:713:4
[INFO] [stdout]     |
[INFO] [stdout] 713 | fn parse1reg_label(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse2reg_label` is never used
[INFO] [stdout]    --> src/instr.rs:726:4
[INFO] [stdout]     |
[INFO] [stdout] 726 | fn parse2reg_label(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parsereg_offsreg` is never used
[INFO] [stdout]    --> src/instr.rs:740:4
[INFO] [stdout]     |
[INFO] [stdout] 740 | fn parsereg_offsreg(ir: &Vec<&str>) -> Result<(usize, usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_offsreg` is never used
[INFO] [stdout]    --> src/instr.rs:749:4
[INFO] [stdout]     |
[INFO] [stdout] 749 | fn parse_offsreg(offsreg: &str) -> Result<(usize, i32), String> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse1reg` is never used
[INFO] [stdout]    --> src/instr.rs:764:4
[INFO] [stdout]     |
[INFO] [stdout] 764 | fn parse1reg(ir: &Vec<&str>) -> Result<usize, String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_reg` is never used
[INFO] [stdout]    --> src/instr.rs:772:4
[INFO] [stdout]     |
[INFO] [stdout] 772 | fn parse_reg(name: &str) -> Result<usize, String> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true32` is never used
[INFO] [stdout]   --> src/fpu.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn bit_true32(x:u32,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true64` is never used
[INFO] [stdout]   --> src/fpu.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn bit_true64(x:u64,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bit_true128` is never used
[INFO] [stdout]   --> src/fpu.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn bit_true128(x:u128,d:usize) -> bool{
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inv_fpu` is never used
[INFO] [stdout]   --> src/fpu.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn inv_fpu(f: f32) -> f32{
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mul_fpu` is never used
[INFO] [stdout]    --> src/fpu.rs:341:8
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub fn mul_fpu(f1:f32, f2:f32) -> f32{
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sqrt_fpu` is never used
[INFO] [stdout]    --> src/fpu.rs:531:8
[INFO] [stdout]     |
[INFO] [stdout] 531 | pub fn sqrt_fpu(f: f32) -> f32{
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MEM_SIZE` is never used
[INFO] [stdout]   --> src/computer.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const MEM_SIZE: usize = 2222222; //バイト数はこの4倍
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Computer` is never constructed
[INFO] [stdout]   --> src/computer.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct Computer {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `run`, `run_debug`, `print_stat`, `print_reg`, and `run_ir` are never used
[INFO] [stdout]    --> src/computer.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl Computer {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout]  70 |     pub fn new( bpoints: HashSet<usize>, filename: &str, in_filename: Option<String>) -> Computer {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn run(&mut self, irmemory: Vec<(Instr,usize)>) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn run_debug(&mut self, irmemory: Vec<(Instr,usize)>,filename: String) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     fn print_stat(&self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     fn print_reg(&self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 300 |     fn run_ir(&mut self, ir: &Instr) -> bool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `i2f` is never used
[INFO] [stdout]    --> src/computer.rs:498:4
[INFO] [stdout]     |
[INFO] [stdout] 498 | fn i2f(i: i32) -> f32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f2i` is never used
[INFO] [stdout]    --> src/computer.rs:501:4
[INFO] [stdout]     |
[INFO] [stdout] 501 | fn f2i(f: f32) -> i32 {
[INFO] [stdout]     |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_u` is never used
[INFO] [stdout]    --> src/computer.rs:505:4
[INFO] [stdout]     |
[INFO] [stdout] 505 | fn to_u(i: i32) -> usize {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/sld2indata.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         writer.write(format!("{:x} {:x} {:x} {:x}\n",x[0],x[1],x[2],x[3]).as_bytes());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let _ = writer.write(format!("{:x} {:x} {:x} {:x}\n",x[0],x[1],x[2],x[3]).as_bytes());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/sld2indata.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |             std::mem::transmute::<f32, u32>(f)
[INFO] [stdout]    |             -------------------------------^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: replace this with: `f32::to_bits`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:594:29
[INFO] [stdout]     |
[INFO] [stdout] 594 |                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 594 -                 _ => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 594 +                 _ => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:604:30
[INFO] [stdout]     |
[INFO] [stdout] 604 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 604 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 604 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:609:30
[INFO] [stdout]     |
[INFO] [stdout] 609 |                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 609 -                 _  => panic!(format!("unknown instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 609 +                 _  => panic!("unknown instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:622:29
[INFO] [stdout]     |
[INFO] [stdout] 622 |                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 622 -                 _ => panic!(format!("unknown fpu instr bit: {:b}",encoded_instruction))
[INFO] [stdout] 622 +                 _ => panic!("unknown fpu instr bit: {:b}",encoded_instruction)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/instr.rs:632:25
[INFO] [stdout]     |
[INFO] [stdout] 632 |             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[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 <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[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] 632 -             _ => panic!(format!("unknown instr: {:b},opcode:{}",encoded_instruction,op))
[INFO] [stdout] 632 +             _ => panic!("unknown instr: {:b},opcode:{}",encoded_instruction,op)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/computer.rs:251:13
[INFO] [stdout]     |
[INFO] [stdout] 251 |             writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |             let _ = writeln!(file,"{} {}", i<<2, run_pc_map[i]);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:499:14
[INFO] [stdout]     |
[INFO] [stdout] 499 |     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 499 -     unsafe { mem::transmute::<i32, f32>(i) }
[INFO] [stdout] 499 +     unsafe { f32::from_bits(i32::cast_unsigned(i)) }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/computer.rs:502:14
[INFO] [stdout]     |
[INFO] [stdout] 502 |     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 502 -     unsafe { mem::transmute::<f32, i32>(f) }
[INFO] [stdout] 502 +     unsafe { f32::to_bits(f).cast_signed() }
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.07s
[INFO] running `Command { std: "docker" "inspect" "52d28ad9af35831558aef7cc2f29986141fe9e0dd6fa3f3c6a712a065c30ba90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "52d28ad9af35831558aef7cc2f29986141fe9e0dd6fa3f3c6a712a065c30ba90", kill_on_drop: false }`
[INFO] [stdout] 52d28ad9af35831558aef7cc2f29986141fe9e0dd6fa3f3c6a712a065c30ba90
