[INFO] cloning repository https://github.com/dbousamra/rnes
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dbousamra/rnes" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbousamra%2Frnes", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbousamra%2Frnes'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 728dcb3610f04ec407b175807c32ef57d7c91be9
[INFO] checking dbousamra/rnes against try#e117153a45c546e883c1f91d82611775fcaeffe0 for pr-146470
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbousamra%2Frnes" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dbousamra/rnes
[INFO] finished tweaking git repo https://github.com/dbousamra/rnes
[INFO] tweaked toml for git repo https://github.com/dbousamra/rnes written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dbousamra/rnes on toolchain e117153a45c546e883c1f91d82611775fcaeffe0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dbousamra/rnes 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" "+e117153a45c546e883c1f91d82611775fcaeffe0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking dbousamra/rnes against try#e117153a45c546e883c1f91d82611775fcaeffe0 for pr-146470
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdbousamra%2Frnes" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/dbousamra/rnes
[INFO] finished tweaking git repo https://github.com/dbousamra/rnes
[INFO] tweaked toml for git repo https://github.com/dbousamra/rnes written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/dbousamra/rnes on toolchain e117153a45c546e883c1f91d82611775fcaeffe0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/dbousamra/rnes 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" "+e117153a45c546e883c1f91d82611775fcaeffe0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bitfield v0.13.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f5b0cb11e5762984d78e12e39a045ed6917298341311b13428e5cd3686f056b2
[INFO] running `Command { std: "docker" "start" "-a" "f5b0cb11e5762984d78e12e39a045ed6917298341311b13428e5cd3686f056b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f5b0cb11e5762984d78e12e39a045ed6917298341311b13428e5cd3686f056b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f5b0cb11e5762984d78e12e39a045ed6917298341311b13428e5cd3686f056b2", kill_on_drop: false }`
[INFO] [stdout] f5b0cb11e5762984d78e12e39a045ed6917298341311b13428e5cd3686f056b2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 72b4df6bbf171c87a3790eb95c77adce4c4e02afa136f372d276760c82ffccaa
[INFO] running `Command { std: "docker" "start" "-a" "72b4df6bbf171c87a3790eb95c77adce4c4e02afa136f372d276760c82ffccaa", kill_on_drop: false }`
[INFO] [stderr]     Checking bitfield v0.13.1
[INFO] [stderr]     Checking rnes v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/cpu.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 |     if (debug) {
[INFO] [stdout]    |        ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 53 -     if (debug) {
[INFO] [stdout] 53 +     if debug  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bus.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |   mapper: Box<Mapper>,
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |   mapper: Box<dyn Mapper>,
[INFO] [stdout]   |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/mapper.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | impl Mapper {
[INFO] [stdout]   |      ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 | impl dyn Mapper {
[INFO] [stdout]   |      +++
[INFO] [stdout] help: you might have intended to implement this trait for a given type
[INFO] [stdout]   |
[INFO] [stdout] 9 | impl Mapper for /* Type */ {
[INFO] [stdout]   |             ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mapper.rs:10:43
[INFO] [stdout]    |
[INFO] [stdout] 10 |   pub fn new(cartridge: Cartridge) -> Box<Mapper> {
[INFO] [stdout]    |                                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |   pub fn new(cartridge: Cartridge) -> Box<dyn Mapper> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bus.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mapper = Mapper::new(cartridge);
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mapper = <dyn Mapper>::new(cartridge);
[INFO] [stdout]    |                  ++++       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:336:21
[INFO] [stdout]     |
[INFO] [stdout] 336 |   fn cli(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:577:21
[INFO] [stdout]     |
[INFO] [stdout] 577 |   fn kil(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:622:21
[INFO] [stdout]     |
[INFO] [stdout] 622 |   fn anc(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:626:21
[INFO] [stdout]     |
[INFO] [stdout] 626 |   fn alr(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:630:21
[INFO] [stdout]     |
[INFO] [stdout] 630 |   fn arr(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:634:21
[INFO] [stdout]     |
[INFO] [stdout] 634 |   fn xaa(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:638:21
[INFO] [stdout]     |
[INFO] [stdout] 638 |   fn ahx(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:642:21
[INFO] [stdout]     |
[INFO] [stdout] 642 |   fn tas(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:646:21
[INFO] [stdout]     |
[INFO] [stdout] 646 |   fn shx(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:650:21
[INFO] [stdout]     |
[INFO] [stdout] 650 |   fn shy(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:654:21
[INFO] [stdout]     |
[INFO] [stdout] 654 |   fn las(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:658:21
[INFO] [stdout]     |
[INFO] [stdout] 658 |   fn axs(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]    --> src/cpu.rs:737:25
[INFO] [stdout]     |
[INFO] [stdout] 737 |   fn illegal(&mut self, opcode: Opcode) -> () {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/opcode.rs:372:7
[INFO] [stdout]     |
[INFO] [stdout] 372 |       _ => panic!("0x{:X} is not a known opcode", raw),
[INFO] [stdout]     |       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/opcode.rs:372:7
[INFO] [stdout]     |
[INFO] [stdout] 114 |       0x69 => (Mnemonic::ADC, AddressMode::Immediate, 2, 2, 0),
[INFO] [stdout]     |       ---- matches some of the same values
[INFO] [stdout] 115 |       0x65 => (Mnemonic::ADC, AddressMode::ZeroPage, 2, 3, 0),
[INFO] [stdout]     |       ---- matches some of the same values
[INFO] [stdout] 116 |       0x75 => (Mnemonic::ADC, AddressMode::ZeroPageX, 2, 4, 0),
[INFO] [stdout]     |       ---- matches some of the same values
[INFO] [stdout] 117 |       0x6D => (Mnemonic::ADC, AddressMode::Absolute, 3, 4, 0),
[INFO] [stdout]     |       ---- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 372 |       _ => panic!("0x{:X} is not a known opcode", raw),
[INFO] [stdout]     |       ^ ...and 252 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: unused variable: `address`
[INFO] [stdout]   --> src/ppu.rs:70:31
[INFO] [stdout]    |
[INFO] [stdout] 70 |   fn read_oam_data(&mut self, address: u16) -> u8 {
[INFO] [stdout]    |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> src/ppu.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |   fn read_data(&mut self, address: u16) -> u8 {
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hi`
[INFO] [stdout]  --> src/util.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |   let (lo, hi) = split_word(value);
[INFO] [stdout]   |            ^^ help: if this is intentional, prefix it with an underscore: `_hi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Unused` and `Break` are never constructed
[INFO] [stdout]   --> src/cpu.rs:9:3
[INFO] [stdout]    |
[INFO] [stdout]  6 | enum Flag {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  9 |   Unused = 2,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 10 |   Break = 3,
[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 `kil` is never used
[INFO] [stdout]    --> src/cpu.rs:577:6
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl Cpu {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 577 |   fn kil(&mut self, address: u16) -> () {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/cpu.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 |     if (debug) {
[INFO] [stdout]    |        ^     ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 53 -     if (debug) {
[INFO] [stdout] 53 +     if debug  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bus.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |   mapper: Box<Mapper>,
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |   mapper: Box<dyn Mapper>,
[INFO] [stdout]   |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/mapper.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | impl Mapper {
[INFO] [stdout]   |      ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 | impl dyn Mapper {
[INFO] [stdout]   |      +++
[INFO] [stdout] help: you might have intended to implement this trait for a given type
[INFO] [stdout]   |
[INFO] [stdout] 9 | impl Mapper for /* Type */ {
[INFO] [stdout]   |             ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mapper.rs:10:43
[INFO] [stdout]    |
[INFO] [stdout] 10 |   pub fn new(cartridge: Cartridge) -> Box<Mapper> {
[INFO] [stdout]    |                                           ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |   pub fn new(cartridge: Cartridge) -> Box<dyn Mapper> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bus.rs:14:18
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mapper = Mapper::new(cartridge);
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mapper = <dyn Mapper>::new(cartridge);
[INFO] [stdout]    |                  ++++       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:336:21
[INFO] [stdout]     |
[INFO] [stdout] 336 |   fn cli(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:577:21
[INFO] [stdout]     |
[INFO] [stdout] 577 |   fn kil(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:622:21
[INFO] [stdout]     |
[INFO] [stdout] 622 |   fn anc(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:626:21
[INFO] [stdout]     |
[INFO] [stdout] 626 |   fn alr(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:630:21
[INFO] [stdout]     |
[INFO] [stdout] 630 |   fn arr(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:634:21
[INFO] [stdout]     |
[INFO] [stdout] 634 |   fn xaa(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:638:21
[INFO] [stdout]     |
[INFO] [stdout] 638 |   fn ahx(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:642:21
[INFO] [stdout]     |
[INFO] [stdout] 642 |   fn tas(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:646:21
[INFO] [stdout]     |
[INFO] [stdout] 646 |   fn shx(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:650:21
[INFO] [stdout]     |
[INFO] [stdout] 650 |   fn shy(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:654:21
[INFO] [stdout]     |
[INFO] [stdout] 654 |   fn las(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]    --> src/cpu.rs:658:21
[INFO] [stdout]     |
[INFO] [stdout] 658 |   fn axs(&mut self, address: u16) -> () {
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opcode`
[INFO] [stdout]    --> src/cpu.rs:737:25
[INFO] [stdout]     |
[INFO] [stdout] 737 |   fn illegal(&mut self, opcode: Opcode) -> () {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/opcode.rs:372:7
[INFO] [stdout]     |
[INFO] [stdout] 372 |       _ => panic!("0x{:X} is not a known opcode", raw),
[INFO] [stdout]     |       ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/opcode.rs:372:7
[INFO] [stdout]     |
[INFO] [stdout] 114 |       0x69 => (Mnemonic::ADC, AddressMode::Immediate, 2, 2, 0),
[INFO] [stdout]     |       ---- matches some of the same values
[INFO] [stdout] 115 |       0x65 => (Mnemonic::ADC, AddressMode::ZeroPage, 2, 3, 0),
[INFO] [stdout]     |       ---- matches some of the same values
[INFO] [stdout] 116 |       0x75 => (Mnemonic::ADC, AddressMode::ZeroPageX, 2, 4, 0),
[INFO] [stdout]     |       ---- matches some of the same values
[INFO] [stdout] 117 |       0x6D => (Mnemonic::ADC, AddressMode::Absolute, 3, 4, 0),
[INFO] [stdout]     |       ---- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 372 |       _ => panic!("0x{:X} is not a known opcode", raw),
[INFO] [stdout]     |       ^ ...and 252 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: unused variable: `address`
[INFO] [stdout]   --> src/ppu.rs:70:31
[INFO] [stdout]    |
[INFO] [stdout] 70 |   fn read_oam_data(&mut self, address: u16) -> u8 {
[INFO] [stdout]    |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> src/ppu.rs:74:27
[INFO] [stdout]    |
[INFO] [stdout] 74 |   fn read_data(&mut self, address: u16) -> u8 {
[INFO] [stdout]    |                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hi`
[INFO] [stdout]  --> src/util.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |   let (lo, hi) = split_word(value);
[INFO] [stdout]   |            ^^ help: if this is intentional, prefix it with an underscore: `_hi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Unused` and `Break` are never constructed
[INFO] [stdout]   --> src/cpu.rs:9:3
[INFO] [stdout]    |
[INFO] [stdout]  6 | enum Flag {
[INFO] [stdout]    |      ---- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  9 |   Unused = 2,
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 10 |   Break = 3,
[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 `kil` is never used
[INFO] [stdout]    --> src/cpu.rs:577:6
[INFO] [stdout]     |
[INFO] [stdout]  28 | impl Cpu {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 577 |   fn kil(&mut self, address: u16) -> () {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.57s
[INFO] running `Command { std: "docker" "inspect" "72b4df6bbf171c87a3790eb95c77adce4c4e02afa136f372d276760c82ffccaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "72b4df6bbf171c87a3790eb95c77adce4c4e02afa136f372d276760c82ffccaa", kill_on_drop: false }`
[INFO] [stdout] 72b4df6bbf171c87a3790eb95c77adce4c4e02afa136f372d276760c82ffccaa
