[INFO] cloning repository https://github.com/jeffomatic/nes [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jeffomatic/nes" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjeffomatic%2Fnes", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjeffomatic%2Fnes'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0652e8f899f79dfc6b50c9891608744b2eaad136 [INFO] building jeffomatic/nes against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjeffomatic%2Fnes" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/jeffomatic/nes on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/jeffomatic/nes [INFO] finished tweaking git repo https://github.com/jeffomatic/nes [INFO] tweaked toml for git repo https://github.com/jeffomatic/nes written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/jeffomatic/nes 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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 632be6aa7a579af51dfbbb01da6a8420d14fbcabe5c01ec547954befee4070b6 [INFO] running `Command { std: "docker" "start" "-a" "632be6aa7a579af51dfbbb01da6a8420d14fbcabe5c01ec547954befee4070b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "632be6aa7a579af51dfbbb01da6a8420d14fbcabe5c01ec547954befee4070b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "632be6aa7a579af51dfbbb01da6a8420d14fbcabe5c01ec547954befee4070b6", kill_on_drop: false }` [INFO] [stdout] 632be6aa7a579af51dfbbb01da6a8420d14fbcabe5c01ec547954befee4070b6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c5005643195e898a051d477eac087b064a02a490a5f6451eb8c07ca1ad37a3d5 [INFO] running `Command { std: "docker" "start" "-a" "c5005643195e898a051d477eac087b064a02a490a5f6451eb8c07ca1ad37a3d5", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Compiling libc v0.2.66 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling memchr v2.3.0 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling sdl2 v0.32.2 [INFO] [stderr] Compiling regex-syntax v0.6.13 [INFO] [stderr] Compiling sdl2-sys v0.32.6 [INFO] [stderr] Compiling thread_local v1.0.1 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling rand_jitter v0.1.4 [INFO] [stderr] Compiling rand_isaac v0.1.1 [INFO] [stderr] Compiling rand_xorshift v0.1.1 [INFO] [stderr] Compiling rand_hc v0.1.0 [INFO] [stderr] Compiling num-traits v0.2.10 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling num-iter v0.1.39 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling aho-corasick v0.7.6 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling regex v1.3.3 [INFO] [stderr] Compiling num v0.1.42 [INFO] [stderr] Compiling nes v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `super::super::status::Status` [INFO] [stdout] --> src/cpu/execute/incdec.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use super::super::status::Status; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::cpu::status::Status` [INFO] [stdout] --> src/cpu/execute/loadstore.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::cpu::status::Status; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::status::Status` [INFO] [stdout] --> src/cpu/execute/stack.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use super::super::status::Status; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::status::Status` [INFO] [stdout] --> src/cpu/execute/transfer.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use super::super::status::Status; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::assemble` [INFO] [stdout] --> src/cpu/step.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use super::assemble; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::status` [INFO] [stdout] --> src/cpu/step.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use super::status; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mapper/nrom128.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mapper/nrom128.rs:23:36 [INFO] [stdout] | [INFO] [stdout] 23 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mapper/nrom128.rs:35:25 [INFO] [stdout] | [INFO] [stdout] 35 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mapper/nrom128.rs:35:36 [INFO] [stdout] | [INFO] [stdout] 35 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `operand_size` is never used [INFO] [stdout] --> src/cpu/address_mode.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl AddressMode { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] 20 | pub fn operand_size(self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Statement` is never used [INFO] [stdout] --> src/cpu/assemble.rs:10:6 [INFO] [stdout] | [INFO] [stdout] 10 | enum Statement<'a> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Operand` is never used [INFO] [stdout] --> src/cpu/assemble.rs:21:6 [INFO] [stdout] | [INFO] [stdout] 21 | enum Operand<'a> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Opval` is never used [INFO] [stdout] --> src/cpu/assemble.rs:33:6 [INFO] [stdout] | [INFO] [stdout] 33 | enum Opval<'a> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `to_numeric` is never used [INFO] [stdout] --> src/cpu/assemble.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl<'a> Opval<'a> { [INFO] [stdout] | ------------------ method in this implementation [INFO] [stdout] 39 | pub fn to_numeric(&self, symbols: &dyn SymbolTable) -> Result { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Numeric` is never used [INFO] [stdout] --> src/cpu/assemble.rs:51:6 [INFO] [stdout] | [INFO] [stdout] 51 | enum Numeric { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `to_bytes`, `to_u16`, and `to_string` are never used [INFO] [stdout] --> src/cpu/assemble.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 56 | impl Numeric { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 57 | fn to_bytes(self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn to_u16(self) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | fn to_string(self) -> String { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `SymbolTable` is never used [INFO] [stdout] --> src/cpu/assemble.rs:79:7 [INFO] [stdout] | [INFO] [stdout] 79 | trait SymbolTable { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MapSymbolTable` is never constructed [INFO] [stdout] --> src/cpu/assemble.rs:83:8 [INFO] [stdout] | [INFO] [stdout] 83 | struct MapSymbolTable<'a>(HashMap<&'a str, Numeric>); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CompositeSymbolTable` is never constructed [INFO] [stdout] --> src/cpu/assemble.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 91 | struct CompositeSymbolTable<'a>(Vec<&'a dyn SymbolTable>); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/cpu/assemble.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 100 | pub enum Error { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 101 | InvalidStatement(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 102 | InvalidNumeric(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 103 | InvalidMnemonic(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 104 | InvalidOperand(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 105 | InvalidOpval(String), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 106 | SymbolNotFound(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 107 | NoValidAddressMode(opcode::Type, String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 108 | BranchLabelTooFar(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 109 | LiteralInBranch(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 110 | InvalidOperandSize(AddressMode, String, usize), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_statement` is never used [INFO] [stdout] --> src/cpu/assemble.rs:190:4 [INFO] [stdout] | [INFO] [stdout] 190 | fn parse_statement<'a>(src: &'a str) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_numeric` is never used [INFO] [stdout] --> src/cpu/assemble.rs:218:4 [INFO] [stdout] | [INFO] [stdout] 218 | fn parse_numeric(src: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_mnemonic` is never used [INFO] [stdout] --> src/cpu/assemble.rs:234:4 [INFO] [stdout] | [INFO] [stdout] 234 | fn parse_mnemonic(src: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_operand` is never used [INFO] [stdout] --> src/cpu/assemble.rs:241:4 [INFO] [stdout] | [INFO] [stdout] 241 | fn parse_operand<'a>(src: &'a str) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_opval` is never used [INFO] [stdout] --> src/cpu/assemble.rs:279:4 [INFO] [stdout] | [INFO] [stdout] 279 | fn parse_opval<'a>(src: &'a str) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `infer_address_mode` is never used [INFO] [stdout] --> src/cpu/assemble.rs:291:4 [INFO] [stdout] | [INFO] [stdout] 291 | fn infer_address_mode( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assemble` is never used [INFO] [stdout] --> src/cpu/assemble.rs:375:8 [INFO] [stdout] | [INFO] [stdout] 375 | pub fn assemble(src: &str, base_reloc_addr: u16) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute` is never used [INFO] [stdout] --> src/cpu/execute/mod.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn execute(opcode_type: opcode::Type, cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `adc` is never used [INFO] [stdout] --> src/cpu/execute/arithmetic.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn adc(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sbc` is never used [INFO] [stdout] --> src/cpu/execute/arithmetic.rs:102:8 [INFO] [stdout] | [INFO] [stdout] 102 | pub fn sbc(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cmp` is never used [INFO] [stdout] --> src/cpu/execute/arithmetic.rs:194:8 [INFO] [stdout] | [INFO] [stdout] 194 | pub fn cmp(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cpx` is never used [INFO] [stdout] --> src/cpu/execute/arithmetic.rs:245:8 [INFO] [stdout] | [INFO] [stdout] 245 | pub fn cpx(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cpy` is never used [INFO] [stdout] --> src/cpu/execute/arithmetic.rs:291:8 [INFO] [stdout] | [INFO] [stdout] 291 | pub fn cpy(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `branch` is never used [INFO] [stdout] --> src/cpu/execute/branch.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn branch(cpu: &mut Cpu, operand: Operand, cond: bool) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bcc` is never used [INFO] [stdout] --> src/cpu/execute/branch.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn bcc(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bcs` is never used [INFO] [stdout] --> src/cpu/execute/branch.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn bcs(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `beq` is never used [INFO] [stdout] --> src/cpu/execute/branch.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn beq(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bmi` is never used [INFO] [stdout] --> src/cpu/execute/branch.rs:116:8 [INFO] [stdout] | [INFO] [stdout] 116 | pub fn bmi(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bne` is never used [INFO] [stdout] --> src/cpu/execute/branch.rs:140:8 [INFO] [stdout] | [INFO] [stdout] 140 | pub fn bne(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bpl` is never used [INFO] [stdout] --> src/cpu/execute/branch.rs:163:8 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn bpl(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bvc` is never used [INFO] [stdout] --> src/cpu/execute/branch.rs:186:8 [INFO] [stdout] | [INFO] [stdout] 186 | pub fn bvc(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bvs` is never used [INFO] [stdout] --> src/cpu/execute/branch.rs:209:8 [INFO] [stdout] | [INFO] [stdout] 209 | pub fn bvs(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `inc` is never used [INFO] [stdout] --> src/cpu/execute/incdec.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn inc(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `inx` is never used [INFO] [stdout] --> src/cpu/execute/incdec.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn inx(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `iny` is never used [INFO] [stdout] --> src/cpu/execute/incdec.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn iny(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dec` is never used [INFO] [stdout] --> src/cpu/execute/incdec.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | pub fn dec(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dex` is never used [INFO] [stdout] --> src/cpu/execute/incdec.rs:139:8 [INFO] [stdout] | [INFO] [stdout] 139 | pub fn dex(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dey` is never used [INFO] [stdout] --> src/cpu/execute/incdec.rs:172:8 [INFO] [stdout] | [INFO] [stdout] 172 | pub fn dey(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `jmp` is never used [INFO] [stdout] --> src/cpu/execute/jump.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn jmp(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `jsr` is never used [INFO] [stdout] --> src/cpu/execute/jump.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | pub fn jsr(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rts` is never used [INFO] [stdout] --> src/cpu/execute/jump.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn rts(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lda` is never used [INFO] [stdout] --> src/cpu/execute/loadstore.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn lda(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ldx` is never used [INFO] [stdout] --> src/cpu/execute/loadstore.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub fn ldx(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ldy` is never used [INFO] [stdout] --> src/cpu/execute/loadstore.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn ldy(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sta` is never used [INFO] [stdout] --> src/cpu/execute/loadstore.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn sta(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stx` is never used [INFO] [stdout] --> src/cpu/execute/loadstore.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 108 | pub fn stx(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sty` is never used [INFO] [stdout] --> src/cpu/execute/loadstore.rs:121:8 [INFO] [stdout] | [INFO] [stdout] 121 | pub fn sty(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `and` is never used [INFO] [stdout] --> src/cpu/execute/logic.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn and(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `eor` is never used [INFO] [stdout] --> src/cpu/execute/logic.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn eor(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ora` is never used [INFO] [stdout] --> src/cpu/execute/logic.rs:71:8 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn ora(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bit` is never used [INFO] [stdout] --> src/cpu/execute/logic.rs:104:8 [INFO] [stdout] | [INFO] [stdout] 104 | pub fn bit(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `asl` is never used [INFO] [stdout] --> src/cpu/execute/shift.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn asl(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `lsr` is never used [INFO] [stdout] --> src/cpu/execute/shift.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn lsr(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rol` is never used [INFO] [stdout] --> src/cpu/execute/shift.rs:95:8 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn rol(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ror` is never used [INFO] [stdout] --> src/cpu/execute/shift.rs:148:8 [INFO] [stdout] | [INFO] [stdout] 148 | pub fn ror(cpu: &mut Cpu, operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tsx` is never used [INFO] [stdout] --> src/cpu/execute/stack.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn tsx(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `txs` is never used [INFO] [stdout] --> src/cpu/execute/stack.rs:31:8 [INFO] [stdout] | [INFO] [stdout] 31 | pub fn txs(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pha` is never used [INFO] [stdout] --> src/cpu/execute/stack.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn pha(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `php` is never used [INFO] [stdout] --> src/cpu/execute/stack.rs:68:8 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn php(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pla` is never used [INFO] [stdout] --> src/cpu/execute/stack.rs:80:8 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn pla(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `plp` is never used [INFO] [stdout] --> src/cpu/execute/stack.rs:92:8 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn plp(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clc` is never used [INFO] [stdout] --> src/cpu/execute/status.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn clc(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cld` is never used [INFO] [stdout] --> src/cpu/execute/status.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn cld(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `cli` is never used [INFO] [stdout] --> src/cpu/execute/status.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn cli(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `clv` is never used [INFO] [stdout] --> src/cpu/execute/status.rs:41:8 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn clv(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sec` is never used [INFO] [stdout] --> src/cpu/execute/status.rs:53:8 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn sec(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sed` is never used [INFO] [stdout] --> src/cpu/execute/status.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn sed(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sei` is never used [INFO] [stdout] --> src/cpu/execute/status.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn sei(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `brk` is never used [INFO] [stdout] --> src/cpu/execute/system.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn brk(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `rti` is never used [INFO] [stdout] --> src/cpu/execute/system.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn rti(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `nop` is never used [INFO] [stdout] --> src/cpu/execute/system.rs:43:8 [INFO] [stdout] | [INFO] [stdout] 43 | pub fn nop(_cpu: &mut Cpu, _operand: Operand) {} [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tax` is never used [INFO] [stdout] --> src/cpu/execute/transfer.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 5 | pub fn tax(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tay` is never used [INFO] [stdout] --> src/cpu/execute/transfer.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn tay(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `txa` is never used [INFO] [stdout] --> src/cpu/execute/transfer.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 55 | pub fn txa(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tya` is never used [INFO] [stdout] --> src/cpu/execute/transfer.rs:81:8 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn tya(cpu: &mut Cpu, _operand: Operand) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `writes_memory`, `compatible_with`, `is_jump`, and `from_mnemonic` are never used [INFO] [stdout] --> src/cpu/opcode.rs:66:12 [INFO] [stdout] | [INFO] [stdout] 65 | impl Type { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 66 | pub fn writes_memory(self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | pub fn compatible_with(self, addr_mode: AddressMode) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn is_jump(self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | pub fn from_mnemonic(mnemonic: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode` is never used [INFO] [stdout] --> src/cpu/opcode.rs:1148:8 [INFO] [stdout] | [INFO] [stdout] 1148 | pub fn decode(opcode: u8) -> Option<(Type, AddressMode, u64)> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `encode` is never used [INFO] [stdout] --> src/cpu/opcode.rs:1163:8 [INFO] [stdout] | [INFO] [stdout] 1163 | pub fn encode(opcode_type: Type, addr_mode: AddressMode) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `None`, `Accumulator`, `Immediate`, and `Memory` are never constructed [INFO] [stdout] --> src/cpu/operand.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Operand { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 8 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | Accumulator, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 10 | Immediate(u8), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 11 | Memory(u16), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Operand` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `read`, `write`, and `address` are never used [INFO] [stdout] --> src/cpu/operand.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl Operand { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] 15 | pub fn read(self, cpu: &Cpu) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn write(self, cpu: &mut Cpu, val: u8) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn address(self) -> u16 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `decode` is never used [INFO] [stdout] --> src/cpu/operand.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn decode(cpu: &mut Cpu, opcode_type: opcode::Type, addr_mode: AddressMode) -> (Operand, u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `page_crossing_cycle_adjusment` is never used [INFO] [stdout] --> src/cpu/operand.rs:164:4 [INFO] [stdout] | [INFO] [stdout] 164 | fn page_crossing_cycle_adjusment(opcode_type: opcode::Type, before: u16, after: u16) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STACK_BASE` is never used [INFO] [stdout] --> src/cpu/state.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const STACK_BASE: u16 = 0x100; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STACK_SIZE` is never used [INFO] [stdout] --> src/cpu/state.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const STACK_SIZE: usize = 0x100; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAM_SIZE` is never used [INFO] [stdout] --> src/cpu/state.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const RAM_SIZE: usize = 1 << 11; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `status_set`, `status_set_zn`, and `status_check` are never used [INFO] [stdout] --> src/cpu/state.rs:55:8 [INFO] [stdout] | [INFO] [stdout] 54 | impl Registers { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 55 | fn new() -> Registers { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn status_set(&mut self, s: Status, on: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn status_set_zn(&mut self, val: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | pub fn status_check(&self, s: Status) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `nmi`, `reset`, and `irq_brk` are never read [INFO] [stdout] --> src/cpu/state.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 85 | pub struct Vectors { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 86 | pub nmi: u16, [INFO] [stdout] | ^^^ [INFO] [stdout] 87 | pub reset: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 88 | pub irq_brk: u16, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Vectors` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Cpu` is never constructed [INFO] [stdout] --> src/cpu/state.rs:91:12 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct Cpu { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/cpu/state.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 100 | impl Cpu { [INFO] [stdout] | -------- associated items in this implementation [INFO] [stdout] 101 | pub fn new(mapper_prg: Box, mapper_chr: Box) -> Cpu { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn new_test() -> Cpu { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | pub fn cycle_add(&mut self, amt: u64) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn mem_read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn mem_read16(&self, addr: u16) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn mem_read_buf(&self, addr: u16, len: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn mem_write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 188 | pub fn mem_write_buf(&mut self, addr: u16, buf: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn instruction_fetch_byte(&mut self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn stack_pointer(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn stack_push(&mut self, v: u8) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 208 | pub fn stack_push16(&mut self, v: u16) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn stack_pop(&mut self) -> u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub fn stack_pop16(&mut self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 228 | pub fn stack_peek(&self, offset: u8) -> u8 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn stack_peek16(&self, offset: u8) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/cpu/status.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum Status { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] 3 | Carry, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 4 | Zero, [INFO] [stdout] | ^^^^ [INFO] [stdout] 5 | InterruptDisable, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | DecimalMode, // No effect on the NES. [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 7 | BreakCommand, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 8 | ExpansionBit, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 9 | Overflow, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 10 | Negative, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Status` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `bit` and `mask` are never used [INFO] [stdout] --> src/cpu/status.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Status { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 14 | pub fn bit(self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn mask(self) -> u8 { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `step` is never used [INFO] [stdout] --> src/cpu/step.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 8 | impl state::Cpu { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 9 | pub fn step(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `read` and `write` are never used [INFO] [stdout] --> src/mapper/common.rs:5:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub trait Prg { [INFO] [stdout] | --- methods in this trait [INFO] [stdout] 5 | fn read(&self, addr: u16) -> u8; [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | fn write(&mut self, addr: u16, v: u8); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `read` and `write` are never used [INFO] [stdout] --> src/mapper/common.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub trait Ppu { [INFO] [stdout] | --- methods in this trait [INFO] [stdout] 10 | fn read(&self, addr: u16) -> u8; [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | fn write(&mut self, addr: u16, v: u8); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PRG_SIZE` is never used [INFO] [stdout] --> src/mapper/nrom128.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const PRG_SIZE: usize = 1 << 13; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHR_SIZE` is never used [INFO] [stdout] --> src/mapper/nrom128.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const CHR_SIZE: usize = 1 << 12; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new` is never used [INFO] [stdout] --> src/mapper/nrom128.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn new(prg: &Vec, chr: &Vec) -> (Prg, Ppu) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bytes_to_u16_le` is never used [INFO] [stdout] --> src/math.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | pub fn bytes_to_u16_le(bytes: [u8; 2]) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `byte_addr_offset` is never used [INFO] [stdout] --> src/math.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn byte_addr_offset(src: u16, offset: u8) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `same_sign` is never used [INFO] [stdout] --> src/math.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn same_sign(x: u8, y: u8) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u16_to_bytes_le` is never used [INFO] [stdout] --> src/math.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | pub fn u16_to_bytes_le(x: u16) -> [u8; 2] { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u16_hi` is never used [INFO] [stdout] --> src/math.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn u16_hi(x: u16) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u16_lo` is never used [INFO] [stdout] --> src/math.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn u16_lo(x: u16) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u16_set_hi` is never used [INFO] [stdout] --> src/math.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn u16_set_hi(x: u16, hi: u8) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `u16_set_lo` is never used [INFO] [stdout] --> src/math.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 46 | pub fn u16_set_lo(x: u16, lo: u8) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `page_crossing` is never used [INFO] [stdout] --> src/math.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn page_crossing(x: u16, y: u16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/ppu/mod.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Registers { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 8 | pub ppuctrl: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 9 | pub ppumask: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 10 | pub ppustatus: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 11 | pub oamaddr: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | pub oamdata: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 13 | pub ppuscroll: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 14 | pub ppuaddr: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | pub ppudata: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub oamdma: u8, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TILE_ROWS` is never used [INFO] [stdout] --> src/ppu/mod.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const TILE_ROWS: usize = 8; // 8x8 tiles [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TILE_BITPLANES` is never used [INFO] [stdout] --> src/ppu/mod.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const TILE_BITPLANES: usize = 2; // 2 bitplanes per tile [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TILE_BYTES` is never used [INFO] [stdout] --> src/ppu/mod.rs:26:7 [INFO] [stdout] | [INFO] [stdout] 26 | const TILE_BYTES: usize = TILE_ROWS * TILE_BITPLANES; // 16 bytes per tile [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATTRIBUTE_TABLE_BYTES` is never used [INFO] [stdout] --> src/ppu/mod.rs:29:7 [INFO] [stdout] | [INFO] [stdout] 29 | const ATTRIBUTE_TABLE_BYTES: usize = 64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NAMETABLE_BYTES` is never used [INFO] [stdout] --> src/ppu/mod.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const NAMETABLE_BYTES: usize = (NAMETABLE_ROWS * NAMETABLE_COLS) + ATTRIBUTE_TABLE_BYTES; // 1024 bytes (0x400) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `regs`, `oam`, `palette`, and `mapper` are never read [INFO] [stdout] --> src/ppu/mod.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct Ppu { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 45 | regs: Registers, [INFO] [stdout] | ^^^^ [INFO] [stdout] 46 | oam: [u8; OAM_BYTES], [INFO] [stdout] | ^^^ [INFO] [stdout] 47 | palette: [u8; ALL_PALETTES_BYTES], [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 48 | mapper: Box, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PixelColor` is never used [INFO] [stdout] --> src/ppu/mod.rs:53:6 [INFO] [stdout] | [INFO] [stdout] 53 | enum PixelColor { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mem_read`, `mem_write`, `mem_write_buf`, and `bg_pixel_color` are never used [INFO] [stdout] --> src/ppu/mod.rs:70:12 [INFO] [stdout] | [INFO] [stdout] 58 | impl Ppu { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 70 | pub fn mem_read(&self, addr: u16) -> u8 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn mem_write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn mem_write_buf(&mut self, addr: u16, buf: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn bg_pixel_color(&self, x: usize, y: usize) -> PixelColor { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALETTE_COLORS` is never used [INFO] [stdout] --> src/ppu/palette.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub const PALETTE_COLORS: usize = 64; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CXA2025AS` is never used [INFO] [stdout] --> src/ppu/palette.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const CXA2025AS: [[u8; 3]; PALETTE_COLORS] = [ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAL` is never used [INFO] [stdout] --> src/ppu/palette.rs:73:11 [INFO] [stdout] | [INFO] [stdout] 73 | pub const PAL: [[u8; 3]; PALETTE_COLORS] = [ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COMPOSITE_DIRECT_FBX` is never used [INFO] [stdout] --> src/ppu/palette.rs:140:11 [INFO] [stdout] | [INFO] [stdout] 140 | pub const COMPOSITE_DIRECT_FBX: [[u8; 3]; PALETTE_COLORS] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PVM_STYLE_D93_FBX` is never used [INFO] [stdout] --> src/ppu/palette.rs:207:11 [INFO] [stdout] | [INFO] [stdout] 207 | pub const PVM_STYLE_D93_FBX: [[u8; 3]; PALETTE_COLORS] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NTSC_HARDWARE_FBX` is never used [INFO] [stdout] --> src/ppu/palette.rs:274:11 [INFO] [stdout] | [INFO] [stdout] 274 | pub const NTSC_HARDWARE_FBX: [[u8; 3]; PALETTE_COLORS] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NES_CLASSIC_FBX_FS` is never used [INFO] [stdout] --> src/ppu/palette.rs:341:11 [INFO] [stdout] | [INFO] [stdout] 341 | pub const NES_CLASSIC_FBX_FS: [[u8; 3]; PALETTE_COLORS] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.73s [INFO] running `Command { std: "docker" "inspect" "c5005643195e898a051d477eac087b064a02a490a5f6451eb8c07ca1ad37a3d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c5005643195e898a051d477eac087b064a02a490a5f6451eb8c07ca1ad37a3d5", kill_on_drop: false }` [INFO] [stdout] c5005643195e898a051d477eac087b064a02a490a5f6451eb8c07ca1ad37a3d5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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 -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f005c87cf1bdf91e6d3fa1a4259fea9e5a37ef86cb7ce33f0120f97d69987c8d [INFO] running `Command { std: "docker" "start" "-a" "f005c87cf1bdf91e6d3fa1a4259fea9e5a37ef86cb7ce33f0120f97d69987c8d", kill_on_drop: false }` [INFO] [stderr] Compiling nes v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mapper/nrom128.rs:23:25 [INFO] [stdout] | [INFO] [stdout] 23 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mapper/nrom128.rs:23:36 [INFO] [stdout] | [INFO] [stdout] 23 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `addr` [INFO] [stdout] --> src/mapper/nrom128.rs:35:25 [INFO] [stdout] | [INFO] [stdout] 35 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_addr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/mapper/nrom128.rs:35:36 [INFO] [stdout] | [INFO] [stdout] 35 | fn write(&mut self, addr: u16, v: u8) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `nmi`, `reset`, and `irq_brk` are never read [INFO] [stdout] --> src/cpu/state.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 85 | pub struct Vectors { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 86 | pub nmi: u16, [INFO] [stdout] | ^^^ [INFO] [stdout] 87 | pub reset: u16, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 88 | pub irq_brk: u16, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Vectors` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `vectors` and `ppu` are never read [INFO] [stdout] --> src/cpu/state.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct Cpu { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 95 | pub vectors: Vectors, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 96 | pub ppu: ppu::Ppu, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/cpu/state.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 100 | impl Cpu { [INFO] [stdout] | -------- associated function in this implementation [INFO] [stdout] 101 | pub fn new(mapper_prg: Box, mapper_chr: Box) -> Cpu { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ExpansionBit` is never constructed [INFO] [stdout] --> src/cpu/status.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 2 | pub enum Status { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 8 | ExpansionBit, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Status` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PRG_SIZE` is never used [INFO] [stdout] --> src/mapper/nrom128.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const PRG_SIZE: usize = 1 << 13; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CHR_SIZE` is never used [INFO] [stdout] --> src/mapper/nrom128.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const CHR_SIZE: usize = 1 << 12; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new` is never used [INFO] [stdout] --> src/mapper/nrom128.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn new(prg: &Vec, chr: &Vec) -> (Prg, Ppu) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/ppu/mod.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Registers { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 8 | pub ppuctrl: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 9 | pub ppumask: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 10 | pub ppustatus: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 11 | pub oamaddr: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | pub oamdata: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 13 | pub ppuscroll: u8, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 14 | pub ppuaddr: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 15 | pub ppudata: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub oamdma: u8, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TILE_ROWS` is never used [INFO] [stdout] --> src/ppu/mod.rs:24:7 [INFO] [stdout] | [INFO] [stdout] 24 | const TILE_ROWS: usize = 8; // 8x8 tiles [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TILE_BITPLANES` is never used [INFO] [stdout] --> src/ppu/mod.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const TILE_BITPLANES: usize = 2; // 2 bitplanes per tile [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TILE_BYTES` is never used [INFO] [stdout] --> src/ppu/mod.rs:26:7 [INFO] [stdout] | [INFO] [stdout] 26 | const TILE_BYTES: usize = TILE_ROWS * TILE_BITPLANES; // 16 bytes per tile [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ATTRIBUTE_TABLE_BYTES` is never used [INFO] [stdout] --> src/ppu/mod.rs:29:7 [INFO] [stdout] | [INFO] [stdout] 29 | const ATTRIBUTE_TABLE_BYTES: usize = 64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NAMETABLE_BYTES` is never used [INFO] [stdout] --> src/ppu/mod.rs:30:7 [INFO] [stdout] | [INFO] [stdout] 30 | const NAMETABLE_BYTES: usize = (NAMETABLE_ROWS * NAMETABLE_COLS) + ATTRIBUTE_TABLE_BYTES; // 1024 bytes (0x400) [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `regs` and `oam` are never read [INFO] [stdout] --> src/ppu/mod.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct Ppu { [INFO] [stdout] | --- fields in this struct [INFO] [stdout] 45 | regs: Registers, [INFO] [stdout] | ^^^^ [INFO] [stdout] 46 | oam: [u8; OAM_BYTES], [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PALETTE_COLORS` is never used [INFO] [stdout] --> src/ppu/palette.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub const PALETTE_COLORS: usize = 64; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CXA2025AS` is never used [INFO] [stdout] --> src/ppu/palette.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const CXA2025AS: [[u8; 3]; PALETTE_COLORS] = [ [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAL` is never used [INFO] [stdout] --> src/ppu/palette.rs:73:11 [INFO] [stdout] | [INFO] [stdout] 73 | pub const PAL: [[u8; 3]; PALETTE_COLORS] = [ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COMPOSITE_DIRECT_FBX` is never used [INFO] [stdout] --> src/ppu/palette.rs:140:11 [INFO] [stdout] | [INFO] [stdout] 140 | pub const COMPOSITE_DIRECT_FBX: [[u8; 3]; PALETTE_COLORS] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PVM_STYLE_D93_FBX` is never used [INFO] [stdout] --> src/ppu/palette.rs:207:11 [INFO] [stdout] | [INFO] [stdout] 207 | pub const PVM_STYLE_D93_FBX: [[u8; 3]; PALETTE_COLORS] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NTSC_HARDWARE_FBX` is never used [INFO] [stdout] --> src/ppu/palette.rs:274:11 [INFO] [stdout] | [INFO] [stdout] 274 | pub const NTSC_HARDWARE_FBX: [[u8; 3]; PALETTE_COLORS] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NES_CLASSIC_FBX_FS` is never used [INFO] [stdout] --> src/ppu/palette.rs:341:11 [INFO] [stdout] | [INFO] [stdout] 341 | pub const NES_CLASSIC_FBX_FS: [[u8; 3]; PALETTE_COLORS] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.36s [INFO] running `Command { std: "docker" "inspect" "f005c87cf1bdf91e6d3fa1a4259fea9e5a37ef86cb7ce33f0120f97d69987c8d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f005c87cf1bdf91e6d3fa1a4259fea9e5a37ef86cb7ce33f0120f97d69987c8d", kill_on_drop: false }` [INFO] [stdout] f005c87cf1bdf91e6d3fa1a4259fea9e5a37ef86cb7ce33f0120f97d69987c8d