[INFO] cloning repository https://github.com/brad-rathke/pretendo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/brad-rathke/pretendo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrad-rathke%2Fpretendo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrad-rathke%2Fpretendo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9632518afb0a1f8f8805540f7e02edbbfd899d9f
[INFO] testing brad-rathke/pretendo against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbrad-rathke%2Fpretendo" "/workspace/builds/worker-13/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/brad-rathke/pretendo on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/brad-rathke/pretendo
[INFO] finished tweaking git repo https://github.com/brad-rathke/pretendo
[INFO] tweaked toml for git repo https://github.com/brad-rathke/pretendo written to /workspace/builds/worker-13/source/Cargo.toml
[INFO] crate git repo https://github.com/brad-rathke/pretendo already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 30e3110537636c44daf19a4ccf3313d9c9cd30487e91edd73aa625dff434bc5a
[INFO] running `Command { std: "docker" "start" "-a" "30e3110537636c44daf19a4ccf3313d9c9cd30487e91edd73aa625dff434bc5a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "30e3110537636c44daf19a4ccf3313d9c9cd30487e91edd73aa625dff434bc5a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "30e3110537636c44daf19a4ccf3313d9c9cd30487e91edd73aa625dff434bc5a", kill_on_drop: false }`
[INFO] [stdout] 30e3110537636c44daf19a4ccf3313d9c9cd30487e91edd73aa625dff434bc5a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b49c7e9697630022815172b05d6f1cd136bf15d1744829189ed92b5244233ffc
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "b49c7e9697630022815172b05d6f1cd136bf15d1744829189ed92b5244233ffc", kill_on_drop: false }`
[INFO] [stderr]    Compiling quick-error v1.1.0
[INFO] [stderr]    Compiling pretendo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/rom.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         try!(file.read(&mut header));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/rom.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |             try!(file.read(&mut rom.trainer));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/rom.rs:160:13
[INFO] [stdout]     |
[INFO] [stdout] 160 |             try!(file.read(&mut buf));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/rom.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |             try!(file.read(&mut buf));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/nes/cpu.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout] 7  | / bitflags!{
[INFO] [stdout] 8  | |     flags StatusFlags: u8 {
[INFO] [stdout] 9  | |         const C_FLAG = 0b00000001,
[INFO] [stdout] 10 | |         const Z_FLAG = 0b00000010,
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | |     }
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/nes/cpu.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout] 7  | / bitflags!{
[INFO] [stdout] 8  | |     flags StatusFlags: u8 {
[INFO] [stdout] 9  | |         const C_FLAG = 0b00000001,
[INFO] [stdout] 10 | |         const Z_FLAG = 0b00000010,
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | |     }
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/nes/cpu.rs:65:22
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let opcode = try!(self.read_byte(pc));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/nes/cpu.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let res = try!(self.read_byte(pc));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/nes/cpu.rs:94:23
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let lo: u16 = try!(self.read_byte(addr)) as u16;
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/nes/cpu.rs:95:23
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let hi: u16 = try!(self.read_byte(addr + 1)) as u16;
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:103:18
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let lo = try!(self.read_pc_byte());
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:104:18
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let hi = try!(self.read_pc_byte());
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:314:44
[INFO] [stdout]     |
[INFO] [stdout] 314 |             AddressMode::ZeroPageIndexX => try!(self.read_pc_byte()) as u16 + (self.X as u16),
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:316:44
[INFO] [stdout]     |
[INFO] [stdout] 316 |             AddressMode::ZeroPageIndexY => try!(self.read_pc_byte()) as u16 + (self.Y as u16),
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:319:31
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 let pc_addr = try!(self.read_pc_addr());
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:326:31
[INFO] [stdout]     |
[INFO] [stdout] 326 |                 let pc_addr = try!(self.read_pc_addr());
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:333:37
[INFO] [stdout]     |
[INFO] [stdout] 333 |                 let indirect: u16 = try!(self.read_pc_byte()) as u16 + (self.X as u16);
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 334 |                 try!(self.read_addr(indirect))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:338:37
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 let indirect: u16 = try!(self.read_pc_byte()) as u16;
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:339:32
[INFO] [stdout]     |
[INFO] [stdout] 339 |                 let ind_addr = try!(self.read_addr(indirect));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:351:17
[INFO] [stdout]     |
[INFO] [stdout] 351 |                 try!(self.read_pc_byte()) as u16
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:354:38
[INFO] [stdout]     |
[INFO] [stdout] 354 |             AddressMode::Absolute => try!(self.read_pc_addr()) as u16,
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:357:37
[INFO] [stdout]     |
[INFO] [stdout] 357 |                 let indirect: u16 = try!(self.read_pc_addr()) as u16;
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:358:17
[INFO] [stdout]     |
[INFO] [stdout] 358 |                 try!(self.read_addr(indirect)) as u16
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:394:67
[INFO] [stdout]     |
[INFO] [stdout] 394 |                     OpCode::LSR | OpCode::ROL | OpCode::ROR => Ok(try!(self.read_byte(addr))),
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |         try!(self.push_stack((addr >> 8) as u8));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |         try!(self.push_stack((addr & 0xFF) as u8));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:435:30
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let (addr, cycles) = try!(self.instr_address_info(&instruction));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:443:21
[INFO] [stdout]     |
[INFO] [stdout] 443 |         let m: u8 = try!(self.instr_ram_read(addr, &instruction));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:451:27
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 self.PC = try!(self.read_addr(0xFFFE));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:465:22
[INFO] [stdout]     |
[INFO] [stdout] 465 |         let opcode = try!(self.fetch());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:466:21
[INFO] [stdout]     |
[INFO] [stdout] 466 |         let instr = try!(self.decode(opcode));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/nes/mod.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |             try!(self.cpu.step())
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rom.rs:130:28
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn load(file: &mut Read) -> Result<Rom, RomLoadError> {
[INFO] [stdout]     |                            ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nes::memmap::MemoryMap`
[INFO] [stdout]  --> src/nes/ppu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nes::memmap::MemoryMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `vRAM` should have an upper camel case name
[INFO] [stdout]   --> src/nes/ppu.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct vRAM {
[INFO] [stdout]    |            ^^^^ help: convert the identifier to upper camel case: `VRam`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/nes/memmap.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub rom: Box<Mapper>,
[INFO] [stdout]    |                  ^^^^^^ help: use `dyn`: `dyn Mapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/nes/memmap.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let bx: Box<Mapper> = match rom.header.mapper() {
[INFO] [stdout]    |                     ^^^^^^ help: use `dyn`: `dyn Mapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/memmap.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |             0x0000...0x1FFF => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/memmap.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 |             0x2000...0x3FFF => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/memmap.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |             0x4000...0x4017 => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/memmap.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |             0x4018...0x401F => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/memmap.rs:93:19
[INFO] [stdout]    |
[INFO] [stdout] 93 |             0x4020...0xFFFF => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/memmap.rs:105:19
[INFO] [stdout]     |
[INFO] [stdout] 105 |             0x0000...0x1FFF => {
[INFO] [stdout]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mapper.rs:73:14
[INFO] [stdout]    |
[INFO] [stdout] 73 |             0...0x8000 => 0u8,
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mapper.rs:75:19
[INFO] [stdout]    |
[INFO] [stdout] 75 |             0x8000...0xc000 => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/mapper.rs:118:23
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 0x0000...0xa000 => self.control = MMC1CtrlReg { val: self.load },
[INFO] [stdout]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/mapper.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 0xa000...0xc000 => self.chr_bank_0 = self.load,
[INFO] [stdout]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/mapper.rs:120:23
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 0xc000...0xe000 => self.chr_bank_1 = self.load,
[INFO] [stdout]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nes::error::NESError::*`
[INFO] [stdout]   --> src/nes/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use nes::error::NESError::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nes::mapper::*`
[INFO] [stdout]   --> src/nes/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use nes::mapper::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rom::RomLoadError`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rom::RomLoadError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/nes/memmap.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |             _ => Err(AddressNotMapped),
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns covering the same range
[INFO] [stdout]   --> src/nes/mapper.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |             0...0x8000 => 0u8,
[INFO] [stdout]    |             ---------- this range overlaps on `32768_u16`
[INFO] [stdout] 74 | 
[INFO] [stdout] 75 |             0x8000...0xc000 => {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ overlapping patterns
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(overlapping_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns covering the same range
[INFO] [stdout]    --> src/nes/mapper.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 0x0000...0xa000 => self.control = MMC1CtrlReg { val: self.load },
[INFO] [stdout]     |                 --------------- this range overlaps on `40960_u16`
[INFO] [stdout] 119 |                 0xa000...0xc000 => self.chr_bank_0 = self.load,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ overlapping patterns
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns covering the same range
[INFO] [stdout]    --> src/nes/mapper.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 0xa000...0xc000 => self.chr_bank_0 = self.load,
[INFO] [stdout]     |                 --------------- this range overlaps on `49152_u16`
[INFO] [stdout] 120 |                 0xc000...0xe000 => self.chr_bank_1 = self.load,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ overlapping patterns
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/nes/cpu.rs:411:17
[INFO] [stdout]     |
[INFO] [stdout] 411 |             Err(e) => Err(StackOverflow(self.PC)),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/nes/cpu.rs:438:13
[INFO] [stdout]     |
[INFO] [stdout] 438 |         let a: u8 = self.A;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/nes/cpu.rs:439:13
[INFO] [stdout]     |
[INFO] [stdout] 439 |         let x: u8 = self.X;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/nes/cpu.rs:440:13
[INFO] [stdout]     |
[INFO] [stdout] 440 |         let y: u8 = self.Y;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/nes/cpu.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 |         let s: u8 = self.S;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/nes/cpu.rs:443:13
[INFO] [stdout]     |
[INFO] [stdout] 443 |         let m: u8 = try!(self.instr_ram_read(addr, &instruction));
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/nes/cpu.rs:444:13
[INFO] [stdout]     |
[INFO] [stdout] 444 |         let mut res: u8 = 0;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/nes/memmap.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn store_byte(&mut self, addr: u16, val: u8) -> Result<(), MemoryError> {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/nes/memmap.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn store_byte(&mut self, addr: u16, val: u8) -> Result<(), MemoryError> {
[INFO] [stdout]    |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nes/cpu.rs:444:13
[INFO] [stdout]     |
[INFO] [stdout] 444 |         let mut res: u8 = 0;
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `FormatError`
[INFO] [stdout]  --> src/rom.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     FormatError,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `mapper_hi`
[INFO] [stdout]   --> src/rom.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn mapper_hi(&self) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `pop_stack`
[INFO] [stdout]    --> src/nes/cpu.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn pop_stack(&mut self) -> Result<u8, NESError> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `SCREEN_WIDTH`
[INFO] [stdout]  --> src/nes/ppu.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const SCREEN_WIDTH: usize = 256;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `SCREEN_HEIGHT`
[INFO] [stdout]  --> src/nes/ppu.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const SCREEN_HEIGHT: usize = 256;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `PPUError`
[INFO] [stdout]  --> src/nes/ppu.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct PPUError;
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `vRAM`
[INFO] [stdout]   --> src/nes/ppu.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct vRAM {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `AAX`
[INFO] [stdout]   --> src/nes/isa.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     AAX,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `ASO`
[INFO] [stdout]   --> src/nes/isa.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     ASO,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `AXS`
[INFO] [stdout]   --> src/nes/isa.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     AXS,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `DCM`
[INFO] [stdout]   --> src/nes/isa.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     DCM,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `DCP`
[INFO] [stdout]   --> src/nes/isa.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     DCP,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `DOP`
[INFO] [stdout]    --> src/nes/isa.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     DOP,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `INS`
[INFO] [stdout]    --> src/nes/isa.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     INS,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `ISB`
[INFO] [stdout]    --> src/nes/isa.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     ISB,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `ISC`
[INFO] [stdout]    --> src/nes/isa.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     ISC,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `LAX`
[INFO] [stdout]    --> src/nes/isa.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     LAX,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `LSE`
[INFO] [stdout]    --> src/nes/isa.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     LSE,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `RLA`
[INFO] [stdout]    --> src/nes/isa.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     RLA,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `RRA`
[INFO] [stdout]    --> src/nes/isa.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     RRA,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `SAX`
[INFO] [stdout]    --> src/nes/isa.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     SAX,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `SKB`
[INFO] [stdout]    --> src/nes/isa.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     SKB,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `SKW`
[INFO] [stdout]    --> src/nes/isa.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     SKW,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `SLO`
[INFO] [stdout]    --> src/nes/isa.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     SLO,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `SRE`
[INFO] [stdout]    --> src/nes/isa.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     SRE,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `TOP`
[INFO] [stdout]    --> src/nes/isa.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     TOP,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `PC` should have a snake case name
[INFO] [stdout]   --> src/nes/cpu.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     PC: u16, //Program counter
[INFO] [stdout]    |     ^^ help: convert the identifier to snake case: `pc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `A` should have a snake case name
[INFO] [stdout]   --> src/nes/cpu.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     A: u8, //Accumulator
[INFO] [stdout]    |     ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `X` should have a snake case name
[INFO] [stdout]   --> src/nes/cpu.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     X: u8, //X register
[INFO] [stdout]    |     ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Y` should have a snake case name
[INFO] [stdout]   --> src/nes/cpu.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Y: u8, //Y register
[INFO] [stdout]    |     ^ help: convert the identifier to snake case (notice the capitalization): `y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `S` should have a snake case name
[INFO] [stdout]   --> src/nes/cpu.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     S: u8, //Stack pointer
[INFO] [stdout]    |     ^ help: convert the identifier to snake case (notice the capitalization): `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `P` should have a snake case name
[INFO] [stdout]   --> src/nes/cpu.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     P: u8, //Status
[INFO] [stdout]    |     ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/nes/cpu.rs:448:17
[INFO] [stdout]     |
[INFO] [stdout] 448 |                 self.push_addr_stack(pc);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/nes/cpu.rs:449:17
[INFO] [stdout]     |
[INFO] [stdout] 449 |                 self.push_stack(p | B_FLAG.bits);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `CTRL` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub CTRL: u8, //$2000
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `ctrl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `MASK` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub MASK: u8, //$2001
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `mask`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `STATUS` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub STATUS: u8, //$2002
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `OAMADDR` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub OAMADDR: u8, //$2003
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `oamaddr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `OAMDATA` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub OAMDATA: u8, //$2004
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `oamdata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SCROLL` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub SCROLL: u8, //$2005
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `scroll`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ADDR` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub ADDR: u8, //$2006
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `DATA` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub DATA: u8, //$2007
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `OAMDMA` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub OAMDMA: u8, //$4014
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `oamdma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `opCode` should have a snake case name
[INFO] [stdout]   --> src/nes/error.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 |         DecodeError(pc: u16, opCode: u8) {
[INFO] [stdout]    |                              ^^^^^^ help: convert the identifier to snake case: `op_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 110 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1.65s
[INFO] running `Command { std: "docker" "inspect" "b49c7e9697630022815172b05d6f1cd136bf15d1744829189ed92b5244233ffc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b49c7e9697630022815172b05d6f1cd136bf15d1744829189ed92b5244233ffc", kill_on_drop: false }`
[INFO] [stdout] b49c7e9697630022815172b05d6f1cd136bf15d1744829189ed92b5244233ffc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] da5bfe2f13e741c8f1b77fa18d17fdb9fb8504b91dbf0c6e0ee18239055cf885
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "da5bfe2f13e741c8f1b77fa18d17fdb9fb8504b91dbf0c6e0ee18239055cf885", kill_on_drop: false }`
[INFO] [stderr]    Compiling pretendo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/rom.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         try!(file.read(&mut header));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/rom.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |             try!(file.read(&mut rom.trainer));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/rom.rs:160:13
[INFO] [stdout]     |
[INFO] [stdout] 160 |             try!(file.read(&mut buf));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/rom.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |             try!(file.read(&mut buf));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/nes/cpu.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout] 7  | / bitflags!{
[INFO] [stdout] 8  | |     flags StatusFlags: u8 {
[INFO] [stdout] 9  | |         const C_FLAG = 0b00000001,
[INFO] [stdout] 10 | |         const Z_FLAG = 0b00000010,
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | |     }
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/nes/cpu.rs:7:1
[INFO] [stdout]    |
[INFO] [stdout] 7  | / bitflags!{
[INFO] [stdout] 8  | |     flags StatusFlags: u8 {
[INFO] [stdout] 9  | |         const C_FLAG = 0b00000001,
[INFO] [stdout] 10 | |         const Z_FLAG = 0b00000010,
[INFO] [stdout] ...  |
[INFO] [stdout] 17 | |     }
[INFO] [stdout] 18 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/nes/cpu.rs:65:22
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let opcode = try!(self.read_byte(pc));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/nes/cpu.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let res = try!(self.read_byte(pc));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/nes/cpu.rs:94:23
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let lo: u16 = try!(self.read_byte(addr)) as u16;
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/nes/cpu.rs:95:23
[INFO] [stdout]    |
[INFO] [stdout] 95 |         let hi: u16 = try!(self.read_byte(addr + 1)) as u16;
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:103:18
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let lo = try!(self.read_pc_byte());
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:104:18
[INFO] [stdout]     |
[INFO] [stdout] 104 |         let hi = try!(self.read_pc_byte());
[INFO] [stdout]     |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:314:44
[INFO] [stdout]     |
[INFO] [stdout] 314 |             AddressMode::ZeroPageIndexX => try!(self.read_pc_byte()) as u16 + (self.X as u16),
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:316:44
[INFO] [stdout]     |
[INFO] [stdout] 316 |             AddressMode::ZeroPageIndexY => try!(self.read_pc_byte()) as u16 + (self.Y as u16),
[INFO] [stdout]     |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:319:31
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 let pc_addr = try!(self.read_pc_addr());
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:326:31
[INFO] [stdout]     |
[INFO] [stdout] 326 |                 let pc_addr = try!(self.read_pc_addr());
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:333:37
[INFO] [stdout]     |
[INFO] [stdout] 333 |                 let indirect: u16 = try!(self.read_pc_byte()) as u16 + (self.X as u16);
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 334 |                 try!(self.read_addr(indirect))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:338:37
[INFO] [stdout]     |
[INFO] [stdout] 338 |                 let indirect: u16 = try!(self.read_pc_byte()) as u16;
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:339:32
[INFO] [stdout]     |
[INFO] [stdout] 339 |                 let ind_addr = try!(self.read_addr(indirect));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:351:17
[INFO] [stdout]     |
[INFO] [stdout] 351 |                 try!(self.read_pc_byte()) as u16
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:354:38
[INFO] [stdout]     |
[INFO] [stdout] 354 |             AddressMode::Absolute => try!(self.read_pc_addr()) as u16,
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:357:37
[INFO] [stdout]     |
[INFO] [stdout] 357 |                 let indirect: u16 = try!(self.read_pc_addr()) as u16;
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:358:17
[INFO] [stdout]     |
[INFO] [stdout] 358 |                 try!(self.read_addr(indirect)) as u16
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:394:67
[INFO] [stdout]     |
[INFO] [stdout] 394 |                     OpCode::LSR | OpCode::ROL | OpCode::ROR => Ok(try!(self.read_byte(addr))),
[INFO] [stdout]     |                                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |         try!(self.push_stack((addr >> 8) as u8));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 417 |         try!(self.push_stack((addr & 0xFF) as u8));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:435:30
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let (addr, cycles) = try!(self.instr_address_info(&instruction));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:443:21
[INFO] [stdout]     |
[INFO] [stdout] 443 |         let m: u8 = try!(self.instr_ram_read(addr, &instruction));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:451:27
[INFO] [stdout]     |
[INFO] [stdout] 451 |                 self.PC = try!(self.read_addr(0xFFFE));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:465:22
[INFO] [stdout]     |
[INFO] [stdout] 465 |         let opcode = try!(self.fetch());
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/nes/cpu.rs:466:21
[INFO] [stdout]     |
[INFO] [stdout] 466 |         let instr = try!(self.decode(opcode));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/nes/mod.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |             try!(self.cpu.step())
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/rom.rs:130:28
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn load(file: &mut Read) -> Result<Rom, RomLoadError> {
[INFO] [stdout]     |                            ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nes::memmap::MemoryMap`
[INFO] [stdout]  --> src/nes/ppu.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use nes::memmap::MemoryMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `vRAM` should have an upper camel case name
[INFO] [stdout]   --> src/nes/ppu.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct vRAM {
[INFO] [stdout]    |            ^^^^ help: convert the identifier to upper camel case: `VRam`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/nes/memmap.rs:43:18
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub rom: Box<Mapper>,
[INFO] [stdout]    |                  ^^^^^^ help: use `dyn`: `dyn Mapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/nes/memmap.rs:48:21
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let bx: Box<Mapper> = match rom.header.mapper() {
[INFO] [stdout]    |                     ^^^^^^ help: use `dyn`: `dyn Mapper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/memmap.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |             0x0000...0x1FFF => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/memmap.rs:69:19
[INFO] [stdout]    |
[INFO] [stdout] 69 |             0x2000...0x3FFF => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/memmap.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |             0x4000...0x4017 => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/memmap.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |             0x4018...0x401F => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/memmap.rs:93:19
[INFO] [stdout]    |
[INFO] [stdout] 93 |             0x4020...0xFFFF => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/memmap.rs:105:19
[INFO] [stdout]     |
[INFO] [stdout] 105 |             0x0000...0x1FFF => {
[INFO] [stdout]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mapper.rs:73:14
[INFO] [stdout]    |
[INFO] [stdout] 73 |             0...0x8000 => 0u8,
[INFO] [stdout]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/nes/mapper.rs:75:19
[INFO] [stdout]    |
[INFO] [stdout] 75 |             0x8000...0xc000 => {
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/mapper.rs:118:23
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 0x0000...0xa000 => self.control = MMC1CtrlReg { val: self.load },
[INFO] [stdout]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/mapper.rs:119:23
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 0xa000...0xc000 => self.chr_bank_0 = self.load,
[INFO] [stdout]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/nes/mapper.rs:120:23
[INFO] [stdout]     |
[INFO] [stdout] 120 |                 0xc000...0xe000 => self.chr_bank_1 = self.load,
[INFO] [stdout]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nes::error::NESError::*`
[INFO] [stdout]   --> src/nes/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use nes::error::NESError::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `nes::mapper::*`
[INFO] [stdout]   --> src/nes/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use nes::mapper::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rom::RomLoadError`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rom::RomLoadError;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/nes/memmap.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |             _ => Err(AddressNotMapped),
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns covering the same range
[INFO] [stdout]   --> src/nes/mapper.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 73 |             0...0x8000 => 0u8,
[INFO] [stdout]    |             ---------- this range overlaps on `32768_u16`
[INFO] [stdout] 74 | 
[INFO] [stdout] 75 |             0x8000...0xc000 => {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^ overlapping patterns
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(overlapping_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns covering the same range
[INFO] [stdout]    --> src/nes/mapper.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 0x0000...0xa000 => self.control = MMC1CtrlReg { val: self.load },
[INFO] [stdout]     |                 --------------- this range overlaps on `40960_u16`
[INFO] [stdout] 119 |                 0xa000...0xc000 => self.chr_bank_0 = self.load,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ overlapping patterns
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple patterns covering the same range
[INFO] [stdout]    --> src/nes/mapper.rs:120:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 0xa000...0xc000 => self.chr_bank_0 = self.load,
[INFO] [stdout]     |                 --------------- this range overlaps on `49152_u16`
[INFO] [stdout] 120 |                 0xc000...0xe000 => self.chr_bank_1 = self.load,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ overlapping patterns
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/nes/cpu.rs:411:17
[INFO] [stdout]     |
[INFO] [stdout] 411 |             Err(e) => Err(StackOverflow(self.PC)),
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `a`
[INFO] [stdout]    --> src/nes/cpu.rs:438:13
[INFO] [stdout]     |
[INFO] [stdout] 438 |         let a: u8 = self.A;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/nes/cpu.rs:439:13
[INFO] [stdout]     |
[INFO] [stdout] 439 |         let x: u8 = self.X;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/nes/cpu.rs:440:13
[INFO] [stdout]     |
[INFO] [stdout] 440 |         let y: u8 = self.Y;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/nes/cpu.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 |         let s: u8 = self.S;
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]    --> src/nes/cpu.rs:443:13
[INFO] [stdout]     |
[INFO] [stdout] 443 |         let m: u8 = try!(self.instr_ram_read(addr, &instruction));
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]    --> src/nes/cpu.rs:444:13
[INFO] [stdout]     |
[INFO] [stdout] 444 |         let mut res: u8 = 0;
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `addr`
[INFO] [stdout]   --> src/nes/memmap.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn store_byte(&mut self, addr: u16, val: u8) -> Result<(), MemoryError> {
[INFO] [stdout]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/nes/memmap.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn store_byte(&mut self, addr: u16, val: u8) -> Result<(), MemoryError> {
[INFO] [stdout]    |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/nes/cpu.rs:444:13
[INFO] [stdout]     |
[INFO] [stdout] 444 |         let mut res: u8 = 0;
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `FormatError`
[INFO] [stdout]  --> src/rom.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     FormatError,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `mapper_hi`
[INFO] [stdout]   --> src/rom.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn mapper_hi(&self) -> u8 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `pop_stack`
[INFO] [stdout]    --> src/nes/cpu.rs:421:8
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn pop_stack(&mut self) -> Result<u8, NESError> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `SCREEN_WIDTH`
[INFO] [stdout]  --> src/nes/ppu.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub const SCREEN_WIDTH: usize = 256;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `SCREEN_HEIGHT`
[INFO] [stdout]  --> src/nes/ppu.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub const SCREEN_HEIGHT: usize = 256;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `PPUError`
[INFO] [stdout]  --> src/nes/ppu.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct PPUError;
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `vRAM`
[INFO] [stdout]   --> src/nes/ppu.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct vRAM {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `AAX`
[INFO] [stdout]   --> src/nes/isa.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     AAX,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `ASO`
[INFO] [stdout]   --> src/nes/isa.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     ASO,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `AXS`
[INFO] [stdout]   --> src/nes/isa.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     AXS,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `DCM`
[INFO] [stdout]   --> src/nes/isa.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |     DCM,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `DCP`
[INFO] [stdout]   --> src/nes/isa.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     DCP,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `DOP`
[INFO] [stdout]    --> src/nes/isa.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     DOP,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `INS`
[INFO] [stdout]    --> src/nes/isa.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     INS,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `ISB`
[INFO] [stdout]    --> src/nes/isa.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     ISB,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `ISC`
[INFO] [stdout]    --> src/nes/isa.rs:103:5
[INFO] [stdout]     |
[INFO] [stdout] 103 |     ISC,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `LAX`
[INFO] [stdout]    --> src/nes/isa.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     LAX,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `LSE`
[INFO] [stdout]    --> src/nes/isa.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     LSE,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `RLA`
[INFO] [stdout]    --> src/nes/isa.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     RLA,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `RRA`
[INFO] [stdout]    --> src/nes/isa.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     RRA,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `SAX`
[INFO] [stdout]    --> src/nes/isa.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     SAX,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `SKB`
[INFO] [stdout]    --> src/nes/isa.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     SKB,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `SKW`
[INFO] [stdout]    --> src/nes/isa.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 110 |     SKW,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `SLO`
[INFO] [stdout]    --> src/nes/isa.rs:111:5
[INFO] [stdout]     |
[INFO] [stdout] 111 |     SLO,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `SRE`
[INFO] [stdout]    --> src/nes/isa.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     SRE,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `TOP`
[INFO] [stdout]    --> src/nes/isa.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     TOP,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `PC` should have a snake case name
[INFO] [stdout]   --> src/nes/cpu.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     PC: u16, //Program counter
[INFO] [stdout]    |     ^^ help: convert the identifier to snake case: `pc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `A` should have a snake case name
[INFO] [stdout]   --> src/nes/cpu.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     A: u8, //Accumulator
[INFO] [stdout]    |     ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `X` should have a snake case name
[INFO] [stdout]   --> src/nes/cpu.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     X: u8, //X register
[INFO] [stdout]    |     ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Y` should have a snake case name
[INFO] [stdout]   --> src/nes/cpu.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Y: u8, //Y register
[INFO] [stdout]    |     ^ help: convert the identifier to snake case (notice the capitalization): `y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `S` should have a snake case name
[INFO] [stdout]   --> src/nes/cpu.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     S: u8, //Stack pointer
[INFO] [stdout]    |     ^ help: convert the identifier to snake case (notice the capitalization): `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `P` should have a snake case name
[INFO] [stdout]   --> src/nes/cpu.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     P: u8, //Status
[INFO] [stdout]    |     ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/nes/cpu.rs:448:17
[INFO] [stdout]     |
[INFO] [stdout] 448 |                 self.push_addr_stack(pc);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/nes/cpu.rs:449:17
[INFO] [stdout]     |
[INFO] [stdout] 449 |                 self.push_stack(p | B_FLAG.bits);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `CTRL` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub CTRL: u8, //$2000
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `ctrl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `MASK` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub MASK: u8, //$2001
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `mask`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `STATUS` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub STATUS: u8, //$2002
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `OAMADDR` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub OAMADDR: u8, //$2003
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `oamaddr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `OAMDATA` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub OAMDATA: u8, //$2004
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case: `oamdata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `SCROLL` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub SCROLL: u8, //$2005
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `scroll`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `ADDR` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub ADDR: u8, //$2006
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `addr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `DATA` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub DATA: u8, //$2007
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case: `data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `OAMDMA` should have a snake case name
[INFO] [stdout]   --> src/nes/ppu.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub OAMDMA: u8, //$4014
[INFO] [stdout]    |         ^^^^^^ help: convert the identifier to snake case: `oamdma`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `opCode` should have a snake case name
[INFO] [stdout]   --> src/nes/error.rs:26:30
[INFO] [stdout]    |
[INFO] [stdout] 26 |         DecodeError(pc: u16, opCode: u8) {
[INFO] [stdout]    |                              ^^^^^^ help: convert the identifier to snake case: `op_code`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 110 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.06s
[INFO] running `Command { std: "docker" "inspect" "da5bfe2f13e741c8f1b77fa18d17fdb9fb8504b91dbf0c6e0ee18239055cf885", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "da5bfe2f13e741c8f1b77fa18d17fdb9fb8504b91dbf0c6e0ee18239055cf885", kill_on_drop: false }`
[INFO] [stdout] da5bfe2f13e741c8f1b77fa18d17fdb9fb8504b91dbf0c6e0ee18239055cf885
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5922de2f80f0cf8cb3a7fd08f1d973c0dbf92dc059c39b3fc55245c0bebd4d04
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "5922de2f80f0cf8cb3a7fd08f1d973c0dbf92dc059c39b3fc55245c0bebd4d04", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/rom.rs:139:9
[INFO] [stderr]     |
[INFO] [stderr] 139 |         try!(file.read(&mut header));
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/rom.rs:154:13
[INFO] [stderr]     |
[INFO] [stderr] 154 |             try!(file.read(&mut rom.trainer));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/rom.rs:160:13
[INFO] [stderr]     |
[INFO] [stderr] 160 |             try!(file.read(&mut buf));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/rom.rs:167:13
[INFO] [stderr]     |
[INFO] [stderr] 167 |             try!(file.read(&mut buf));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/nes/cpu.rs:7:1
[INFO] [stderr]    |
[INFO] [stderr] 7  | / bitflags!{
[INFO] [stderr] 8  | |     flags StatusFlags: u8 {
[INFO] [stderr] 9  | |         const C_FLAG = 0b00000001,
[INFO] [stderr] 10 | |         const Z_FLAG = 0b00000010,
[INFO] [stderr] ...  |
[INFO] [stderr] 17 | |     }
[INFO] [stderr] 18 | | }
[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 macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/nes/cpu.rs:7:1
[INFO] [stderr]    |
[INFO] [stderr] 7  | / bitflags!{
[INFO] [stderr] 8  | |     flags StatusFlags: u8 {
[INFO] [stderr] 9  | |         const C_FLAG = 0b00000001,
[INFO] [stderr] 10 | |         const Z_FLAG = 0b00000010,
[INFO] [stderr] ...  |
[INFO] [stderr] 17 | |     }
[INFO] [stderr] 18 | | }
[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 macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/nes/cpu.rs:65:22
[INFO] [stderr]    |
[INFO] [stderr] 65 |         let opcode = try!(self.read_byte(pc));
[INFO] [stderr]    |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/nes/cpu.rs:85:19
[INFO] [stderr]    |
[INFO] [stderr] 85 |         let res = try!(self.read_byte(pc));
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/nes/cpu.rs:94:23
[INFO] [stderr]    |
[INFO] [stderr] 94 |         let lo: u16 = try!(self.read_byte(addr)) as u16;
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/nes/cpu.rs:95:23
[INFO] [stderr]    |
[INFO] [stderr] 95 |         let hi: u16 = try!(self.read_byte(addr + 1)) as u16;
[INFO] [stderr]    |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:103:18
[INFO] [stderr]     |
[INFO] [stderr] 103 |         let lo = try!(self.read_pc_byte());
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:104:18
[INFO] [stderr]     |
[INFO] [stderr] 104 |         let hi = try!(self.read_pc_byte());
[INFO] [stderr]     |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:314:44
[INFO] [stderr]     |
[INFO] [stderr] 314 |             AddressMode::ZeroPageIndexX => try!(self.read_pc_byte()) as u16 + (self.X as u16),
[INFO] [stderr]     |                                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:316:44
[INFO] [stderr]     |
[INFO] [stderr] 316 |             AddressMode::ZeroPageIndexY => try!(self.read_pc_byte()) as u16 + (self.Y as u16),
[INFO] [stderr]     |                                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:319:31
[INFO] [stderr]     |
[INFO] [stderr] 319 |                 let pc_addr = try!(self.read_pc_addr());
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:326:31
[INFO] [stderr]     |
[INFO] [stderr] 326 |                 let pc_addr = try!(self.read_pc_addr());
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:333:37
[INFO] [stderr]     |
[INFO] [stderr] 333 |                 let indirect: u16 = try!(self.read_pc_byte()) as u16 + (self.X as u16);
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:334:17
[INFO] [stderr]     |
[INFO] [stderr] 334 |                 try!(self.read_addr(indirect))
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:338:37
[INFO] [stderr]     |
[INFO] [stderr] 338 |                 let indirect: u16 = try!(self.read_pc_byte()) as u16;
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:339:32
[INFO] [stderr]     |
[INFO] [stderr] 339 |                 let ind_addr = try!(self.read_addr(indirect));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:351:17
[INFO] [stderr]     |
[INFO] [stderr] 351 |                 try!(self.read_pc_byte()) as u16
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:354:38
[INFO] [stderr]     |
[INFO] [stderr] 354 |             AddressMode::Absolute => try!(self.read_pc_addr()) as u16,
[INFO] [stderr]     |                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:357:37
[INFO] [stderr]     |
[INFO] [stderr] 357 |                 let indirect: u16 = try!(self.read_pc_addr()) as u16;
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:358:17
[INFO] [stderr]     |
[INFO] [stderr] 358 |                 try!(self.read_addr(indirect)) as u16
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:394:67
[INFO] [stderr]     |
[INFO] [stderr] 394 |                     OpCode::LSR | OpCode::ROL | OpCode::ROR => Ok(try!(self.read_byte(addr))),
[INFO] [stderr]     |                                                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:416:9
[INFO] [stderr]     |
[INFO] [stderr] 416 |         try!(self.push_stack((addr >> 8) as u8));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:417:9
[INFO] [stderr]     |
[INFO] [stderr] 417 |         try!(self.push_stack((addr & 0xFF) as u8));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:435:30
[INFO] [stderr]     |
[INFO] [stderr] 435 |         let (addr, cycles) = try!(self.instr_address_info(&instruction));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:443:21
[INFO] [stderr]     |
[INFO] [stderr] 443 |         let m: u8 = try!(self.instr_ram_read(addr, &instruction));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:451:27
[INFO] [stderr]     |
[INFO] [stderr] 451 |                 self.PC = try!(self.read_addr(0xFFFE));
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:465:22
[INFO] [stderr]     |
[INFO] [stderr] 465 |         let opcode = try!(self.fetch());
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/nes/cpu.rs:466:21
[INFO] [stderr]     |
[INFO] [stderr] 466 |         let instr = try!(self.decode(opcode));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/nes/mod.rs:31:13
[INFO] [stderr]    |
[INFO] [stderr] 31 |             try!(self.cpu.step())
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/rom.rs:130:28
[INFO] [stderr]     |
[INFO] [stderr] 130 |     pub fn load(file: &mut Read) -> Result<Rom, RomLoadError> {
[INFO] [stderr]     |                            ^^^^ help: use `dyn`: `dyn Read`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `nes::memmap::MemoryMap`
[INFO] [stderr]  --> src/nes/ppu.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use nes::memmap::MemoryMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `vRAM` should have an upper camel case name
[INFO] [stderr]   --> src/nes/ppu.rs:37:12
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub struct vRAM {
[INFO] [stderr]    |            ^^^^ help: convert the identifier to upper camel case: `VRam`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/nes/memmap.rs:43:18
[INFO] [stderr]    |
[INFO] [stderr] 43 |     pub rom: Box<Mapper>,
[INFO] [stderr]    |                  ^^^^^^ help: use `dyn`: `dyn Mapper`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/nes/memmap.rs:48:21
[INFO] [stderr]    |
[INFO] [stderr] 48 |         let bx: Box<Mapper> = match rom.header.mapper() {
[INFO] [stderr]    |                     ^^^^^^ help: use `dyn`: `dyn Mapper`
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/nes/memmap.rs:64:19
[INFO] [stderr]    |
[INFO] [stderr] 64 |             0x0000...0x1FFF => {
[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/nes/memmap.rs:69:19
[INFO] [stderr]    |
[INFO] [stderr] 69 |             0x2000...0x3FFF => {
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/nes/memmap.rs:85:19
[INFO] [stderr]    |
[INFO] [stderr] 85 |             0x4000...0x4017 => {
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/nes/memmap.rs:89:19
[INFO] [stderr]    |
[INFO] [stderr] 89 |             0x4018...0x401F => {
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/nes/memmap.rs:93:19
[INFO] [stderr]    |
[INFO] [stderr] 93 |             0x4020...0xFFFF => {
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/nes/memmap.rs:105:19
[INFO] [stderr]     |
[INFO] [stderr] 105 |             0x0000...0x1FFF => {
[INFO] [stderr]     |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/nes/mapper.rs:73:14
[INFO] [stderr]    |
[INFO] [stderr] 73 |             0...0x8000 => 0u8,
[INFO] [stderr]    |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/nes/mapper.rs:75:19
[INFO] [stderr]    |
[INFO] [stderr] 75 |             0x8000...0xc000 => {
[INFO] [stderr]    |                   ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/nes/mapper.rs:118:23
[INFO] [stderr]     |
[INFO] [stderr] 118 |                 0x0000...0xa000 => self.control = MMC1CtrlReg { val: self.load },
[INFO] [stderr]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/nes/mapper.rs:119:23
[INFO] [stderr]     |
[INFO] [stderr] 119 |                 0xa000...0xc000 => self.chr_bank_0 = self.load,
[INFO] [stderr]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/nes/mapper.rs:120:23
[INFO] [stderr]     |
[INFO] [stderr] 120 |                 0xc000...0xe000 => self.chr_bank_1 = self.load,
[INFO] [stderr]     |                       ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `nes::error::NESError::*`
[INFO] [stderr]   --> src/nes/mod.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use nes::error::NESError::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `nes::mapper::*`
[INFO] [stderr]   --> src/nes/mod.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use nes::mapper::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rom::RomLoadError`
[INFO] [stderr]   --> src/main.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use rom::RomLoadError;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/nes/memmap.rs:99:13
[INFO] [stderr]    |
[INFO] [stderr] 99 |             _ => Err(AddressNotMapped),
[INFO] [stderr]    |             ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns covering the same range
[INFO] [stderr]   --> src/nes/mapper.rs:75:13
[INFO] [stderr]    |
[INFO] [stderr] 73 |             0...0x8000 => 0u8,
[INFO] [stderr]    |             ---------- this range overlaps on `32768_u16`
[INFO] [stderr] 74 | 
[INFO] [stderr] 75 |             0x8000...0xc000 => {
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^ overlapping patterns
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(overlapping_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns covering the same range
[INFO] [stderr]    --> src/nes/mapper.rs:119:17
[INFO] [stderr]     |
[INFO] [stderr] 118 |                 0x0000...0xa000 => self.control = MMC1CtrlReg { val: self.load },
[INFO] [stderr]     |                 --------------- this range overlaps on `40960_u16`
[INFO] [stderr] 119 |                 0xa000...0xc000 => self.chr_bank_0 = self.load,
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^ overlapping patterns
[INFO] [stderr] 
[INFO] [stderr] warning: multiple patterns covering the same range
[INFO] [stderr]    --> src/nes/mapper.rs:120:17
[INFO] [stderr]     |
[INFO] [stderr] 119 |                 0xa000...0xc000 => self.chr_bank_0 = self.load,
[INFO] [stderr]     |                 --------------- this range overlaps on `49152_u16`
[INFO] [stderr] 120 |                 0xc000...0xe000 => self.chr_bank_1 = self.load,
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^ overlapping patterns
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/nes/cpu.rs:411:17
[INFO] [stderr]     |
[INFO] [stderr] 411 |             Err(e) => Err(StackOverflow(self.PC)),
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `a`
[INFO] [stderr]    --> src/nes/cpu.rs:438:13
[INFO] [stderr]     |
[INFO] [stderr] 438 |         let a: u8 = self.A;
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_a`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/nes/cpu.rs:439:13
[INFO] [stderr]     |
[INFO] [stderr] 439 |         let x: u8 = self.X;
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]    --> src/nes/cpu.rs:440:13
[INFO] [stderr]     |
[INFO] [stderr] 440 |         let y: u8 = self.Y;
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]    --> src/nes/cpu.rs:441:13
[INFO] [stderr]     |
[INFO] [stderr] 441 |         let s: u8 = self.S;
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `m`
[INFO] [stderr]    --> src/nes/cpu.rs:443:13
[INFO] [stderr]     |
[INFO] [stderr] 443 |         let m: u8 = try!(self.instr_ram_read(addr, &instruction));
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `res`
[INFO] [stderr]    --> src/nes/cpu.rs:444:13
[INFO] [stderr]     |
[INFO] [stderr] 444 |         let mut res: u8 = 0;
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `addr`
[INFO] [stderr]   --> src/nes/memmap.rs:35:30
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn store_byte(&mut self, addr: u16, val: u8) -> Result<(), MemoryError> {
[INFO] [stderr]    |                              ^^^^ help: if this is intentional, prefix it with an underscore: `_addr`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `val`
[INFO] [stderr]   --> src/nes/memmap.rs:35:41
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn store_byte(&mut self, addr: u16, val: u8) -> Result<(), MemoryError> {
[INFO] [stderr]    |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/nes/cpu.rs:444:13
[INFO] [stderr]     |
[INFO] [stderr] 444 |         let mut res: u8 = 0;
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `FormatError`
[INFO] [stderr]  --> src/rom.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     FormatError,
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `mapper_hi`
[INFO] [stderr]   --> src/rom.rs:81:12
[INFO] [stderr]    |
[INFO] [stderr] 81 |     pub fn mapper_hi(&self) -> u8 {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `pop_stack`
[INFO] [stderr]    --> src/nes/cpu.rs:421:8
[INFO] [stderr]     |
[INFO] [stderr] 421 |     fn pop_stack(&mut self) -> Result<u8, NESError> {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `SCREEN_WIDTH`
[INFO] [stderr]  --> src/nes/ppu.rs:3:1
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub const SCREEN_WIDTH: usize = 256;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `SCREEN_HEIGHT`
[INFO] [stderr]  --> src/nes/ppu.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub const SCREEN_HEIGHT: usize = 256;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `PPUError`
[INFO] [stderr]  --> src/nes/ppu.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct PPUError;
[INFO] [stderr]   |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `vRAM`
[INFO] [stderr]   --> src/nes/ppu.rs:37:12
[INFO] [stderr]    |
[INFO] [stderr] 37 | pub struct vRAM {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `AAX`
[INFO] [stderr]   --> src/nes/isa.rs:95:5
[INFO] [stderr]    |
[INFO] [stderr] 95 |     AAX,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `ASO`
[INFO] [stderr]   --> src/nes/isa.rs:96:5
[INFO] [stderr]    |
[INFO] [stderr] 96 |     ASO,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `AXS`
[INFO] [stderr]   --> src/nes/isa.rs:97:5
[INFO] [stderr]    |
[INFO] [stderr] 97 |     AXS,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `DCM`
[INFO] [stderr]   --> src/nes/isa.rs:98:5
[INFO] [stderr]    |
[INFO] [stderr] 98 |     DCM,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `DCP`
[INFO] [stderr]   --> src/nes/isa.rs:99:5
[INFO] [stderr]    |
[INFO] [stderr] 99 |     DCP,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `DOP`
[INFO] [stderr]    --> src/nes/isa.rs:100:5
[INFO] [stderr]     |
[INFO] [stderr] 100 |     DOP,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `INS`
[INFO] [stderr]    --> src/nes/isa.rs:101:5
[INFO] [stderr]     |
[INFO] [stderr] 101 |     INS,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `ISB`
[INFO] [stderr]    --> src/nes/isa.rs:102:5
[INFO] [stderr]     |
[INFO] [stderr] 102 |     ISB,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `ISC`
[INFO] [stderr]    --> src/nes/isa.rs:103:5
[INFO] [stderr]     |
[INFO] [stderr] 103 |     ISC,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `LAX`
[INFO] [stderr]    --> src/nes/isa.rs:104:5
[INFO] [stderr]     |
[INFO] [stderr] 104 |     LAX,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `LSE`
[INFO] [stderr]    --> src/nes/isa.rs:105:5
[INFO] [stderr]     |
[INFO] [stderr] 105 |     LSE,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `RLA`
[INFO] [stderr]    --> src/nes/isa.rs:106:5
[INFO] [stderr]     |
[INFO] [stderr] 106 |     RLA,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `RRA`
[INFO] [stderr]    --> src/nes/isa.rs:107:5
[INFO] [stderr]     |
[INFO] [stderr] 107 |     RRA,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `SAX`
[INFO] [stderr]    --> src/nes/isa.rs:108:5
[INFO] [stderr]     |
[INFO] [stderr] 108 |     SAX,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `SKB`
[INFO] [stderr]    --> src/nes/isa.rs:109:5
[INFO] [stderr]     |
[INFO] [stderr] 109 |     SKB,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `SKW`
[INFO] [stderr]    --> src/nes/isa.rs:110:5
[INFO] [stderr]     |
[INFO] [stderr] 110 |     SKW,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `SLO`
[INFO] [stderr]    --> src/nes/isa.rs:111:5
[INFO] [stderr]     |
[INFO] [stderr] 111 |     SLO,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `SRE`
[INFO] [stderr]    --> src/nes/isa.rs:112:5
[INFO] [stderr]     |
[INFO] [stderr] 112 |     SRE,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `TOP`
[INFO] [stderr]    --> src/nes/isa.rs:113:5
[INFO] [stderr]     |
[INFO] [stderr] 113 |     TOP,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `PC` should have a snake case name
[INFO] [stderr]   --> src/nes/cpu.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     PC: u16, //Program counter
[INFO] [stderr]    |     ^^ help: convert the identifier to snake case: `pc`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `A` should have a snake case name
[INFO] [stderr]   --> src/nes/cpu.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     A: u8, //Accumulator
[INFO] [stderr]    |     ^ help: convert the identifier to snake case: `a`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `X` should have a snake case name
[INFO] [stderr]   --> src/nes/cpu.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 |     X: u8, //X register
[INFO] [stderr]    |     ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `Y` should have a snake case name
[INFO] [stderr]   --> src/nes/cpu.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     Y: u8, //Y register
[INFO] [stderr]    |     ^ help: convert the identifier to snake case (notice the capitalization): `y`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `S` should have a snake case name
[INFO] [stderr]   --> src/nes/cpu.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     S: u8, //Stack pointer
[INFO] [stderr]    |     ^ help: convert the identifier to snake case (notice the capitalization): `s`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `P` should have a snake case name
[INFO] [stderr]   --> src/nes/cpu.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 |     P: u8, //Status
[INFO] [stderr]    |     ^ help: convert the identifier to snake case: `p`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/nes/cpu.rs:448:17
[INFO] [stderr]     |
[INFO] [stderr] 448 |                 self.push_addr_stack(pc);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]    --> src/nes/cpu.rs:449:17
[INFO] [stderr]     |
[INFO] [stderr] 449 |                 self.push_stack(p | B_FLAG.bits);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `CTRL` should have a snake case name
[INFO] [stderr]   --> src/nes/ppu.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub CTRL: u8, //$2000
[INFO] [stderr]    |         ^^^^ help: convert the identifier to snake case: `ctrl`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `MASK` should have a snake case name
[INFO] [stderr]   --> src/nes/ppu.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub MASK: u8, //$2001
[INFO] [stderr]    |         ^^^^ help: convert the identifier to snake case: `mask`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `STATUS` should have a snake case name
[INFO] [stderr]   --> src/nes/ppu.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub STATUS: u8, //$2002
[INFO] [stderr]    |         ^^^^^^ help: convert the identifier to snake case: `status`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `OAMADDR` should have a snake case name
[INFO] [stderr]   --> src/nes/ppu.rs:13:9
[INFO] [stderr]    |
[INFO] [stderr] 13 |     pub OAMADDR: u8, //$2003
[INFO] [stderr]    |         ^^^^^^^ help: convert the identifier to snake case: `oamaddr`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `OAMDATA` should have a snake case name
[INFO] [stderr]   --> src/nes/ppu.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub OAMDATA: u8, //$2004
[INFO] [stderr]    |         ^^^^^^^ help: convert the identifier to snake case: `oamdata`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `SCROLL` should have a snake case name
[INFO] [stderr]   --> src/nes/ppu.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub SCROLL: u8, //$2005
[INFO] [stderr]    |         ^^^^^^ help: convert the identifier to snake case: `scroll`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `ADDR` should have a snake case name
[INFO] [stderr]   --> src/nes/ppu.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub ADDR: u8, //$2006
[INFO] [stderr]    |         ^^^^ help: convert the identifier to snake case: `addr`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `DATA` should have a snake case name
[INFO] [stderr]   --> src/nes/ppu.rs:17:9
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub DATA: u8, //$2007
[INFO] [stderr]    |         ^^^^ help: convert the identifier to snake case: `data`
[INFO] [stderr] 
[INFO] [stderr] warning: structure field `OAMDMA` should have a snake case name
[INFO] [stderr]   --> src/nes/ppu.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub OAMDMA: u8, //$4014
[INFO] [stderr]    |         ^^^^^^ help: convert the identifier to snake case: `oamdma`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `opCode` should have a snake case name
[INFO] [stderr]   --> src/nes/error.rs:26:30
[INFO] [stderr]    |
[INFO] [stderr] 26 |         DecodeError(pc: u16, opCode: u8) {
[INFO] [stderr]    |                              ^^^^^^ help: convert the identifier to snake case: `op_code`
[INFO] [stderr] 
[INFO] [stderr] warning: 110 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/pretendo-4ca60da4ba0aa421
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5922de2f80f0cf8cb3a7fd08f1d973c0dbf92dc059c39b3fc55245c0bebd4d04", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5922de2f80f0cf8cb3a7fd08f1d973c0dbf92dc059c39b3fc55245c0bebd4d04", kill_on_drop: false }`
[INFO] [stdout] 5922de2f80f0cf8cb3a7fd08f1d973c0dbf92dc059c39b3fc55245c0bebd4d04
