[INFO] updating cached repository https://github.com/cafeclimber/GadgetNES
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 683b6e29ed51b65db4afad1d131ef0797a0e9799
[INFO] checking cafeclimber/GadgetNES against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcafeclimber%2FGadgetNES" "/workspace/builds/worker-9/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-9/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/cafeclimber/GadgetNES on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/cafeclimber/GadgetNES
[INFO] finished tweaking git repo https://github.com/cafeclimber/GadgetNES
[INFO] tweaked toml for git repo https://github.com/cafeclimber/GadgetNES written to /workspace/builds/worker-9/source/Cargo.toml
[INFO] crate git repo https://github.com/cafeclimber/GadgetNES already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-9/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 3ce9ce696845b4f91e35deac07c3882fb00f4815590a9cca3295740e54e3540f
[INFO] running `"docker" "start" "-a" "3ce9ce696845b4f91e35deac07c3882fb00f4815590a9cca3295740e54e3540f"`
[INFO] [stderr]     Checking num-traits v0.2.2
[INFO] [stderr]     Checking memchr v1.0.2
[INFO] [stderr]     Checking atty v0.2.8
[INFO] [stderr]     Checking nom v3.2.1
[INFO] [stderr]     Checking clap v2.31.2
[INFO] [stderr]     Checking num-integer v0.1.36
[INFO] [stderr]     Checking num-iter v0.1.35
[INFO] [stderr]     Checking num v0.1.42
[INFO] [stderr]     Checking sdl2 v0.31.0
[INFO] [stderr]     Checking gadget_nes v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/cpu.rs:25:1
[INFO] [stderr]    |
[INFO] [stderr] 25 | / bitflags! {
[INFO] [stderr] 26 | |     #[derive(Default)]
[INFO] [stderr] 27 | |     struct ProcessorFlags: u8 {
[INFO] [stderr] 28 | |         const CARRY      = 0b00000001;
[INFO] [stderr] ...  |
[INFO] [stderr] 36 | |     }
[INFO] [stderr] 37 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/cpu.rs:25:1
[INFO] [stderr]    |
[INFO] [stderr] 25 | / bitflags! {
[INFO] [stderr] 26 | |     #[derive(Default)]
[INFO] [stderr] 27 | |     struct ProcessorFlags: u8 {
[INFO] [stderr] 28 | |         const CARRY      = 0b00000001;
[INFO] [stderr] ...  |
[INFO] [stderr] 36 | |     }
[INFO] [stderr] 37 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/cpu.rs:25:1
[INFO] [stderr]    |
[INFO] [stderr] 25 | / bitflags! {
[INFO] [stderr] 26 | |     #[derive(Default)]
[INFO] [stderr] 27 | |     struct ProcessorFlags: u8 {
[INFO] [stderr] 28 | |         const CARRY      = 0b00000001;
[INFO] [stderr] ...  |
[INFO] [stderr] 36 | |     }
[INFO] [stderr] 37 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:39:1
[INFO] [stderr]    |
[INFO] [stderr] 39 | / bitflags! {
[INFO] [stderr] 40 | |     #[derive(Default)]
[INFO] [stderr] 41 | |     struct PpuCtrl: u8 {
[INFO] [stderr] 42 | |         const NAMETABLE           = 0b00000011;
[INFO] [stderr] ...  |
[INFO] [stderr] 49 | |     }
[INFO] [stderr] 50 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:39:1
[INFO] [stderr]    |
[INFO] [stderr] 39 | / bitflags! {
[INFO] [stderr] 40 | |     #[derive(Default)]
[INFO] [stderr] 41 | |     struct PpuCtrl: u8 {
[INFO] [stderr] 42 | |         const NAMETABLE           = 0b00000011;
[INFO] [stderr] ...  |
[INFO] [stderr] 49 | |     }
[INFO] [stderr] 50 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:39:1
[INFO] [stderr]    |
[INFO] [stderr] 39 | / bitflags! {
[INFO] [stderr] 40 | |     #[derive(Default)]
[INFO] [stderr] 41 | |     struct PpuCtrl: u8 {
[INFO] [stderr] 42 | |         const NAMETABLE           = 0b00000011;
[INFO] [stderr] ...  |
[INFO] [stderr] 49 | |     }
[INFO] [stderr] 50 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:52:1
[INFO] [stderr]    |
[INFO] [stderr] 52 | / bitflags! {
[INFO] [stderr] 53 | |     #[derive(Default)]
[INFO] [stderr] 54 | |     struct PpuMask: u8 {
[INFO] [stderr] 55 | |         const GREYSCALE        = 0b00000001;
[INFO] [stderr] ...  |
[INFO] [stderr] 63 | |     }
[INFO] [stderr] 64 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:52:1
[INFO] [stderr]    |
[INFO] [stderr] 52 | / bitflags! {
[INFO] [stderr] 53 | |     #[derive(Default)]
[INFO] [stderr] 54 | |     struct PpuMask: u8 {
[INFO] [stderr] 55 | |         const GREYSCALE        = 0b00000001;
[INFO] [stderr] ...  |
[INFO] [stderr] 63 | |     }
[INFO] [stderr] 64 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:52:1
[INFO] [stderr]    |
[INFO] [stderr] 52 | / bitflags! {
[INFO] [stderr] 53 | |     #[derive(Default)]
[INFO] [stderr] 54 | |     struct PpuMask: u8 {
[INFO] [stderr] 55 | |         const GREYSCALE        = 0b00000001;
[INFO] [stderr] ...  |
[INFO] [stderr] 63 | |     }
[INFO] [stderr] 64 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:66:1
[INFO] [stderr]    |
[INFO] [stderr] 66 | / bitflags! {
[INFO] [stderr] 67 | |     #[derive(Default)]
[INFO] [stderr] 68 | |     struct PpuStatus: u8 {
[INFO] [stderr] 69 | |         const LAST_WRITTEN_BITS = 0b00011111;
[INFO] [stderr] ...  |
[INFO] [stderr] 73 | |     }
[INFO] [stderr] 74 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:66:1
[INFO] [stderr]    |
[INFO] [stderr] 66 | / bitflags! {
[INFO] [stderr] 67 | |     #[derive(Default)]
[INFO] [stderr] 68 | |     struct PpuStatus: u8 {
[INFO] [stderr] 69 | |         const LAST_WRITTEN_BITS = 0b00011111;
[INFO] [stderr] ...  |
[INFO] [stderr] 73 | |     }
[INFO] [stderr] 74 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:66:1
[INFO] [stderr]    |
[INFO] [stderr] 66 | / bitflags! {
[INFO] [stderr] 67 | |     #[derive(Default)]
[INFO] [stderr] 68 | |     struct PpuStatus: u8 {
[INFO] [stderr] 69 | |         const LAST_WRITTEN_BITS = 0b00011111;
[INFO] [stderr] ...  |
[INFO] [stderr] 73 | |     }
[INFO] [stderr] 74 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sdl2::pixels::PixelFormatEnum::RGB24`
[INFO] [stderr]   --> src/main.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use sdl2::pixels::PixelFormatEnum::RGB24;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TextureCreator`, `Texture`
[INFO] [stderr]   --> src/main.rs:13:20
[INFO] [stderr]    |
[INFO] [stderr] 13 | use sdl2::render::{Texture, TextureCreator};
[INFO] [stderr]    |                    ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/cart.rs:7:17
[INFO] [stderr]   |
[INFO] [stderr] 7 |     mapper: Box<Mapper>,
[INFO] [stderr]   |                 ^^^^^^ help: use `dyn`: `dyn Mapper`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/cpu.rs:260:16
[INFO] [stderr]     |
[INFO] [stderr] 260 |             0x0...0x07FF => self.ram[addr as usize],
[INFO] [stderr]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/cpu.rs:261:19
[INFO] [stderr]     |
[INFO] [stderr] 261 |             0x0800...0x1FFF => self.ram[(addr % 0x0800) as usize],
[INFO] [stderr]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/cpu.rs:262:19
[INFO] [stderr]     |
[INFO] [stderr] 262 |             0x2000...0xFFFF => interconnect.read_byte(addr),
[INFO] [stderr]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/cpu.rs:274:16
[INFO] [stderr]     |
[INFO] [stderr] 274 |             0x0...0x07FF => self.ram[addr as usize] = val,
[INFO] [stderr]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/cpu.rs:275:19
[INFO] [stderr]     |
[INFO] [stderr] 275 |             0x0800...0x1FFF => self.ram[(addr % 0x0800) as usize] = val,
[INFO] [stderr]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/cpu.rs:276:19
[INFO] [stderr]     |
[INFO] [stderr] 276 |             0x2000...0xFFFF => interconnect.write_byte(addr, val),
[INFO] [stderr]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:25:19
[INFO] [stderr]    |
[INFO] [stderr] 25 |             0x2000...0x2007 => unimplemented!(), // PPU registers
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:26:19
[INFO] [stderr]    |
[INFO] [stderr] 26 |             0x2008...0x3FFF => unimplemented!(), // PPU register mirrors
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:27:19
[INFO] [stderr]    |
[INFO] [stderr] 27 |             0x4000...0x4017 => unimplemented!(), // APU registers
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:28:19
[INFO] [stderr]    |
[INFO] [stderr] 28 |             0x4018...0x401F => panic!("These registers are disabled during normal operation"),
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:29:19
[INFO] [stderr]    |
[INFO] [stderr] 29 |             0x4020...0xFFFF => self.cart.prg_read(addr),
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:36:19
[INFO] [stderr]    |
[INFO] [stderr] 36 |             0x2000...0x2007 => unimplemented!(), // PPU registers
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:37:19
[INFO] [stderr]    |
[INFO] [stderr] 37 |             0x2008...0x3FFF => unimplemented!(), // PPU register mirrors
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:38:19
[INFO] [stderr]    |
[INFO] [stderr] 38 |             0x4000...0x4017 => unimplemented!(), // APU registers
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:39:19
[INFO] [stderr]    |
[INFO] [stderr] 39 |             0x4018...0x401F => panic!("These registers are disabled during normal operation"),
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:40:19
[INFO] [stderr]    |
[INFO] [stderr] 40 |             0x4020...0xFFFF => self.cart.prg_write(addr, val),
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> src/nes.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::sdl2::Sdl`
[INFO] [stderr]   --> src/nes.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use super::sdl2::Sdl;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/nes.rs:70:31
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub fn step(&mut self) -> (u8) {
[INFO] [stderr]    |                               ^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> src/nes.rs:73:9
[INFO] [stderr]    |
[INFO] [stderr] 73 |         (opcode)
[INFO] [stderr]    |         ^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/cpu.rs:25:1
[INFO] [stderr]    |
[INFO] [stderr] 25 | / bitflags! {
[INFO] [stderr] 26 | |     #[derive(Default)]
[INFO] [stderr] 27 | |     struct ProcessorFlags: u8 {
[INFO] [stderr] 28 | |         const CARRY      = 0b00000001;
[INFO] [stderr] ...  |
[INFO] [stderr] 36 | |     }
[INFO] [stderr] 37 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/cpu.rs:25:1
[INFO] [stderr]    |
[INFO] [stderr] 25 | / bitflags! {
[INFO] [stderr] 26 | |     #[derive(Default)]
[INFO] [stderr] 27 | |     struct ProcessorFlags: u8 {
[INFO] [stderr] 28 | |         const CARRY      = 0b00000001;
[INFO] [stderr] ...  |
[INFO] [stderr] 36 | |     }
[INFO] [stderr] 37 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/cpu.rs:25:1
[INFO] [stderr]    |
[INFO] [stderr] 25 | / bitflags! {
[INFO] [stderr] 26 | |     #[derive(Default)]
[INFO] [stderr] 27 | |     struct ProcessorFlags: u8 {
[INFO] [stderr] 28 | |         const CARRY      = 0b00000001;
[INFO] [stderr] ...  |
[INFO] [stderr] 36 | |     }
[INFO] [stderr] 37 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:39:1
[INFO] [stderr]    |
[INFO] [stderr] 39 | / bitflags! {
[INFO] [stderr] 40 | |     #[derive(Default)]
[INFO] [stderr] 41 | |     struct PpuCtrl: u8 {
[INFO] [stderr] 42 | |         const NAMETABLE           = 0b00000011;
[INFO] [stderr] ...  |
[INFO] [stderr] 49 | |     }
[INFO] [stderr] 50 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:39:1
[INFO] [stderr]    |
[INFO] [stderr] 39 | / bitflags! {
[INFO] [stderr] 40 | |     #[derive(Default)]
[INFO] [stderr] 41 | |     struct PpuCtrl: u8 {
[INFO] [stderr] 42 | |         const NAMETABLE           = 0b00000011;
[INFO] [stderr] ...  |
[INFO] [stderr] 49 | |     }
[INFO] [stderr] 50 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:39:1
[INFO] [stderr]    |
[INFO] [stderr] 39 | / bitflags! {
[INFO] [stderr] 40 | |     #[derive(Default)]
[INFO] [stderr] 41 | |     struct PpuCtrl: u8 {
[INFO] [stderr] 42 | |         const NAMETABLE           = 0b00000011;
[INFO] [stderr] ...  |
[INFO] [stderr] 49 | |     }
[INFO] [stderr] 50 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:52:1
[INFO] [stderr]    |
[INFO] [stderr] 52 | / bitflags! {
[INFO] [stderr] 53 | |     #[derive(Default)]
[INFO] [stderr] 54 | |     struct PpuMask: u8 {
[INFO] [stderr] 55 | |         const GREYSCALE        = 0b00000001;
[INFO] [stderr] ...  |
[INFO] [stderr] 63 | |     }
[INFO] [stderr] 64 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:52:1
[INFO] [stderr]    |
[INFO] [stderr] 52 | / bitflags! {
[INFO] [stderr] 53 | |     #[derive(Default)]
[INFO] [stderr] 54 | |     struct PpuMask: u8 {
[INFO] [stderr] 55 | |         const GREYSCALE        = 0b00000001;
[INFO] [stderr] ...  |
[INFO] [stderr] 63 | |     }
[INFO] [stderr] 64 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:52:1
[INFO] [stderr]    |
[INFO] [stderr] 52 | / bitflags! {
[INFO] [stderr] 53 | |     #[derive(Default)]
[INFO] [stderr] 54 | |     struct PpuMask: u8 {
[INFO] [stderr] 55 | |         const GREYSCALE        = 0b00000001;
[INFO] [stderr] ...  |
[INFO] [stderr] 63 | |     }
[INFO] [stderr] 64 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:66:1
[INFO] [stderr]    |
[INFO] [stderr] 66 | / bitflags! {
[INFO] [stderr] 67 | |     #[derive(Default)]
[INFO] [stderr] 68 | |     struct PpuStatus: u8 {
[INFO] [stderr] 69 | |         const LAST_WRITTEN_BITS = 0b00011111;
[INFO] [stderr] ...  |
[INFO] [stderr] 73 | |     }
[INFO] [stderr] 74 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:66:1
[INFO] [stderr]    |
[INFO] [stderr] 66 | / bitflags! {
[INFO] [stderr] 67 | |     #[derive(Default)]
[INFO] [stderr] 68 | |     struct PpuStatus: u8 {
[INFO] [stderr] 69 | |         const LAST_WRITTEN_BITS = 0b00011111;
[INFO] [stderr] ...  |
[INFO] [stderr] 73 | |     }
[INFO] [stderr] 74 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/ppu.rs:66:1
[INFO] [stderr]    |
[INFO] [stderr] 66 | / bitflags! {
[INFO] [stderr] 67 | |     #[derive(Default)]
[INFO] [stderr] 68 | |     struct PpuStatus: u8 {
[INFO] [stderr] 69 | |         const LAST_WRITTEN_BITS = 0b00011111;
[INFO] [stderr] ...  |
[INFO] [stderr] 73 | |     }
[INFO] [stderr] 74 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `sdl2::pixels::PixelFormatEnum::RGB24`
[INFO] [stderr]   --> src/main.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use sdl2::pixels::PixelFormatEnum::RGB24;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `TextureCreator`, `Texture`
[INFO] [stderr]   --> src/main.rs:13:20
[INFO] [stderr]    |
[INFO] [stderr] 13 | use sdl2::render::{Texture, TextureCreator};
[INFO] [stderr]    |                    ^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/cart.rs:7:17
[INFO] [stderr]   |
[INFO] [stderr] 7 |     mapper: Box<Mapper>,
[INFO] [stderr]   |                 ^^^^^^ help: use `dyn`: `dyn Mapper`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/cpu.rs:260:16
[INFO] [stderr]     |
[INFO] [stderr] 260 |             0x0...0x07FF => self.ram[addr as usize],
[INFO] [stderr]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/cpu.rs:261:19
[INFO] [stderr]     |
[INFO] [stderr] 261 |             0x0800...0x1FFF => self.ram[(addr % 0x0800) as usize],
[INFO] [stderr]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/cpu.rs:262:19
[INFO] [stderr]     |
[INFO] [stderr] 262 |             0x2000...0xFFFF => interconnect.read_byte(addr),
[INFO] [stderr]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/cpu.rs:274:16
[INFO] [stderr]     |
[INFO] [stderr] 274 |             0x0...0x07FF => self.ram[addr as usize] = val,
[INFO] [stderr]     |                ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/cpu.rs:275:19
[INFO] [stderr]     |
[INFO] [stderr] 275 |             0x0800...0x1FFF => self.ram[(addr % 0x0800) as usize] = val,
[INFO] [stderr]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/cpu.rs:276:19
[INFO] [stderr]     |
[INFO] [stderr] 276 |             0x2000...0xFFFF => interconnect.write_byte(addr, val),
[INFO] [stderr]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:25:19
[INFO] [stderr]    |
[INFO] [stderr] 25 |             0x2000...0x2007 => unimplemented!(), // PPU registers
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:26:19
[INFO] [stderr]    |
[INFO] [stderr] 26 |             0x2008...0x3FFF => unimplemented!(), // PPU register mirrors
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:27:19
[INFO] [stderr]    |
[INFO] [stderr] 27 |             0x4000...0x4017 => unimplemented!(), // APU registers
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:28:19
[INFO] [stderr]    |
[INFO] [stderr] 28 |             0x4018...0x401F => panic!("These registers are disabled during normal operation"),
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:29:19
[INFO] [stderr]    |
[INFO] [stderr] 29 |             0x4020...0xFFFF => self.cart.prg_read(addr),
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:36:19
[INFO] [stderr]    |
[INFO] [stderr] 36 |             0x2000...0x2007 => unimplemented!(), // PPU registers
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:37:19
[INFO] [stderr]    |
[INFO] [stderr] 37 |             0x2008...0x3FFF => unimplemented!(), // PPU register mirrors
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:38:19
[INFO] [stderr]    |
[INFO] [stderr] 38 |             0x4000...0x4017 => unimplemented!(), // APU registers
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:39:19
[INFO] [stderr]    |
[INFO] [stderr] 39 |             0x4018...0x401F => panic!("These registers are disabled during normal operation"),
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/interconnect.rs:40:19
[INFO] [stderr]    |
[INFO] [stderr] 40 |             0x4020...0xFFFF => self.cart.prg_write(addr, val),
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> src/nes.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::sdl2::Sdl`
[INFO] [stderr]   --> src/nes.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use super::sdl2::Sdl;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/nes.rs:70:31
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub fn step(&mut self) -> (u8) {
[INFO] [stderr]    |                               ^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]   --> src/nes.rs:73:9
[INFO] [stderr]    |
[INFO] [stderr] 73 |         (opcode)
[INFO] [stderr]    |         ^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/nes.rs:72:65
[INFO] [stderr]    |
[INFO] [stderr] 72 |         self.interconnect.ppu.step(&mut self.interconnect.cart, self.cpu.cycles()); 
[INFO] [stderr]    |                                                                 ^^^^^^^^^^^^^^^^^ expected `u8`, found `usize`
[INFO] [stderr]    |
[INFO] [stderr] help: you can convert an `usize` to `u8` and panic if the converted value wouldn't fit
[INFO] [stderr]    |
[INFO] [stderr] 72 |         self.interconnect.ppu.step(&mut self.interconnect.cart, self.cpu.cycles().try_into().unwrap()); 
[INFO] [stderr]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]   --> src/nes.rs:72:65
[INFO] [stderr]    |
[INFO] [stderr] 72 |         self.interconnect.ppu.step(&mut self.interconnect.cart, self.cpu.cycles()); 
[INFO] [stderr]    |                                                                 ^^^^^^^^^^^^^^^^^ expected `u8`, found `usize`
[INFO] [stderr]    |
[INFO] [stderr] help: you can convert an `usize` to `u8` and panic if the converted value wouldn't fit
[INFO] [stderr]    |
[INFO] [stderr] 72 |         self.interconnect.ppu.step(&mut self.interconnect.cart, self.cpu.cycles().try_into().unwrap()); 
[INFO] [stderr]    |                                                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0308`.
[INFO] [stderr] error: could not compile `gadget_nes`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0308`.
[INFO] [stderr] error: could not compile `gadget_nes`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "3ce9ce696845b4f91e35deac07c3882fb00f4815590a9cca3295740e54e3540f"`
[INFO] running `"docker" "rm" "-f" "3ce9ce696845b4f91e35deac07c3882fb00f4815590a9cca3295740e54e3540f"`
[INFO] [stdout] 3ce9ce696845b4f91e35deac07c3882fb00f4815590a9cca3295740e54e3540f
