[INFO] cloning repository https://github.com/ginkxo/rust6502
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ginkxo/rust6502" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fginkxo%2Frust6502", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fginkxo%2Frust6502'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] beacf0ac9fa27ddbd88da30c8baab6d5195585ff
[INFO] checking ginkxo/rust6502 against master#cb06d12710575a0d7ff71d6fe108f3bcff4f9195 for pr-128425-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fginkxo%2Frust6502" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ginkxo/rust6502 on toolchain cb06d12710575a0d7ff71d6fe108f3bcff4f9195
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cb06d12710575a0d7ff71d6fe108f3bcff4f9195" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ginkxo/rust6502
[INFO] finished tweaking git repo https://github.com/ginkxo/rust6502
[INFO] tweaked toml for git repo https://github.com/ginkxo/rust6502 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/ginkxo/rust6502 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" "+cb06d12710575a0d7ff71d6fe108f3bcff4f9195" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+cb06d12710575a0d7ff71d6fe108f3bcff4f9195" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4982e6c6da8fef0f1f6cb2b64ff428fd01bed7eda56c98618acb669c4c67a196
[INFO] running `Command { std: "docker" "start" "-a" "4982e6c6da8fef0f1f6cb2b64ff428fd01bed7eda56c98618acb669c4c67a196", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4982e6c6da8fef0f1f6cb2b64ff428fd01bed7eda56c98618acb669c4c67a196", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4982e6c6da8fef0f1f6cb2b64ff428fd01bed7eda56c98618acb669c4c67a196", kill_on_drop: false }`
[INFO] [stdout] 4982e6c6da8fef0f1f6cb2b64ff428fd01bed7eda56c98618acb669c4c67a196
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+cb06d12710575a0d7ff71d6fe108f3bcff4f9195" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c563d2e59ad0f3dd3bb97589be177ec420faefac54149347ff9fce2be484e855
[INFO] running `Command { std: "docker" "start" "-a" "c563d2e59ad0f3dd3bb97589be177ec420faefac54149347ff9fce2be484e855", kill_on_drop: false }`
[INFO] [stderr]     Checking rust6502 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `subroutine_addr`
[INFO] [stdout]    --> src/mos.rs:249:26
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     let (subroutine_addr, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subroutine_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:171:31
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn execute(&mut self, mut cycles: i32, mem: &MEMORY) -> Result<i32, &'static str>{
[INFO] [stdout]     |                               ----^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:178:31
[INFO] [stdout]     |
[INFO] [stdout] 178 |             let (instruction, mut cycles): (Opcode, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                               ----^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:183:33
[INFO] [stdout]     |
[INFO] [stdout] 183 |                     let (value, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:188:45
[INFO] [stdout]     |
[INFO] [stdout] 188 |                     let (zero_page_address, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:189:33
[INFO] [stdout]     |
[INFO] [stdout] 189 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte_zero_page(zero_page_address, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:198:33
[INFO] [stdout]     |
[INFO] [stdout] 198 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte_zero_page(zero_page_addr_x, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:203:44
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     let (absolute_address, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                            ----^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:204:33
[INFO] [stdout]     |
[INFO] [stdout] 204 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte(absolute_address, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:209:44
[INFO] [stdout]     |
[INFO] [stdout] 209 |                     let (absolute_address, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                            ----^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:219:44
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     let (absolute_address, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                            ----^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:232:45
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let (effective_address, mut cycles): (Word, i32) = CPU::read_word(zero_page_addr_x, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:233:33
[INFO] [stdout]     |
[INFO] [stdout] 233 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte(effective_address, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:238:45
[INFO] [stdout]     |
[INFO] [stdout] 238 |                     let (zero_page_address, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:239:45
[INFO] [stdout]     |
[INFO] [stdout] 239 |                     let (effective_address, mut cycles): (Word, i32) = CPU::read_word(zero_page_address as Word, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:249:43
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     let (subroutine_addr, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                           ----^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:254:33
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let (value, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:259:33
[INFO] [stdout]     |
[INFO] [stdout] 259 |                     let (value, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset_cpu` is never used
[INFO] [stdout]    --> src/mos.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl CPU {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] 117 |
[INFO] [stdout] 118 |     fn reset_cpu(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subroutine_addr`
[INFO] [stdout]    --> src/mos.rs:249:26
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     let (subroutine_addr, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subroutine_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:171:31
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn execute(&mut self, mut cycles: i32, mem: &MEMORY) -> Result<i32, &'static str>{
[INFO] [stdout]     |                               ----^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:178:31
[INFO] [stdout]     |
[INFO] [stdout] 178 |             let (instruction, mut cycles): (Opcode, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                               ----^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:183:33
[INFO] [stdout]     |
[INFO] [stdout] 183 |                     let (value, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:188:45
[INFO] [stdout]     |
[INFO] [stdout] 188 |                     let (zero_page_address, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:189:33
[INFO] [stdout]     |
[INFO] [stdout] 189 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte_zero_page(zero_page_address, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:198:33
[INFO] [stdout]     |
[INFO] [stdout] 198 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte_zero_page(zero_page_addr_x, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:203:44
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     let (absolute_address, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                            ----^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:204:33
[INFO] [stdout]     |
[INFO] [stdout] 204 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte(absolute_address, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:209:44
[INFO] [stdout]     |
[INFO] [stdout] 209 |                     let (absolute_address, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                            ----^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:219:44
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     let (absolute_address, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                            ----^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:232:45
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let (effective_address, mut cycles): (Word, i32) = CPU::read_word(zero_page_addr_x, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:233:33
[INFO] [stdout]     |
[INFO] [stdout] 233 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte(effective_address, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:238:45
[INFO] [stdout]     |
[INFO] [stdout] 238 |                     let (zero_page_address, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:239:45
[INFO] [stdout]     |
[INFO] [stdout] 239 |                     let (effective_address, mut cycles): (Word, i32) = CPU::read_word(zero_page_address as Word, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:249:43
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     let (subroutine_addr, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                           ----^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:254:33
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let (value, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:259:33
[INFO] [stdout]     |
[INFO] [stdout] 259 |                     let (value, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset_cpu` is never used
[INFO] [stdout]    --> src/mos.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl CPU {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] 117 |
[INFO] [stdout] 118 |     fn reset_cpu(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> tests/tests.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subroutine_addr`
[INFO] [stdout]    --> src/mos.rs:249:26
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     let (subroutine_addr, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subroutine_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:171:31
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn execute(&mut self, mut cycles: i32, mem: &MEMORY) -> Result<i32, &'static str>{
[INFO] [stdout]     |                               ----^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:178:31
[INFO] [stdout]     |
[INFO] [stdout] 178 |             let (instruction, mut cycles): (Opcode, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                               ----^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:183:33
[INFO] [stdout]     |
[INFO] [stdout] 183 |                     let (value, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:188:45
[INFO] [stdout]     |
[INFO] [stdout] 188 |                     let (zero_page_address, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:189:33
[INFO] [stdout]     |
[INFO] [stdout] 189 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte_zero_page(zero_page_address, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:198:33
[INFO] [stdout]     |
[INFO] [stdout] 198 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte_zero_page(zero_page_addr_x, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:203:44
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     let (absolute_address, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                            ----^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:204:33
[INFO] [stdout]     |
[INFO] [stdout] 204 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte(absolute_address, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:209:44
[INFO] [stdout]     |
[INFO] [stdout] 209 |                     let (absolute_address, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                            ----^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:219:44
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     let (absolute_address, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                            ----^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:232:45
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let (effective_address, mut cycles): (Word, i32) = CPU::read_word(zero_page_addr_x, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/tests.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut cpu = mos::build_cpu();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:233:33
[INFO] [stdout]     |
[INFO] [stdout] 233 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte(effective_address, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:238:45
[INFO] [stdout]     |
[INFO] [stdout] 238 |                     let (zero_page_address, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cpu`
[INFO] [stdout]   --> tests/tests.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut cpu = mos::build_cpu();
[INFO] [stdout]    |                 ^^^ help: if this is intentional, prefix it with an underscore: `_cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:239:45
[INFO] [stdout]     |
[INFO] [stdout] 239 |                     let (effective_address, mut cycles): (Word, i32) = CPU::read_word(zero_page_address as Word, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:249:43
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     let (subroutine_addr, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                           ----^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:254:33
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let (value, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/tests.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut cpu = mos::build_cpu();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:259:33
[INFO] [stdout]     |
[INFO] [stdout] 259 |                     let (value, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/tests.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut cpu = mos::build_cpu();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/tests.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let mut cpu = mos::build_cpu();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset_cpu` is never used
[INFO] [stdout]    --> src/mos.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl CPU {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] 117 |
[INFO] [stdout] 118 |     fn reset_cpu(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `LDA_immediate` should have a snake case name
[INFO] [stdout]   --> tests/tests.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn LDA_immediate() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `lda_immediate`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `LDA_zero_page` should have a snake case name
[INFO] [stdout]   --> tests/tests.rs:75:8
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn LDA_zero_page() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^ help: convert the identifier to snake case: `lda_zero_page`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `LDA_zero_page_X` should have a snake case name
[INFO] [stdout]   --> tests/tests.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn LDA_zero_page_X() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lda_zero_page_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `LDA_zero_page_X_wraparound` should have a snake case name
[INFO] [stdout]    --> tests/tests.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn LDA_zero_page_X_wraparound() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lda_zero_page_x_wraparound`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `LDA_absolute` should have a snake case name
[INFO] [stdout]    --> tests/tests.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn LDA_absolute() {
[INFO] [stdout]     |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `lda_absolute`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `LDA_absolute_X` should have a snake case name
[INFO] [stdout]    --> tests/tests.rs:146:8
[INFO] [stdout]     |
[INFO] [stdout] 146 |     fn LDA_absolute_X() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lda_absolute_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `LDA_absolute_X_cross_page` should have a snake case name
[INFO] [stdout]    --> tests/tests.rs:165:8
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn LDA_absolute_X_cross_page() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lda_absolute_x_cross_page`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `LDA_absolute_Y` should have a snake case name
[INFO] [stdout]    --> tests/tests.rs:184:8
[INFO] [stdout]     |
[INFO] [stdout] 184 |     fn LDA_absolute_Y() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lda_absolute_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `LDA_absolute_Y_cross_page` should have a snake case name
[INFO] [stdout]    --> tests/tests.rs:203:8
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn LDA_absolute_Y_cross_page() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `lda_absolute_y_cross_page`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `subroutine_addr`
[INFO] [stdout]    --> src/mos.rs:249:26
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     let (subroutine_addr, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_subroutine_addr`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:171:31
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn execute(&mut self, mut cycles: i32, mem: &MEMORY) -> Result<i32, &'static str>{
[INFO] [stdout]     |                               ----^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:178:31
[INFO] [stdout]     |
[INFO] [stdout] 178 |             let (instruction, mut cycles): (Opcode, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                               ----^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:183:33
[INFO] [stdout]     |
[INFO] [stdout] 183 |                     let (value, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:188:45
[INFO] [stdout]     |
[INFO] [stdout] 188 |                     let (zero_page_address, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:189:33
[INFO] [stdout]     |
[INFO] [stdout] 189 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte_zero_page(zero_page_address, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:198:33
[INFO] [stdout]     |
[INFO] [stdout] 198 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte_zero_page(zero_page_addr_x, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:203:44
[INFO] [stdout]     |
[INFO] [stdout] 203 |                     let (absolute_address, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                            ----^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:204:33
[INFO] [stdout]     |
[INFO] [stdout] 204 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte(absolute_address, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:209:44
[INFO] [stdout]     |
[INFO] [stdout] 209 |                     let (absolute_address, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                            ----^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:219:44
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     let (absolute_address, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                            ----^^^^^^
[INFO] [stdout]     |                                            |
[INFO] [stdout]     |                                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:232:45
[INFO] [stdout]     |
[INFO] [stdout] 232 |                     let (effective_address, mut cycles): (Word, i32) = CPU::read_word(zero_page_addr_x, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:233:33
[INFO] [stdout]     |
[INFO] [stdout] 233 |                     let (value, mut cycles): (Byte, i32) = CPU::read_byte(effective_address, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:238:45
[INFO] [stdout]     |
[INFO] [stdout] 238 |                     let (zero_page_address, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:239:45
[INFO] [stdout]     |
[INFO] [stdout] 239 |                     let (effective_address, mut cycles): (Word, i32) = CPU::read_word(zero_page_address as Word, mem, cycles);
[INFO] [stdout]     |                                             ----^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:249:43
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     let (subroutine_addr, mut cycles): (Word, i32) = CPU::fetch_word(self, mem, cycles);
[INFO] [stdout]     |                                           ----^^^^^^
[INFO] [stdout]     |                                           |
[INFO] [stdout]     |                                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:254:33
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     let (value, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mos.rs:259:33
[INFO] [stdout]     |
[INFO] [stdout] 259 |                     let (value, mut cycles): (Byte, i32) = CPU::fetch_byte(self, mem, cycles);
[INFO] [stdout]     |                                 ----^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `reset_cpu` is never used
[INFO] [stdout]    --> src/mos.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 116 | impl CPU {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] 117 |
[INFO] [stdout] 118 |     fn reset_cpu(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.34s
[INFO] running `Command { std: "docker" "inspect" "c563d2e59ad0f3dd3bb97589be177ec420faefac54149347ff9fce2be484e855", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c563d2e59ad0f3dd3bb97589be177ec420faefac54149347ff9fce2be484e855", kill_on_drop: false }`
[INFO] [stdout] c563d2e59ad0f3dd3bb97589be177ec420faefac54149347ff9fce2be484e855
