[INFO] cloning repository https://github.com/HellBats/LC3-Box
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/HellBats/LC3-Box" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHellBats%2FLC3-Box", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHellBats%2FLC3-Box'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9b85d519050d2c8f05a15b86d958cadcf8aa3b28
[INFO] testing HellBats/LC3-Box against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FHellBats%2FLC3-Box" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/HellBats/LC3-Box
[INFO] finished tweaking git repo https://github.com/HellBats/LC3-Box
[INFO] tweaked toml for git repo https://github.com/HellBats/LC3-Box written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/HellBats/LC3-Box on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/HellBats/LC3-Box already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: build
[INFO] [stderr] help: build is a valid .cargo/config.toml key
[INFO] [stderr] warning: `LC3-Box` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ctrlc v3.5.0
[INFO] [stderr]   Downloaded litrs v0.4.2
[INFO] [stderr]   Downloaded windows-sys v0.61.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d60de22fd66ab82ceefdc0bdd661ffa6e63a871342bd539945e5dd198fadb8ea
[INFO] running `Command { std: "docker" "start" "d60de22fd66ab82ceefdc0bdd661ffa6e63a871342bd539945e5dd198fadb8ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d60de22fd66ab82ceefdc0bdd661ffa6e63a871342bd539945e5dd198fadb8ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d60de22fd66ab82ceefdc0bdd661ffa6e63a871342bd539945e5dd198fadb8ea" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d60de22fd66ab82ceefdc0bdd661ffa6e63a871342bd539945e5dd198fadb8ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d60de22fd66ab82ceefdc0bdd661ffa6e63a871342bd539945e5dd198fadb8ea" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: build
[INFO] [stderr] help: build is a valid .cargo/config.toml key
[INFO] [stderr] warning: `LC3-Box` (manifest) generated 1 warning
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling litrs v0.4.2
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling ctrlc v3.5.0
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling LC3-Box v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::hardware::MEMORY_MAX`
[INFO] [stdout]  --> src/image.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::hardware::MEMORY_MAX;
[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: `hardware::CondtionalFlags`
[INFO] [stdout]  --> src/operations.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use hardware::CondtionalFlags;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/operations.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     if ((inst>>9 & vm.register_read(Registers::R_COND.into()))!=0)
[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] 20 -     if ((inst>>9 & vm.register_read(Registers::R_COND.into()))!=0)
[INFO] [stdout] 20 +     if (inst>>9 & vm.register_read(Registers::R_COND.into()))!=0
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/operations.rs:207:11
[INFO] [stdout]     |
[INFO] [stdout] 207 |     match (instr)
[INFO] [stdout]     |           ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 207 -     match (instr)
[INFO] [stdout] 207 +     match instr
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/vm.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |         if (address == (MR_KBSR as u16))
[INFO] [stdout]    |            ^                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 25 -         if (address == (MR_KBSR as u16))
[INFO] [stdout] 25 +         if address == (MR_KBSR as u16)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/vm.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             if (check_key())
[INFO] [stdout]    |                ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 -             if (check_key())
[INFO] [stdout] 27 +             if check_key()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_GETC` should have an upper camel case name
[INFO] [stdout]  --> src/traps.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     TRAP_GETC = 0x20,  /* get character from keyboard, not echoed onto the terminal */
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapGetc`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_OUT` should have an upper camel case name
[INFO] [stdout]  --> src/traps.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     TRAP_OUT = 0x21,   /* output a character */
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to upper camel case: `TrapOut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_PUTS` should have an upper camel case name
[INFO] [stdout]  --> src/traps.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     TRAP_PUTS = 0x22,  /* output a word string */
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapPuts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_IN` should have an upper camel case name
[INFO] [stdout]  --> src/traps.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     TRAP_IN = 0x23,    /* get character from keyboard, echoed onto the terminal */
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to upper camel case: `TrapIn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_PUTSP` should have an upper camel case name
[INFO] [stdout]  --> src/traps.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     TRAP_PUTSP = 0x24, /* output a byte string */
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `TrapPutsp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_HALT` should have an upper camel case name
[INFO] [stdout]  --> src/traps.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     TRAP_HALT = 0x25,   /* halt the program */
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapHalt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_INVALID` should have an upper camel case name
[INFO] [stdout]   --> src/traps.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     TRAP_INVALID
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TrapInvalid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Event`
[INFO] [stdout]  --> src/input_buffering.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crossterm::event::{self, Event};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R0` should have an upper camel case name
[INFO] [stdout]  --> src/hardware.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     R_R0=0,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to upper camel case: `RR0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R1` should have an upper camel case name
[INFO] [stdout]  --> src/hardware.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     R_R1,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to upper camel case: `RR1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R2` should have an upper camel case name
[INFO] [stdout]  --> src/hardware.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     R_R2,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to upper camel case: `RR2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R3` should have an upper camel case name
[INFO] [stdout]  --> src/hardware.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     R_R3,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to upper camel case: `RR3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R4` should have an upper camel case name
[INFO] [stdout]  --> src/hardware.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     R_R4,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to upper camel case: `RR4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R5` should have an upper camel case name
[INFO] [stdout]  --> src/hardware.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     R_R5,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to upper camel case: `RR5`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R6` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     R_R6,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `RR6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R7` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     R_R7,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `RR7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_PC` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     R_PC,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `RPc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_COND` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     R_COND,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `RCond`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_COUNT` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     R_COUNT,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `RCount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_GETC` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     TRAP_GETC = 0x20,  /* get character from keyboard, not echoed onto the terminal */
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapGetc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_OUT` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     TRAP_OUT = 0x21,   /* output a character */
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `TrapOut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_PUTS` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     TRAP_PUTS = 0x22,  /* output a word string */
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapPuts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_IN` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     TRAP_IN = 0x23,    /* get character from keyboard, echoed onto the terminal */
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `TrapIn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_PUTSP` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     TRAP_PUTSP = 0x24, /* output a byte string */
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `TrapPutsp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_HALT` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     TRAP_HALT = 0x25   /* halt the program */
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapHalt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FL_POS` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     FL_POS = 1 << 0, /* P */
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `FlPos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FL_ZRO` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     FL_ZRO = 1 << 1, /* Z */
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `FlZro`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FL_NEG` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     FL_NEG = 1 << 2, /* N */
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `FlNeg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Memory_Mapped_registers` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub enum Memory_Mapped_registers
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MemoryMappedRegisters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MR_KBSR` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     MR_KBSR = 0xFE00, /* keyboard status */
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `MrKbsr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MR_KBDR` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     MR_KBDR = 0xFE02  /* keyboard data */
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `MrKbdr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]    --> src/operations.rs:140:11
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn OP_RTI(inst:u16,vm:&mut VM)
[INFO] [stdout]     |           ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]    --> src/operations.rs:140:20
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn OP_RTI(inst:u16,vm:&mut VM)
[INFO] [stdout]     |                    ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]    --> src/operations.rs:185:11
[INFO] [stdout]     |
[INFO] [stdout] 185 | fn OP_RES(inst:u16,vm:&mut VM)
[INFO] [stdout]     |           ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]    --> src/operations.rs:185:20
[INFO] [stdout]     |
[INFO] [stdout] 185 | fn OP_RES(inst:u16,vm:&mut VM)
[INFO] [stdout]     |                    ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ch2`
[INFO] [stdout]    --> src/operations.rs:253:21
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 let ch2 = (chrs>>8) as u8;
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_ch2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Traps` is never used
[INFO] [stdout]   --> src/hardware.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Traps
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_BR` should have a snake case name
[INFO] [stdout]   --> src/operations.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn OP_BR(inst:u16,vm:&mut VM)
[INFO] [stdout]    |    ^^^^^ help: convert the identifier to snake case: `op_br`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_ADD` should have a snake case name
[INFO] [stdout]   --> src/operations.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn OP_ADD(inst:u16,vm:&mut VM)
[INFO] [stdout]    |    ^^^^^^ help: convert the identifier to snake case: `op_add`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_LD` should have a snake case name
[INFO] [stdout]   --> src/operations.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn OP_LD(inst:u16,vm:&mut VM)
[INFO] [stdout]    |    ^^^^^ help: convert the identifier to snake case: `op_ld`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_ST` should have a snake case name
[INFO] [stdout]   --> src/operations.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn OP_ST(inst:u16,vm:&mut VM)
[INFO] [stdout]    |    ^^^^^ help: convert the identifier to snake case: `op_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_JSR` should have a snake case name
[INFO] [stdout]   --> src/operations.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn OP_JSR(inst:u16,vm:&mut VM)
[INFO] [stdout]    |    ^^^^^^ help: convert the identifier to snake case: `op_jsr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_AND` should have a snake case name
[INFO] [stdout]   --> src/operations.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn OP_AND(inst:u16,vm:&mut VM)
[INFO] [stdout]    |    ^^^^^^ help: convert the identifier to snake case: `op_and`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_LDR` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn OP_LDR(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_ldr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_STR` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:129:4
[INFO] [stdout]     |
[INFO] [stdout] 129 | fn OP_STR(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_RTI` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn OP_RTI(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_rti`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_NOT` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn OP_NOT(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_not`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_LDI` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn OP_LDI(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_ldi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_STI` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:166:4
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn OP_STI(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_sti`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_JMP` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:177:4
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn OP_JMP(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_jmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_RES` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:185:4
[INFO] [stdout]     |
[INFO] [stdout] 185 | fn OP_RES(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_LEA` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn OP_LEA(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_lea`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_TRAP` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:202:4
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn OP_TRAP(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^^ help: convert the identifier to snake case: `op_trap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.50s
[INFO] running `Command { std: "docker" "inspect" "d60de22fd66ab82ceefdc0bdd661ffa6e63a871342bd539945e5dd198fadb8ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d60de22fd66ab82ceefdc0bdd661ffa6e63a871342bd539945e5dd198fadb8ea" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: build
[INFO] [stderr] help: build is a valid .cargo/config.toml key
[INFO] [stderr] warning: `LC3-Box` (manifest) generated 1 warning
[INFO] [stderr]    Compiling LC3-Box v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::hardware::MEMORY_MAX`
[INFO] [stdout]  --> src/image.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::hardware::MEMORY_MAX;
[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 `if` condition
[INFO] [stdout]   --> src/operations.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     if ((inst>>9 & vm.register_read(Registers::R_COND.into()))!=0)
[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] 20 -     if ((inst>>9 & vm.register_read(Registers::R_COND.into()))!=0)
[INFO] [stdout] 20 +     if (inst>>9 & vm.register_read(Registers::R_COND.into()))!=0
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stdout]    --> src/operations.rs:207:11
[INFO] [stdout]     |
[INFO] [stdout] 207 |     match (instr)
[INFO] [stdout]     |           ^     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 207 -     match (instr)
[INFO] [stdout] 207 +     match instr
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/vm.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |         if (address == (MR_KBSR as u16))
[INFO] [stdout]    |            ^                           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 25 -         if (address == (MR_KBSR as u16))
[INFO] [stdout] 25 +         if address == (MR_KBSR as u16)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/vm.rs:27:16
[INFO] [stdout]    |
[INFO] [stdout] 27 |             if (check_key())
[INFO] [stdout]    |                ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 27 -             if (check_key())
[INFO] [stdout] 27 +             if check_key()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_GETC` should have an upper camel case name
[INFO] [stdout]  --> src/traps.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     TRAP_GETC = 0x20,  /* get character from keyboard, not echoed onto the terminal */
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapGetc`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_OUT` should have an upper camel case name
[INFO] [stdout]  --> src/traps.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     TRAP_OUT = 0x21,   /* output a character */
[INFO] [stdout]   |     ^^^^^^^^ help: convert the identifier to upper camel case: `TrapOut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_PUTS` should have an upper camel case name
[INFO] [stdout]  --> src/traps.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     TRAP_PUTS = 0x22,  /* output a word string */
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapPuts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_IN` should have an upper camel case name
[INFO] [stdout]  --> src/traps.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     TRAP_IN = 0x23,    /* get character from keyboard, echoed onto the terminal */
[INFO] [stdout]   |     ^^^^^^^ help: convert the identifier to upper camel case: `TrapIn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_PUTSP` should have an upper camel case name
[INFO] [stdout]  --> src/traps.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     TRAP_PUTSP = 0x24, /* output a byte string */
[INFO] [stdout]   |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `TrapPutsp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_HALT` should have an upper camel case name
[INFO] [stdout]  --> src/traps.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     TRAP_HALT = 0x25,   /* halt the program */
[INFO] [stdout]   |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapHalt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_INVALID` should have an upper camel case name
[INFO] [stdout]   --> src/traps.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     TRAP_INVALID
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TrapInvalid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Event`
[INFO] [stdout]  --> src/input_buffering.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crossterm::event::{self, Event};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R0` should have an upper camel case name
[INFO] [stdout]  --> src/hardware.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     R_R0=0,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to upper camel case: `RR0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R1` should have an upper camel case name
[INFO] [stdout]  --> src/hardware.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     R_R1,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to upper camel case: `RR1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R2` should have an upper camel case name
[INFO] [stdout]  --> src/hardware.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     R_R2,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to upper camel case: `RR2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R3` should have an upper camel case name
[INFO] [stdout]  --> src/hardware.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     R_R3,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to upper camel case: `RR3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R4` should have an upper camel case name
[INFO] [stdout]  --> src/hardware.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     R_R4,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to upper camel case: `RR4`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R5` should have an upper camel case name
[INFO] [stdout]  --> src/hardware.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     R_R5,
[INFO] [stdout]   |     ^^^^ help: convert the identifier to upper camel case: `RR5`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R6` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     R_R6,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `RR6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_R7` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     R_R7,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `RR7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_PC` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     R_PC,
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case: `RPc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_COND` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     R_COND,
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `RCond`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `R_COUNT` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     R_COUNT,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `RCount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_GETC` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     TRAP_GETC = 0x20,  /* get character from keyboard, not echoed onto the terminal */
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapGetc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_OUT` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     TRAP_OUT = 0x21,   /* output a character */
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `TrapOut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_PUTS` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     TRAP_PUTS = 0x22,  /* output a word string */
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapPuts`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_IN` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     TRAP_IN = 0x23,    /* get character from keyboard, echoed onto the terminal */
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `TrapIn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_PUTSP` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     TRAP_PUTSP = 0x24, /* output a byte string */
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `TrapPutsp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TRAP_HALT` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     TRAP_HALT = 0x25   /* halt the program */
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapHalt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FL_POS` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     FL_POS = 1 << 0, /* P */
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `FlPos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FL_ZRO` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     FL_ZRO = 1 << 1, /* Z */
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `FlZro`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FL_NEG` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     FL_NEG = 1 << 2, /* N */
[INFO] [stdout]    |     ^^^^^^ help: convert the identifier to upper camel case: `FlNeg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Memory_Mapped_registers` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:34:10
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub enum Memory_Mapped_registers
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MemoryMappedRegisters`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MR_KBSR` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     MR_KBSR = 0xFE00, /* keyboard status */
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `MrKbsr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MR_KBDR` should have an upper camel case name
[INFO] [stdout]   --> src/hardware.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     MR_KBDR = 0xFE02  /* keyboard data */
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `MrKbdr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]    --> src/operations.rs:140:11
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn OP_RTI(inst:u16,vm:&mut VM)
[INFO] [stdout]     |           ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]    --> src/operations.rs:140:20
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn OP_RTI(inst:u16,vm:&mut VM)
[INFO] [stdout]     |                    ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]    --> src/operations.rs:185:11
[INFO] [stdout]     |
[INFO] [stdout] 185 | fn OP_RES(inst:u16,vm:&mut VM)
[INFO] [stdout]     |           ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vm`
[INFO] [stdout]    --> src/operations.rs:185:20
[INFO] [stdout]     |
[INFO] [stdout] 185 | fn OP_RES(inst:u16,vm:&mut VM)
[INFO] [stdout]     |                    ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ch2`
[INFO] [stdout]    --> src/operations.rs:253:21
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 let ch2 = (chrs>>8) as u8;
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_ch2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Traps` is never used
[INFO] [stdout]   --> src/hardware.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Traps
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_BR` should have a snake case name
[INFO] [stdout]   --> src/operations.rs:17:4
[INFO] [stdout]    |
[INFO] [stdout] 17 | fn OP_BR(inst:u16,vm:&mut VM)
[INFO] [stdout]    |    ^^^^^ help: convert the identifier to snake case: `op_br`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_ADD` should have a snake case name
[INFO] [stdout]   --> src/operations.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn OP_ADD(inst:u16,vm:&mut VM)
[INFO] [stdout]    |    ^^^^^^ help: convert the identifier to snake case: `op_add`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_LD` should have a snake case name
[INFO] [stdout]   --> src/operations.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn OP_LD(inst:u16,vm:&mut VM)
[INFO] [stdout]    |    ^^^^^ help: convert the identifier to snake case: `op_ld`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_ST` should have a snake case name
[INFO] [stdout]   --> src/operations.rs:62:4
[INFO] [stdout]    |
[INFO] [stdout] 62 | fn OP_ST(inst:u16,vm:&mut VM)
[INFO] [stdout]    |    ^^^^^ help: convert the identifier to snake case: `op_st`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_JSR` should have a snake case name
[INFO] [stdout]   --> src/operations.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn OP_JSR(inst:u16,vm:&mut VM)
[INFO] [stdout]    |    ^^^^^^ help: convert the identifier to snake case: `op_jsr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_AND` should have a snake case name
[INFO] [stdout]   --> src/operations.rs:93:4
[INFO] [stdout]    |
[INFO] [stdout] 93 | fn OP_AND(inst:u16,vm:&mut VM)
[INFO] [stdout]    |    ^^^^^^ help: convert the identifier to snake case: `op_and`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_LDR` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:116:4
[INFO] [stdout]     |
[INFO] [stdout] 116 | fn OP_LDR(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_ldr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_STR` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:129:4
[INFO] [stdout]     |
[INFO] [stdout] 129 | fn OP_STR(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_RTI` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:140:4
[INFO] [stdout]     |
[INFO] [stdout] 140 | fn OP_RTI(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_rti`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_NOT` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:146:4
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn OP_NOT(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_not`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_LDI` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:154:4
[INFO] [stdout]     |
[INFO] [stdout] 154 | fn OP_LDI(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_ldi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_STI` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:166:4
[INFO] [stdout]     |
[INFO] [stdout] 166 | fn OP_STI(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_sti`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_JMP` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:177:4
[INFO] [stdout]     |
[INFO] [stdout] 177 | fn OP_JMP(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_jmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_RES` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:185:4
[INFO] [stdout]     |
[INFO] [stdout] 185 | fn OP_RES(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_LEA` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:191:4
[INFO] [stdout]     |
[INFO] [stdout] 191 | fn OP_LEA(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^ help: convert the identifier to snake case: `op_lea`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `OP_TRAP` should have a snake case name
[INFO] [stdout]    --> src/operations.rs:202:4
[INFO] [stdout]     |
[INFO] [stdout] 202 | fn OP_TRAP(inst:u16,vm:&mut VM)
[INFO] [stdout]     |    ^^^^^^^ help: convert the identifier to snake case: `op_trap`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.42s
[INFO] running `Command { std: "docker" "inspect" "d60de22fd66ab82ceefdc0bdd661ffa6e63a871342bd539945e5dd198fadb8ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d60de22fd66ab82ceefdc0bdd661ffa6e63a871342bd539945e5dd198fadb8ea" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: unused manifest key: build
[INFO] [stderr] help: build is a valid .cargo/config.toml key
[INFO] [stderr] warning: `LC3-Box` (manifest) generated 1 warning
[INFO] [stderr] warning: unused import: `crate::hardware::MEMORY_MAX`
[INFO] [stderr]  --> src/image.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::hardware::MEMORY_MAX;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/operations.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 |     if ((inst>>9 & vm.register_read(Registers::R_COND.into()))!=0)
[INFO] [stderr]    |        ^                                                         ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 20 -     if ((inst>>9 & vm.register_read(Registers::R_COND.into()))!=0)
[INFO] [stderr] 20 +     if (inst>>9 & vm.register_read(Registers::R_COND.into()))!=0
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `match` scrutinee expression
[INFO] [stderr]    --> src/operations.rs:207:11
[INFO] [stderr]     |
[INFO] [stderr] 207 |     match (instr)
[INFO] [stderr]     |           ^     ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 207 -     match (instr)
[INFO] [stderr] 207 +     match instr
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/vm.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 25 |         if (address == (MR_KBSR as u16))
[INFO] [stderr]    |            ^                           ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 25 -         if (address == (MR_KBSR as u16))
[INFO] [stderr] 25 +         if address == (MR_KBSR as u16)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/vm.rs:27:16
[INFO] [stderr]    |
[INFO] [stderr] 27 |             if (check_key())
[INFO] [stderr]    |                ^           ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 27 -             if (check_key())
[INFO] [stderr] 27 +             if check_key()
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TRAP_GETC` should have an upper camel case name
[INFO] [stderr]  --> src/traps.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 |     TRAP_GETC = 0x20,  /* get character from keyboard, not echoed onto the terminal */
[INFO] [stderr]   |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapGetc`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TRAP_OUT` should have an upper camel case name
[INFO] [stderr]  --> src/traps.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 |     TRAP_OUT = 0x21,   /* output a character */
[INFO] [stderr]   |     ^^^^^^^^ help: convert the identifier to upper camel case: `TrapOut`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TRAP_PUTS` should have an upper camel case name
[INFO] [stderr]  --> src/traps.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 |     TRAP_PUTS = 0x22,  /* output a word string */
[INFO] [stderr]   |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapPuts`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TRAP_IN` should have an upper camel case name
[INFO] [stderr]  --> src/traps.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 |     TRAP_IN = 0x23,    /* get character from keyboard, echoed onto the terminal */
[INFO] [stderr]   |     ^^^^^^^ help: convert the identifier to upper camel case: `TrapIn`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TRAP_PUTSP` should have an upper camel case name
[INFO] [stderr]  --> src/traps.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     TRAP_PUTSP = 0x24, /* output a byte string */
[INFO] [stderr]   |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `TrapPutsp`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TRAP_HALT` should have an upper camel case name
[INFO] [stderr]  --> src/traps.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     TRAP_HALT = 0x25,   /* halt the program */
[INFO] [stderr]   |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapHalt`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TRAP_INVALID` should have an upper camel case name
[INFO] [stderr]   --> src/traps.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     TRAP_INVALID
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TrapInvalid`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Event`
[INFO] [stderr]  --> src/input_buffering.rs:2:30
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crossterm::event::{self, Event};
[INFO] [stderr]   |                              ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `R_R0` should have an upper camel case name
[INFO] [stderr]  --> src/hardware.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 |     R_R0=0,
[INFO] [stderr]   |     ^^^^ help: convert the identifier to upper camel case: `RR0`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `R_R1` should have an upper camel case name
[INFO] [stderr]  --> src/hardware.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 |     R_R1,
[INFO] [stderr]   |     ^^^^ help: convert the identifier to upper camel case: `RR1`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `R_R2` should have an upper camel case name
[INFO] [stderr]  --> src/hardware.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 |     R_R2,
[INFO] [stderr]   |     ^^^^ help: convert the identifier to upper camel case: `RR2`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `R_R3` should have an upper camel case name
[INFO] [stderr]  --> src/hardware.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 |     R_R3,
[INFO] [stderr]   |     ^^^^ help: convert the identifier to upper camel case: `RR3`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `R_R4` should have an upper camel case name
[INFO] [stderr]  --> src/hardware.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     R_R4,
[INFO] [stderr]   |     ^^^^ help: convert the identifier to upper camel case: `RR4`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `R_R5` should have an upper camel case name
[INFO] [stderr]  --> src/hardware.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     R_R5,
[INFO] [stderr]   |     ^^^^ help: convert the identifier to upper camel case: `RR5`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `R_R6` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     R_R6,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to upper camel case: `RR6`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `R_R7` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     R_R7,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to upper camel case: `RR7`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `R_PC` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     R_PC,
[INFO] [stderr]    |     ^^^^ help: convert the identifier to upper camel case: `RPc`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `R_COND` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     R_COND,
[INFO] [stderr]    |     ^^^^^^ help: convert the identifier to upper camel case: `RCond`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `R_COUNT` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     R_COUNT,
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case: `RCount`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TRAP_GETC` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     TRAP_GETC = 0x20,  /* get character from keyboard, not echoed onto the terminal */
[INFO] [stderr]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapGetc`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TRAP_OUT` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 |     TRAP_OUT = 0x21,   /* output a character */
[INFO] [stderr]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `TrapOut`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TRAP_PUTS` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     TRAP_PUTS = 0x22,  /* output a word string */
[INFO] [stderr]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapPuts`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TRAP_IN` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     TRAP_IN = 0x23,    /* get character from keyboard, echoed onto the terminal */
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case: `TrapIn`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TRAP_PUTSP` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 |     TRAP_PUTSP = 0x24, /* output a byte string */
[INFO] [stderr]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `TrapPutsp`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TRAP_HALT` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     TRAP_HALT = 0x25   /* halt the program */
[INFO] [stderr]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `TrapHalt`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `FL_POS` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 |     FL_POS = 1 << 0, /* P */
[INFO] [stderr]    |     ^^^^^^ help: convert the identifier to upper camel case: `FlPos`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `FL_ZRO` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 |     FL_ZRO = 1 << 1, /* Z */
[INFO] [stderr]    |     ^^^^^^ help: convert the identifier to upper camel case: `FlZro`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `FL_NEG` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 30 |     FL_NEG = 1 << 2, /* N */
[INFO] [stderr]    |     ^^^^^^ help: convert the identifier to upper camel case: `FlNeg`
[INFO] [stderr] 
[INFO] [stderr] warning: type `Memory_Mapped_registers` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:34:10
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub enum Memory_Mapped_registers
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `MemoryMappedRegisters`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `MR_KBSR` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 36 |     MR_KBSR = 0xFE00, /* keyboard status */
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case: `MrKbsr`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `MR_KBDR` should have an upper camel case name
[INFO] [stderr]   --> src/hardware.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 |     MR_KBDR = 0xFE02  /* keyboard data */
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case: `MrKbdr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inst`
[INFO] [stderr]    --> src/operations.rs:140:11
[INFO] [stderr]     |
[INFO] [stderr] 140 | fn OP_RTI(inst:u16,vm:&mut VM)
[INFO] [stderr]     |           ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vm`
[INFO] [stderr]    --> src/operations.rs:140:20
[INFO] [stderr]     |
[INFO] [stderr] 140 | fn OP_RTI(inst:u16,vm:&mut VM)
[INFO] [stderr]     |                    ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inst`
[INFO] [stderr]    --> src/operations.rs:185:11
[INFO] [stderr]     |
[INFO] [stderr] 185 | fn OP_RES(inst:u16,vm:&mut VM)
[INFO] [stderr]     |           ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vm`
[INFO] [stderr]    --> src/operations.rs:185:20
[INFO] [stderr]     |
[INFO] [stderr] 185 | fn OP_RES(inst:u16,vm:&mut VM)
[INFO] [stderr]     |                    ^^ help: if this is intentional, prefix it with an underscore: `_vm`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ch2`
[INFO] [stderr]    --> src/operations.rs:253:21
[INFO] [stderr]     |
[INFO] [stderr] 253 |                 let ch2 = (chrs>>8) as u8;
[INFO] [stderr]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_ch2`
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Traps` is never used
[INFO] [stderr]   --> src/hardware.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub enum Traps
[INFO] [stderr]    |          ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_BR` should have a snake case name
[INFO] [stderr]   --> src/operations.rs:17:4
[INFO] [stderr]    |
[INFO] [stderr] 17 | fn OP_BR(inst:u16,vm:&mut VM)
[INFO] [stderr]    |    ^^^^^ help: convert the identifier to snake case: `op_br`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_ADD` should have a snake case name
[INFO] [stderr]   --> src/operations.rs:28:4
[INFO] [stderr]    |
[INFO] [stderr] 28 | fn OP_ADD(inst:u16,vm:&mut VM)
[INFO] [stderr]    |    ^^^^^^ help: convert the identifier to snake case: `op_add`
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_LD` should have a snake case name
[INFO] [stderr]   --> src/operations.rs:51:4
[INFO] [stderr]    |
[INFO] [stderr] 51 | fn OP_LD(inst:u16,vm:&mut VM)
[INFO] [stderr]    |    ^^^^^ help: convert the identifier to snake case: `op_ld`
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_ST` should have a snake case name
[INFO] [stderr]   --> src/operations.rs:62:4
[INFO] [stderr]    |
[INFO] [stderr] 62 | fn OP_ST(inst:u16,vm:&mut VM)
[INFO] [stderr]    |    ^^^^^ help: convert the identifier to snake case: `op_st`
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_JSR` should have a snake case name
[INFO] [stderr]   --> src/operations.rs:72:4
[INFO] [stderr]    |
[INFO] [stderr] 72 | fn OP_JSR(inst:u16,vm:&mut VM)
[INFO] [stderr]    |    ^^^^^^ help: convert the identifier to snake case: `op_jsr`
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_AND` should have a snake case name
[INFO] [stderr]   --> src/operations.rs:93:4
[INFO] [stderr]    |
[INFO] [stderr] 93 | fn OP_AND(inst:u16,vm:&mut VM)
[INFO] [stderr]    |    ^^^^^^ help: convert the identifier to snake case: `op_and`
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_LDR` should have a snake case name
[INFO] [stderr]    --> src/operations.rs:116:4
[INFO] [stderr]     |
[INFO] [stderr] 116 | fn OP_LDR(inst:u16,vm:&mut VM)
[INFO] [stderr]     |    ^^^^^^ help: convert the identifier to snake case: `op_ldr`
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_STR` should have a snake case name
[INFO] [stderr]    --> src/operations.rs:129:4
[INFO] [stderr]     |
[INFO] [stderr] 129 | fn OP_STR(inst:u16,vm:&mut VM)
[INFO] [stderr]     |    ^^^^^^ help: convert the identifier to snake case: `op_str`
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_RTI` should have a snake case name
[INFO] [stderr]    --> src/operations.rs:140:4
[INFO] [stderr]     |
[INFO] [stderr] 140 | fn OP_RTI(inst:u16,vm:&mut VM)
[INFO] [stderr]     |    ^^^^^^ help: convert the identifier to snake case: `op_rti`
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_NOT` should have a snake case name
[INFO] [stderr]    --> src/operations.rs:146:4
[INFO] [stderr]     |
[INFO] [stderr] 146 | fn OP_NOT(inst:u16,vm:&mut VM)
[INFO] [stderr]     |    ^^^^^^ help: convert the identifier to snake case: `op_not`
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_LDI` should have a snake case name
[INFO] [stderr]    --> src/operations.rs:154:4
[INFO] [stderr]     |
[INFO] [stderr] 154 | fn OP_LDI(inst:u16,vm:&mut VM)
[INFO] [stderr]     |    ^^^^^^ help: convert the identifier to snake case: `op_ldi`
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_STI` should have a snake case name
[INFO] [stderr]    --> src/operations.rs:166:4
[INFO] [stderr]     |
[INFO] [stderr] 166 | fn OP_STI(inst:u16,vm:&mut VM)
[INFO] [stderr]     |    ^^^^^^ help: convert the identifier to snake case: `op_sti`
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_JMP` should have a snake case name
[INFO] [stderr]    --> src/operations.rs:177:4
[INFO] [stderr]     |
[INFO] [stderr] 177 | fn OP_JMP(inst:u16,vm:&mut VM)
[INFO] [stderr]     |    ^^^^^^ help: convert the identifier to snake case: `op_jmp`
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_RES` should have a snake case name
[INFO] [stderr]    --> src/operations.rs:185:4
[INFO] [stderr]     |
[INFO] [stderr] 185 | fn OP_RES(inst:u16,vm:&mut VM)
[INFO] [stderr]     |    ^^^^^^ help: convert the identifier to snake case: `op_res`
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_LEA` should have a snake case name
[INFO] [stderr]    --> src/operations.rs:191:4
[INFO] [stderr]     |
[INFO] [stderr] 191 | fn OP_LEA(inst:u16,vm:&mut VM)
[INFO] [stderr]     |    ^^^^^^ help: convert the identifier to snake case: `op_lea`
[INFO] [stderr] 
[INFO] [stderr] warning: function `OP_TRAP` should have a snake case name
[INFO] [stderr]    --> src/operations.rs:202:4
[INFO] [stderr]     |
[INFO] [stderr] 202 | fn OP_TRAP(inst:u16,vm:&mut VM)
[INFO] [stderr]     |    ^^^^^^^ help: convert the identifier to snake case: `op_trap`
[INFO] [stderr] 
[INFO] [stderr] warning: `LC3-Box` (bin "LC3-Box" test) generated 58 warnings (run `cargo fix --bin "LC3-Box" -p LC3-Box --tests` to apply 11 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/LC3_Box-9d8336ddc25be46c)
[INFO] [stdout] 
[INFO] [stdout] running 56 tests
[INFO] [stdout] test operations::tests::add_with_immediate ... ok
[INFO] [stdout] test operations::tests::add_with_negative_immediate ... ok
[INFO] [stdout] test operations::tests::add_with_registers ... ok
[INFO] [stdout] test operations::tests::sign_extension_1bit ... ok
[INFO] [stdout] test operations::tests::add_with_registers_negative_values ... ok
[INFO] [stdout] test operations::tests::and_with_immediate ... ok
[INFO] [stdout] test operations::tests::sign_extension_2bit ... ok
[INFO] [stdout] test operations::tests::sign_extension_3bit ... ok
[INFO] [stdout] test operations::tests::and_with_registers ... ok
[INFO] [stdout] test operations::tests::sign_extension_8bit_boundaries ... ok
[INFO] [stdout] test operations::tests::test_br_multiple_conditions ... ok
[INFO] [stdout] test operations::tests::test_br_not_taken_condition_mismatch ... ok
[INFO] [stdout] test operations::tests::test_br_offset_zero ... ok
[INFO] [stdout] test operations::tests::test_br_taken_negative_flag_backward ... ok
[INFO] [stdout] test operations::tests::test_br_taken_zero_flag_forward ... ok
[INFO] [stdout] test operations::tests::test_jmp_ret ... ok
[INFO] [stdout] test operations::tests::test_br_taken_positive_flag_forward ... ok
[INFO] [stdout] test operations::tests::test_ld_negative_offset ... ok
[INFO] [stdout] test operations::tests::test_ld_positive_offset ... ok
[INFO] [stdout] test operations::tests::test_jsrr ... ok
[INFO] [stdout] test operations::tests::test_br_wraparound ... ok
[INFO] [stdout] test operations::tests::test_ldi_negative_offset ... ok
[INFO] [stdout] test operations::tests::test_ldr_negative_offset ... ok
[INFO] [stdout] test operations::tests::test_ldr_basic_positive_offset ... ok
[INFO] [stdout] test operations::tests::test_jsr_negative_offset ... ok
[INFO] [stdout] test operations::tests::test_ld_updates_flags_positive_value ... ok
[INFO] [stdout] test operations::tests::test_ldi_basic ... ok
[INFO] [stdout] test operations::tests::test_ld_zero_offset ... ok
[INFO] [stdout] test operations::tests::test_jmp_wrong_register ... ok
[INFO] [stdout] test operations::tests::test_jsr_positive_offset ... ok
[INFO] [stdout] test operations::tests::test_jmp ... ok
[INFO] [stdout] test operations::tests::test_ldi_updates_flags ... ok
[INFO] [stdout] test operations::tests::test_ldr_updates_flags_negative ... ok
[INFO] [stdout] test operations::tests::test_ldr_updates_flags_zero ... ok
[INFO] [stdout] test operations::tests::test_lea_basic_positive_offset ... ok
[INFO] [stdout] test operations::tests::test_lea_negative_offset ... ok
[INFO] [stdout] test operations::tests::test_lea_updates_flags_negative ... ok
[INFO] [stdout] test operations::tests::test_lea_updates_flags_positive ... ok
[INFO] [stdout] test operations::tests::test_lea_updates_flags_zero ... ok
[INFO] [stdout] test operations::tests::test_not ... ok
[INFO] [stdout] test operations::tests::test_st_basic_positive_offset ... ok
[INFO] [stdout] test operations::tests::test_st_overwrites_existing_value ... ok
[INFO] [stdout] test operations::tests::test_sti_negative_offset ... ok
[INFO] [stdout] test operations::tests::test_sti_overwrites_existing_value ... ok
[INFO] [stdout] test operations::tests::test_sti_basic_positive_offset ... ok
[INFO] [stdout] test operations::tests::test_str_negative_offset ... ok
[INFO] [stdout] test operations::tests::test_str_overwrites_existing_value ... ok
[INFO] [stdout] test operations::tests::test_str_zero_offset ... ok
[INFO] [stdout] test operations::tests::test_update_flags_positive ... ok
[INFO] [stdout] test operations::tests::test_update_flags_zero ... ok
[INFO] [stdout] test operations::tests::test_str_basic_positive_offset ... ok
[INFO] [stdout] test operations::tests::test_st_zero_offset ... ok
[INFO] [stdout] test operations::tests::test_st_negative_offset ... ok
[INFO] [stdout] test operations::tests::test_update_flags_negative ... ok
[INFO] [stdout] test operations::tests::test_update_flags_negative_custom_value ... ok
[INFO] [stdout] test operations::tests::test_sti_zero_offset ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 56 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d60de22fd66ab82ceefdc0bdd661ffa6e63a871342bd539945e5dd198fadb8ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d60de22fd66ab82ceefdc0bdd661ffa6e63a871342bd539945e5dd198fadb8ea", kill_on_drop: false }`
[INFO] [stdout] d60de22fd66ab82ceefdc0bdd661ffa6e63a871342bd539945e5dd198fadb8ea
