[INFO] cloning repository https://github.com/Piturnah/nesulator [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Piturnah/nesulator" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPiturnah%2Fnesulator", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPiturnah%2Fnesulator'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] f1e186fa89325a164511faf69edf460e7496bc59 [INFO] building Piturnah/nesulator 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%2FPiturnah%2Fnesulator" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Piturnah/nesulator 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/Piturnah/nesulator [INFO] finished tweaking git repo https://github.com/Piturnah/nesulator [INFO] tweaked toml for git repo https://github.com/Piturnah/nesulator written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Piturnah/nesulator 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] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] fcaee823c748a1c555645a5003f1ee2f758306c2cd95537e1a124cb731208a2a [INFO] running `Command { std: "docker" "start" "-a" "fcaee823c748a1c555645a5003f1ee2f758306c2cd95537e1a124cb731208a2a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fcaee823c748a1c555645a5003f1ee2f758306c2cd95537e1a124cb731208a2a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fcaee823c748a1c555645a5003f1ee2f758306c2cd95537e1a124cb731208a2a", kill_on_drop: false }` [INFO] [stdout] fcaee823c748a1c555645a5003f1ee2f758306c2cd95537e1a124cb731208a2a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 16bc0b09e48c3bdf7b1aa8da58b51a409127442f29c6e5358ca425743e303c72 [INFO] running `Command { std: "docker" "start" "-a" "16bc0b09e48c3bdf7b1aa8da58b51a409127442f29c6e5358ca425743e303c72", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.126 [INFO] [stderr] Compiling signal-hook v0.3.14 [INFO] [stderr] Compiling lock_api v0.4.7 [INFO] [stderr] Compiling m6502 v0.1.0 (/opt/rustwide/workdir/crates/m6502) [INFO] [stderr] Compiling nom v7.1.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.0 [INFO] [stderr] Compiling mio v0.8.4 [INFO] [stderr] Compiling parking_lot_core v0.9.3 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling signal-hook-mio v0.2.3 [INFO] [stderr] Compiling crossterm v0.23.2 [INFO] [stderr] Compiling nesulator v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/parse.rs:29:58 [INFO] [stdout] | [INFO] [stdout] 29 | fn parse_magic<'a>(input: &'a [u8]) -> IResult<&'a [u8], &[u8]> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/parse.rs:33:60 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn parse_rom<'a>(input: &'a [u8]) -> IResult<&'a [u8], ROM> { [INFO] [stdout] | -- lifetime `'a` declared here ^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/main.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | BNE(AddrMode), // branch on not equal (zero clear) [INFO] [stdout] | --- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 25 | BNE(()), // branch on not equal (zero clear) [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/main.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | CLC(AddrMode), // clear carry [INFO] [stdout] | --- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 30 | CLC(()), // clear carry [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/main.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | PHA(AddrMode), // push accumulator [INFO] [stdout] | --- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 52 | PHA(()), // push accumulator [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/main.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | PLA(AddrMode), // pull accumulator [INFO] [stdout] | --- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 54 | PLA(()), // pull accumulator [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/main.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | SEC(AddrMode), // set carry [INFO] [stdout] | --- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 61 | SEC(()), // set carry [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 16 | enum Op { [INFO] [stdout] | -- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 20 | BCC(AddrMode), // branch on carry clear [INFO] [stdout] | ^^^ [INFO] [stdout] 21 | BCS(AddrMode), // branch on carry set [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | BEQ(AddrMode), // branch on equal (zero set) [INFO] [stdout] | ^^^ [INFO] [stdout] 23 | BIT(AddrMode), // bit test [INFO] [stdout] | ^^^ [INFO] [stdout] 24 | BMI(AddrMode), // branch on minus (negative set) [INFO] [stdout] | ^^^ [INFO] [stdout] 25 | BNE(AddrMode), // branch on not equal (zero clear) [INFO] [stdout] 26 | BPL(AddrMode), // branch on plus (negative clear) [INFO] [stdout] | ^^^ [INFO] [stdout] 27 | BRK(AddrMode), // break / interrupt [INFO] [stdout] | ^^^ [INFO] [stdout] 28 | BVC(AddrMode), // branch on overflow clear [INFO] [stdout] | ^^^ [INFO] [stdout] 29 | BVS(AddrMode), // branch on overflow set [INFO] [stdout] | ^^^ [INFO] [stdout] 30 | CLC(AddrMode), // clear carry [INFO] [stdout] 31 | CLD(AddrMode), // clear decimal [INFO] [stdout] | ^^^ [INFO] [stdout] 32 | CLI(AddrMode), // clear interrupt disable [INFO] [stdout] | ^^^ [INFO] [stdout] 33 | CLV(AddrMode), // clear overflow [INFO] [stdout] | ^^^ [INFO] [stdout] 34 | CMP(AddrMode), // compare (with accumulator) [INFO] [stdout] 35 | CPX(AddrMode), // compare with X [INFO] [stdout] | ^^^ [INFO] [stdout] 36 | CPY(AddrMode), // compare with Y [INFO] [stdout] | ^^^ [INFO] [stdout] 37 | DEC(AddrMode), // decrement [INFO] [stdout] | ^^^ [INFO] [stdout] 38 | DEX(AddrMode), // decrement X [INFO] [stdout] | ^^^ [INFO] [stdout] 39 | DEY(AddrMode), // decrement Y [INFO] [stdout] | ^^^ [INFO] [stdout] 40 | EOR(AddrMode), // exclusive or (with accumulator) [INFO] [stdout] | ^^^ [INFO] [stdout] 41 | INC(AddrMode), // increment [INFO] [stdout] | ^^^ [INFO] [stdout] 42 | INX(AddrMode), // increment X [INFO] [stdout] | ^^^ [INFO] [stdout] 43 | INY(AddrMode), // increment Y [INFO] [stdout] | ^^^ [INFO] [stdout] 44 | JMP(AddrMode), // jump [INFO] [stdout] | ^^^ [INFO] [stdout] 45 | JSR(AddrMode), // jump subroutine [INFO] [stdout] | ^^^ [INFO] [stdout] 46 | LDA(AddrMode), // load accumulator [INFO] [stdout] 47 | LDX(AddrMode), // load X [INFO] [stdout] | ^^^ [INFO] [stdout] 48 | LDY(AddrMode), // load Y [INFO] [stdout] | ^^^ [INFO] [stdout] 49 | LSR(AddrMode), // logical shift right [INFO] [stdout] | ^^^ [INFO] [stdout] 50 | NOP, // no operation [INFO] [stdout] 51 | ORA(AddrMode), // or with accumulator [INFO] [stdout] | ^^^ [INFO] [stdout] 52 | PHA(AddrMode), // push accumulator [INFO] [stdout] 53 | PHP(AddrMode), // push processor status (SR) [INFO] [stdout] | ^^^ [INFO] [stdout] 54 | PLA(AddrMode), // pull accumulator [INFO] [stdout] 55 | PLP(AddrMode), // pull processor status (SR) [INFO] [stdout] | ^^^ [INFO] [stdout] 56 | ROL(AddrMode), // rotate left [INFO] [stdout] | ^^^ [INFO] [stdout] 57 | ROR(AddrMode), // rotate right [INFO] [stdout] | ^^^ [INFO] [stdout] 58 | RTI(AddrMode), // return from interrupt [INFO] [stdout] | ^^^ [INFO] [stdout] 59 | RTS(AddrMode), // return from subroutine [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | SED(AddrMode), // set decimal [INFO] [stdout] | ^^^ [INFO] [stdout] 63 | SEI(AddrMode), // set interrupt disable [INFO] [stdout] | ^^^ [INFO] [stdout] 64 | STA(AddrMode), // store accumulator [INFO] [stdout] 65 | STX(AddrMode), // store X [INFO] [stdout] | ^^^ [INFO] [stdout] 66 | STY(AddrMode), // store Y [INFO] [stdout] | ^^^ [INFO] [stdout] 67 | TAX(AddrMode), // transfer accumulator to X [INFO] [stdout] | ^^^ [INFO] [stdout] 68 | TAY(AddrMode), // transfer accumulator to Y [INFO] [stdout] | ^^^ [INFO] [stdout] 69 | TSX(AddrMode), // transfer stack pointer to X [INFO] [stdout] | ^^^ [INFO] [stdout] 70 | TXA(AddrMode), // transfer X to accumulator [INFO] [stdout] | ^^^ [INFO] [stdout] 71 | TXS(AddrMode), // transfer X to stack pointer [INFO] [stdout] | ^^^ [INFO] [stdout] 72 | TYA(AddrMode), // transfer Y to accumulator [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Indirect`, `Relative`, and `ZeropageY` are never constructed [INFO] [stdout] --> src/main.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 76 | enum AddrMode { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 83 | Indirect, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | Relative, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | ZeropageY, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AddrMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_magic` is never used [INFO] [stdout] --> src/parse.rs:29:4 [INFO] [stdout] | [INFO] [stdout] 29 | fn parse_magic<'a>(input: &'a [u8]) -> IResult<&'a [u8], &[u8]> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_rom` is never used [INFO] [stdout] --> src/parse.rs:33:8 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn parse_rom<'a>(input: &'a [u8]) -> IResult<&'a [u8], ROM> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.34s [INFO] running `Command { std: "docker" "inspect" "16bc0b09e48c3bdf7b1aa8da58b51a409127442f29c6e5358ca425743e303c72", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "16bc0b09e48c3bdf7b1aa8da58b51a409127442f29c6e5358ca425743e303c72", kill_on_drop: false }` [INFO] [stdout] 16bc0b09e48c3bdf7b1aa8da58b51a409127442f29c6e5358ca425743e303c72 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] fc2895bc6b2684ec52bae6e748510ef72e6747a95aeae6b10d5cfa1d85636bcc [INFO] running `Command { std: "docker" "start" "-a" "fc2895bc6b2684ec52bae6e748510ef72e6747a95aeae6b10d5cfa1d85636bcc", kill_on_drop: false }` [INFO] [stderr] Compiling nesulator v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/parse.rs:29:58 [INFO] [stdout] | [INFO] [stdout] 29 | fn parse_magic<'a>(input: &'a [u8]) -> IResult<&'a [u8], &[u8]> { [INFO] [stdout] | -- lifetime `'a` declared here ^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/parse.rs:33:60 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn parse_rom<'a>(input: &'a [u8]) -> IResult<&'a [u8], ROM> { [INFO] [stdout] | -- lifetime `'a` declared here ^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/main.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | BNE(AddrMode), // branch on not equal (zero clear) [INFO] [stdout] | --- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 25 | BNE(()), // branch on not equal (zero clear) [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/main.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 30 | CLC(AddrMode), // clear carry [INFO] [stdout] | --- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 30 | CLC(()), // clear carry [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/main.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | PHA(AddrMode), // push accumulator [INFO] [stdout] | --- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 52 | PHA(()), // push accumulator [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/main.rs:54:9 [INFO] [stdout] | [INFO] [stdout] 54 | PLA(AddrMode), // pull accumulator [INFO] [stdout] | --- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 54 | PLA(()), // pull accumulator [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/main.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | SEC(AddrMode), // set carry [INFO] [stdout] | --- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 61 | SEC(()), // set carry [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/main.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 16 | enum Op { [INFO] [stdout] | -- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 20 | BCC(AddrMode), // branch on carry clear [INFO] [stdout] | ^^^ [INFO] [stdout] 21 | BCS(AddrMode), // branch on carry set [INFO] [stdout] | ^^^ [INFO] [stdout] 22 | BEQ(AddrMode), // branch on equal (zero set) [INFO] [stdout] | ^^^ [INFO] [stdout] 23 | BIT(AddrMode), // bit test [INFO] [stdout] | ^^^ [INFO] [stdout] 24 | BMI(AddrMode), // branch on minus (negative set) [INFO] [stdout] | ^^^ [INFO] [stdout] 25 | BNE(AddrMode), // branch on not equal (zero clear) [INFO] [stdout] 26 | BPL(AddrMode), // branch on plus (negative clear) [INFO] [stdout] | ^^^ [INFO] [stdout] 27 | BRK(AddrMode), // break / interrupt [INFO] [stdout] | ^^^ [INFO] [stdout] 28 | BVC(AddrMode), // branch on overflow clear [INFO] [stdout] | ^^^ [INFO] [stdout] 29 | BVS(AddrMode), // branch on overflow set [INFO] [stdout] | ^^^ [INFO] [stdout] 30 | CLC(AddrMode), // clear carry [INFO] [stdout] 31 | CLD(AddrMode), // clear decimal [INFO] [stdout] | ^^^ [INFO] [stdout] 32 | CLI(AddrMode), // clear interrupt disable [INFO] [stdout] | ^^^ [INFO] [stdout] 33 | CLV(AddrMode), // clear overflow [INFO] [stdout] | ^^^ [INFO] [stdout] 34 | CMP(AddrMode), // compare (with accumulator) [INFO] [stdout] 35 | CPX(AddrMode), // compare with X [INFO] [stdout] | ^^^ [INFO] [stdout] 36 | CPY(AddrMode), // compare with Y [INFO] [stdout] | ^^^ [INFO] [stdout] 37 | DEC(AddrMode), // decrement [INFO] [stdout] | ^^^ [INFO] [stdout] 38 | DEX(AddrMode), // decrement X [INFO] [stdout] | ^^^ [INFO] [stdout] 39 | DEY(AddrMode), // decrement Y [INFO] [stdout] | ^^^ [INFO] [stdout] 40 | EOR(AddrMode), // exclusive or (with accumulator) [INFO] [stdout] | ^^^ [INFO] [stdout] 41 | INC(AddrMode), // increment [INFO] [stdout] | ^^^ [INFO] [stdout] 42 | INX(AddrMode), // increment X [INFO] [stdout] | ^^^ [INFO] [stdout] 43 | INY(AddrMode), // increment Y [INFO] [stdout] | ^^^ [INFO] [stdout] 44 | JMP(AddrMode), // jump [INFO] [stdout] | ^^^ [INFO] [stdout] 45 | JSR(AddrMode), // jump subroutine [INFO] [stdout] | ^^^ [INFO] [stdout] 46 | LDA(AddrMode), // load accumulator [INFO] [stdout] 47 | LDX(AddrMode), // load X [INFO] [stdout] | ^^^ [INFO] [stdout] 48 | LDY(AddrMode), // load Y [INFO] [stdout] | ^^^ [INFO] [stdout] 49 | LSR(AddrMode), // logical shift right [INFO] [stdout] | ^^^ [INFO] [stdout] 50 | NOP, // no operation [INFO] [stdout] 51 | ORA(AddrMode), // or with accumulator [INFO] [stdout] | ^^^ [INFO] [stdout] 52 | PHA(AddrMode), // push accumulator [INFO] [stdout] 53 | PHP(AddrMode), // push processor status (SR) [INFO] [stdout] | ^^^ [INFO] [stdout] 54 | PLA(AddrMode), // pull accumulator [INFO] [stdout] 55 | PLP(AddrMode), // pull processor status (SR) [INFO] [stdout] | ^^^ [INFO] [stdout] 56 | ROL(AddrMode), // rotate left [INFO] [stdout] | ^^^ [INFO] [stdout] 57 | ROR(AddrMode), // rotate right [INFO] [stdout] | ^^^ [INFO] [stdout] 58 | RTI(AddrMode), // return from interrupt [INFO] [stdout] | ^^^ [INFO] [stdout] 59 | RTS(AddrMode), // return from subroutine [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | SED(AddrMode), // set decimal [INFO] [stdout] | ^^^ [INFO] [stdout] 63 | SEI(AddrMode), // set interrupt disable [INFO] [stdout] | ^^^ [INFO] [stdout] 64 | STA(AddrMode), // store accumulator [INFO] [stdout] 65 | STX(AddrMode), // store X [INFO] [stdout] | ^^^ [INFO] [stdout] 66 | STY(AddrMode), // store Y [INFO] [stdout] | ^^^ [INFO] [stdout] 67 | TAX(AddrMode), // transfer accumulator to X [INFO] [stdout] | ^^^ [INFO] [stdout] 68 | TAY(AddrMode), // transfer accumulator to Y [INFO] [stdout] | ^^^ [INFO] [stdout] 69 | TSX(AddrMode), // transfer stack pointer to X [INFO] [stdout] | ^^^ [INFO] [stdout] 70 | TXA(AddrMode), // transfer X to accumulator [INFO] [stdout] | ^^^ [INFO] [stdout] 71 | TXS(AddrMode), // transfer X to stack pointer [INFO] [stdout] | ^^^ [INFO] [stdout] 72 | TYA(AddrMode), // transfer Y to accumulator [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Op` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Indirect`, `Relative`, and `ZeropageY` are never constructed [INFO] [stdout] --> src/main.rs:83:5 [INFO] [stdout] | [INFO] [stdout] 76 | enum AddrMode { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 83 | Indirect, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | Relative, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | ZeropageY, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AddrMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.05s [INFO] running `Command { std: "docker" "inspect" "fc2895bc6b2684ec52bae6e748510ef72e6747a95aeae6b10d5cfa1d85636bcc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fc2895bc6b2684ec52bae6e748510ef72e6747a95aeae6b10d5cfa1d85636bcc", kill_on_drop: false }` [INFO] [stdout] fc2895bc6b2684ec52bae6e748510ef72e6747a95aeae6b10d5cfa1d85636bcc