[INFO] cloning repository https://github.com/shunichi/nesto
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/shunichi/nesto" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshunichi%2Fnesto", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshunichi%2Fnesto'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8a55c2610fb2f98d9fa371e3fa1d4621f03c078c
[INFO] checking shunichi/nesto against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fshunichi%2Fnesto" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/shunichi/nesto
[INFO] finished tweaking git repo https://github.com/shunichi/nesto
[INFO] tweaked toml for git repo https://github.com/shunichi/nesto written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/shunichi/nesto on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/shunichi/nesto 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b7c36cfd603e687c9bf816c6b757cf1999fbaea96f8ce60e4319def4b12858b5
[INFO] running `Command { std: "docker" "start" "-a" "b7c36cfd603e687c9bf816c6b757cf1999fbaea96f8ce60e4319def4b12858b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b7c36cfd603e687c9bf816c6b757cf1999fbaea96f8ce60e4319def4b12858b5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b7c36cfd603e687c9bf816c6b757cf1999fbaea96f8ce60e4319def4b12858b5", kill_on_drop: false }`
[INFO] [stdout] b7c36cfd603e687c9bf816c6b757cf1999fbaea96f8ce60e4319def4b12858b5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e681ad3385f0d128464b077c5cf328a7f5bddc44dfe1ee0f51b96b03629f0398
[INFO] running `Command { std: "docker" "start" "-a" "e681ad3385f0d128464b077c5cf328a7f5bddc44dfe1ee0f51b96b03629f0398", kill_on_drop: false }`
[INFO] [stderr]    Compiling sdl2 v0.34.5
[INFO] [stderr]    Compiling sdl2-sys v0.34.5
[INFO] [stderr]     Checking nesto v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/main.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufWriter, Write};
[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: `Write`
[INFO] [stdout]  --> src/main.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufWriter, Write};
[INFO] [stdout]   |                          ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/cpu/disasm.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         _ => Some(addr_mode.name().to_owned()),
[INFO] [stdout]    |         ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/cpu/disasm.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         AddressingMode::A => Some("A".to_owned()),
[INFO] [stdout]    |         ----------------- matches some of the same values
[INFO] [stdout] 22 |         AddressingMode::Abs => Some(format!("${:04X}", bus.read16(addr))),
[INFO] [stdout]    |         ------------------- matches some of the same values
[INFO] [stdout] 23 |         AddressingMode::AbsX => Some(format!("${:04X},x", bus.read16(addr))),
[INFO] [stdout]    |         -------------------- matches some of the same values
[INFO] [stdout] 24 |         AddressingMode::AbsY => Some(format!("${:04X},y", bus.read16(addr))),
[INFO] [stdout]    |         -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 34 |         _ => Some(addr_mode.name().to_owned()),
[INFO] [stdout]    |         ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/cpu/disasm.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         _ => Some(inst_prop.addr_mode.name().to_owned()),
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/cpu/disasm.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout]  45 |         AddressingMode::A => Some("A".to_owned()),
[INFO] [stdout]     |         ----------------- matches some of the same values
[INFO] [stdout]  46 |         AddressingMode::Abs => {
[INFO] [stdout]     |         ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  54 |         AddressingMode::AbsX => {
[INFO] [stdout]     |         -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  64 |         AddressingMode::AbsY => {
[INFO] [stdout]     |         -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 140 |         _ => Some(inst_prop.addr_mode.name().to_owned()),
[INFO] [stdout]     |         ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:438:49
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn xxx(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `additional_cycles` is never read
[INFO] [stdout]    --> src/cpu/instructions.rs:482:37
[INFO] [stdout]     |
[INFO] [stdout] 482 |     let mut additional_cycles: u8 = 0;
[INFO] [stdout]     |                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:526:27
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub fn brk(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:543:27
[INFO] [stdout]     |
[INFO] [stdout] 543 | pub fn clc(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:543:49
[INFO] [stdout]     |
[INFO] [stdout] 543 | pub fn clc(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:548:27
[INFO] [stdout]     |
[INFO] [stdout] 548 | pub fn cld(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:548:49
[INFO] [stdout]     |
[INFO] [stdout] 548 | pub fn cld(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:553:27
[INFO] [stdout]     |
[INFO] [stdout] 553 | pub fn cli(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:553:49
[INFO] [stdout]     |
[INFO] [stdout] 553 | pub fn cli(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:558:27
[INFO] [stdout]     |
[INFO] [stdout] 558 | pub fn clv(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:558:49
[INFO] [stdout]     |
[INFO] [stdout] 558 | pub fn clv(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:590:27
[INFO] [stdout]     |
[INFO] [stdout] 590 | pub fn dex(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:590:49
[INFO] [stdout]     |
[INFO] [stdout] 590 | pub fn dex(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:596:27
[INFO] [stdout]     |
[INFO] [stdout] 596 | pub fn dey(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:596:49
[INFO] [stdout]     |
[INFO] [stdout] 596 | pub fn dey(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:618:27
[INFO] [stdout]     |
[INFO] [stdout] 618 | pub fn inx(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:618:49
[INFO] [stdout]     |
[INFO] [stdout] 618 | pub fn inx(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:624:27
[INFO] [stdout]     |
[INFO] [stdout] 624 | pub fn iny(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:624:49
[INFO] [stdout]     |
[INFO] [stdout] 624 | pub fn iny(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:692:27
[INFO] [stdout]     |
[INFO] [stdout] 692 | pub fn pha(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:697:27
[INFO] [stdout]     |
[INFO] [stdout] 697 | pub fn php(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:703:27
[INFO] [stdout]     |
[INFO] [stdout] 703 | pub fn pla(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:709:27
[INFO] [stdout]     |
[INFO] [stdout] 709 | pub fn plp(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:750:27
[INFO] [stdout]     |
[INFO] [stdout] 750 | pub fn rti(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:759:27
[INFO] [stdout]     |
[INFO] [stdout] 759 | pub fn rts(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:783:27
[INFO] [stdout]     |
[INFO] [stdout] 783 | pub fn sec(cpu: &mut Cpu, inst_prop: &InstProp, _bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:788:27
[INFO] [stdout]     |
[INFO] [stdout] 788 | pub fn sed(cpu: &mut Cpu, inst_prop: &InstProp, _bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:793:27
[INFO] [stdout]     |
[INFO] [stdout] 793 | pub fn sei(cpu: &mut Cpu, inst_prop: &InstProp, _bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:816:27
[INFO] [stdout]     |
[INFO] [stdout] 816 | pub fn tax(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:816:49
[INFO] [stdout]     |
[INFO] [stdout] 816 | pub fn tax(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:822:27
[INFO] [stdout]     |
[INFO] [stdout] 822 | pub fn tay(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:822:49
[INFO] [stdout]     |
[INFO] [stdout] 822 | pub fn tay(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:828:27
[INFO] [stdout]     |
[INFO] [stdout] 828 | pub fn tsx(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:828:49
[INFO] [stdout]     |
[INFO] [stdout] 828 | pub fn tsx(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:834:27
[INFO] [stdout]     |
[INFO] [stdout] 834 | pub fn txa(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:834:49
[INFO] [stdout]     |
[INFO] [stdout] 834 | pub fn txa(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:840:27
[INFO] [stdout]     |
[INFO] [stdout] 840 | pub fn txs(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:840:49
[INFO] [stdout]     |
[INFO] [stdout] 840 | pub fn txs(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:845:27
[INFO] [stdout]     |
[INFO] [stdout] 845 | pub fn tya(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:845:49
[INFO] [stdout]     |
[INFO] [stdout] 845 | pub fn tya(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `additional_cycle`
[INFO] [stdout]    --> src/cpu/instructions.rs:866:16
[INFO] [stdout]     |
[INFO] [stdout] 866 |     let (addr, additional_cycle) = cpu.fetch_addr(inst_prop, bus);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_additional_cycle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/cpu/disasm.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         _ => Some(addr_mode.name().to_owned()),
[INFO] [stdout]    |         ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/cpu/disasm.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         AddressingMode::A => Some("A".to_owned()),
[INFO] [stdout]    |         ----------------- matches some of the same values
[INFO] [stdout] 22 |         AddressingMode::Abs => Some(format!("${:04X}", bus.read16(addr))),
[INFO] [stdout]    |         ------------------- matches some of the same values
[INFO] [stdout] 23 |         AddressingMode::AbsX => Some(format!("${:04X},x", bus.read16(addr))),
[INFO] [stdout]    |         -------------------- matches some of the same values
[INFO] [stdout] 24 |         AddressingMode::AbsY => Some(format!("${:04X},y", bus.read16(addr))),
[INFO] [stdout]    |         -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 34 |         _ => Some(addr_mode.name().to_owned()),
[INFO] [stdout]    |         ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/cpu/disasm.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         _ => Some(inst_prop.addr_mode.name().to_owned()),
[INFO] [stdout]     |         ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/cpu/disasm.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout]  45 |         AddressingMode::A => Some("A".to_owned()),
[INFO] [stdout]     |         ----------------- matches some of the same values
[INFO] [stdout]  46 |         AddressingMode::Abs => {
[INFO] [stdout]     |         ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  54 |         AddressingMode::AbsX => {
[INFO] [stdout]     |         -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  64 |         AddressingMode::AbsY => {
[INFO] [stdout]     |         -------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 140 |         _ => Some(inst_prop.addr_mode.name().to_owned()),
[INFO] [stdout]     |         ^ ...and 9 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:438:49
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn xxx(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `additional_cycles` is never read
[INFO] [stdout]    --> src/cpu/instructions.rs:482:37
[INFO] [stdout]     |
[INFO] [stdout] 482 |     let mut additional_cycles: u8 = 0;
[INFO] [stdout]     |                                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:526:27
[INFO] [stdout]     |
[INFO] [stdout] 526 | pub fn brk(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:543:27
[INFO] [stdout]     |
[INFO] [stdout] 543 | pub fn clc(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:543:49
[INFO] [stdout]     |
[INFO] [stdout] 543 | pub fn clc(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:548:27
[INFO] [stdout]     |
[INFO] [stdout] 548 | pub fn cld(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:548:49
[INFO] [stdout]     |
[INFO] [stdout] 548 | pub fn cld(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:553:27
[INFO] [stdout]     |
[INFO] [stdout] 553 | pub fn cli(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:553:49
[INFO] [stdout]     |
[INFO] [stdout] 553 | pub fn cli(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:558:27
[INFO] [stdout]     |
[INFO] [stdout] 558 | pub fn clv(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:558:49
[INFO] [stdout]     |
[INFO] [stdout] 558 | pub fn clv(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:590:27
[INFO] [stdout]     |
[INFO] [stdout] 590 | pub fn dex(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:590:49
[INFO] [stdout]     |
[INFO] [stdout] 590 | pub fn dex(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:596:27
[INFO] [stdout]     |
[INFO] [stdout] 596 | pub fn dey(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:596:49
[INFO] [stdout]     |
[INFO] [stdout] 596 | pub fn dey(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:618:27
[INFO] [stdout]     |
[INFO] [stdout] 618 | pub fn inx(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:618:49
[INFO] [stdout]     |
[INFO] [stdout] 618 | pub fn inx(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:624:27
[INFO] [stdout]     |
[INFO] [stdout] 624 | pub fn iny(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:624:49
[INFO] [stdout]     |
[INFO] [stdout] 624 | pub fn iny(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cpu_test` is never used
[INFO] [stdout]   --> src/main.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn cpu_test() -> Result<()> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cartridge` is never used
[INFO] [stdout]   --> src/bus.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> Bus<'a> {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn cartridge(&self) -> &Cartridge {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/cpu.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Flags {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 30 |     fn new() -> Flags {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cycles` and `elapsed_cycles` are never read
[INFO] [stdout]   --> src/cpu.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct Cpu {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 91 |     cycles: u8,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 92 |     elapsed_cycles: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:692:27
[INFO] [stdout]     |
[INFO] [stdout] 692 | pub fn pha(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/cpu.rs:97:12
[INFO] [stdout]     |
[INFO] [stdout]  96 | impl Cpu {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  97 |     pub fn new() -> Cpu {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn clock(&mut self, bus: &mut Bus) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn exec_inst(&mut self, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub fn reset(&mut self, bus: &Bus) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn inst_name(inst: Inst) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn addr_mode_name(addr_mode: AddressingMode) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn inst_table_len() -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `operand_string_with_memory` is never used
[INFO] [stdout]   --> src/cpu/disasm.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn operand_string_with_memory(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:697:27
[INFO] [stdout]     |
[INFO] [stdout] 697 | pub fn php(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cpu_status_string` is never used
[INFO] [stdout]    --> src/cpu/disasm.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn cpu_status_string(cpu: &Cpu) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disasm_one_inst_and_status` is never used
[INFO] [stdout]    --> src/cpu/disasm.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn disasm_one_inst_and_status(bus: &Bus, addr: u16, cpu: &Cpu) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:703:27
[INFO] [stdout]     |
[INFO] [stdout] 703 | pub fn pla(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `func`, `cycles`, `additional_cycle`, and `illegal` are never read
[INFO] [stdout]    --> src/cpu/instructions.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct InstProp {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 138 |     pub inst: Inst,
[INFO] [stdout] 139 |     pub func: InstFunc,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 140 |     pub addr_mode: AddressingMode,
[INFO] [stdout] 141 |     pub cycles: u8,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 142 |     pub additional_cycle: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 143 |     pub illegal: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:709:27
[INFO] [stdout]     |
[INFO] [stdout] 709 | pub fn plp(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_jump` is never used
[INFO] [stdout]    --> src/cpu/instructions.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl InstProp {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 147 |     pub fn is_jump(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `copy` is never used
[INFO] [stdout]   --> src/debug_font/mod.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl<'a> DebugFont<'a> {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn copy<T: RenderTarget>(&self, canvas: &mut Canvas<T>, rect: Rect) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read16` and `cartridge` are never used
[INFO] [stdout]  --> src/mapper.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Mapper {
[INFO] [stdout]   |           ------ methods in this trait
[INFO] [stdout] 4 |     fn read(&self, address: u16) -> u8;
[INFO] [stdout] 5 |     fn read16(&self, address: u16) -> u16 {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |     fn cartridge(&self) -> &Cartridge;
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:750:27
[INFO] [stdout]     |
[INFO] [stdout] 750 | pub fn rti(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:759:27
[INFO] [stdout]     |
[INFO] [stdout] 759 | pub fn rts(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:783:27
[INFO] [stdout]     |
[INFO] [stdout] 783 | pub fn sec(cpu: &mut Cpu, inst_prop: &InstProp, _bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:788:27
[INFO] [stdout]     |
[INFO] [stdout] 788 | pub fn sed(cpu: &mut Cpu, inst_prop: &InstProp, _bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:793:27
[INFO] [stdout]     |
[INFO] [stdout] 793 | pub fn sei(cpu: &mut Cpu, inst_prop: &InstProp, _bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:816:27
[INFO] [stdout]     |
[INFO] [stdout] 816 | pub fn tax(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:816:49
[INFO] [stdout]     |
[INFO] [stdout] 816 | pub fn tax(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:822:27
[INFO] [stdout]     |
[INFO] [stdout] 822 | pub fn tay(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:822:49
[INFO] [stdout]     |
[INFO] [stdout] 822 | pub fn tay(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:828:27
[INFO] [stdout]     |
[INFO] [stdout] 828 | pub fn tsx(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:828:49
[INFO] [stdout]     |
[INFO] [stdout] 828 | pub fn tsx(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:834:27
[INFO] [stdout]     |
[INFO] [stdout] 834 | pub fn txa(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:834:49
[INFO] [stdout]     |
[INFO] [stdout] 834 | pub fn txa(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:840:27
[INFO] [stdout]     |
[INFO] [stdout] 840 | pub fn txs(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:840:49
[INFO] [stdout]     |
[INFO] [stdout] 840 | pub fn txs(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_prop`
[INFO] [stdout]    --> src/cpu/instructions.rs:845:27
[INFO] [stdout]     |
[INFO] [stdout] 845 | pub fn tya(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_prop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bus`
[INFO] [stdout]    --> src/cpu/instructions.rs:845:49
[INFO] [stdout]     |
[INFO] [stdout] 845 | pub fn tya(cpu: &mut Cpu, inst_prop: &InstProp, bus: &mut Bus) -> (Option<u16>, u8) {
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_bus`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `additional_cycle`
[INFO] [stdout]    --> src/cpu/instructions.rs:866:16
[INFO] [stdout]     |
[INFO] [stdout] 866 |     let (addr, additional_cycle) = cpu.fetch_addr(inst_prop, bus);
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_additional_cycle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cpu_test` is never used
[INFO] [stdout]   --> src/main.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn cpu_test() -> Result<()> {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `cartridge` is never used
[INFO] [stdout]   --> src/bus.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'a> Bus<'a> {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn cartridge(&self) -> &Cartridge {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/cpu.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl Flags {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 30 |     fn new() -> Flags {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cycles` and `elapsed_cycles` are never read
[INFO] [stdout]   --> src/cpu.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct Cpu {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 91 |     cycles: u8,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 92 |     elapsed_cycles: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/cpu.rs:97:12
[INFO] [stdout]     |
[INFO] [stdout]  96 | impl Cpu {
[INFO] [stdout]     | -------- associated items in this implementation
[INFO] [stdout]  97 |     pub fn new() -> Cpu {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn clock(&mut self, bus: &mut Bus) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn exec_inst(&mut self, bus: &mut Bus) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     pub fn reset(&mut self, bus: &Bus) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub fn inst_name(inst: Inst) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub fn addr_mode_name(addr_mode: AddressingMode) -> &'static str {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 258 |     pub fn inst_table_len() -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `operand_string_with_memory` is never used
[INFO] [stdout]   --> src/cpu/disasm.rs:38:4
[INFO] [stdout]    |
[INFO] [stdout] 38 | fn operand_string_with_memory(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cpu_status_string` is never used
[INFO] [stdout]    --> src/cpu/disasm.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn cpu_status_string(cpu: &Cpu) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `disasm_one_inst_and_status` is never used
[INFO] [stdout]    --> src/cpu/disasm.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn disasm_one_inst_and_status(bus: &Bus, addr: u16, cpu: &Cpu) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `func`, `cycles`, `additional_cycle`, and `illegal` are never read
[INFO] [stdout]    --> src/cpu/instructions.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct InstProp {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 138 |     pub inst: Inst,
[INFO] [stdout] 139 |     pub func: InstFunc,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 140 |     pub addr_mode: AddressingMode,
[INFO] [stdout] 141 |     pub cycles: u8,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 142 |     pub additional_cycle: u8,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 143 |     pub illegal: bool,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_jump` is never used
[INFO] [stdout]    --> src/cpu/instructions.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl InstProp {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 147 |     pub fn is_jump(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `copy` is never used
[INFO] [stdout]   --> src/debug_font/mod.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl<'a> DebugFont<'a> {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub fn copy<T: RenderTarget>(&self, canvas: &mut Canvas<T>, rect: Rect) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `read16` and `cartridge` are never used
[INFO] [stdout]  --> src/mapper.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Mapper {
[INFO] [stdout]   |           ------ methods in this trait
[INFO] [stdout] 4 |     fn read(&self, address: u16) -> u8;
[INFO] [stdout] 5 |     fn read16(&self, address: u16) -> u16 {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 8 |     fn cartridge(&self) -> &Cartridge;
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.11s
[INFO] running `Command { std: "docker" "inspect" "e681ad3385f0d128464b077c5cf328a7f5bddc44dfe1ee0f51b96b03629f0398", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e681ad3385f0d128464b077c5cf328a7f5bddc44dfe1ee0f51b96b03629f0398", kill_on_drop: false }`
[INFO] [stdout] e681ad3385f0d128464b077c5cf328a7f5bddc44dfe1ee0f51b96b03629f0398
