[INFO] updating cached repository Crax97/srasboy [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/Crax97/srasboy [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/Crax97/srasboy" "work/ex/beta-1.37-6/sources/1.36.0/gh/Crax97/srasboy"` [INFO] [stderr] Cloning into 'work/ex/beta-1.37-6/sources/1.36.0/gh/Crax97/srasboy'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/Crax97/srasboy" "work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/Crax97/srasboy"` [INFO] [stderr] Cloning into 'work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/Crax97/srasboy'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 9f25730798dcbd01e06dd364e06dc2d93603e41b [INFO] sha for GitHub repo Crax97/srasboy: 9f25730798dcbd01e06dd364e06dc2d93603e41b [INFO] validating manifest of Crax97/srasboy on toolchain 1.36.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.36.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of Crax97/srasboy on toolchain beta-2019-07-23 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-07-23" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing Crax97/srasboy [INFO] finished frobbing Crax97/srasboy [INFO] frobbed toml for Crax97/srasboy written to work/ex/beta-1.37-6/sources/1.36.0/gh/Crax97/srasboy/Cargo.toml [INFO] started frobbing Crax97/srasboy [INFO] finished frobbing Crax97/srasboy [INFO] frobbed toml for Crax97/srasboy written to work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/Crax97/srasboy/Cargo.toml [INFO] crate Crax97/srasboy already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.36.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-07-23" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing Crax97/srasboy against beta-2019-07-23 for beta-1.37-6 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.37-6/worker-6/beta-2019-07-23:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/Crax97/srasboy:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+beta-2019-07-23" "build" "--frozen"` [INFO] [stdout] db0f2bcad1e2a2a94c09ac9fb2cd9a2fe7c8d322a2a4e0b2eaa165a2e420d559 [INFO] running `"docker" "start" "-a" "db0f2bcad1e2a2a94c09ac9fb2cd9a2fe7c8d322a2a4e0b2eaa165a2e420d559"` [INFO] [stderr] Compiling srasboy v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/subsystems/cpu/cpu_instructions.rs:159:106 [INFO] [stderr] | [INFO] [stderr] 159 | fn get_reg_and_closure( cpu: &mut CPU, t: TARGET, ret_reg: u8, ret_addr: u8,) -> (REGVAL, Box) -> u8>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(REGVAL, &mut CPU) -> u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: type `REGISTER_NAME` should have an upper camel case name [INFO] [stderr] --> src/subsystems/cpu.rs:18:10 [INFO] [stderr] | [INFO] [stderr] 18 | pub enum REGISTER_NAME { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterName` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: type `JUMP_COND` should have an upper camel case name [INFO] [stderr] --> src/subsystems/cpu.rs:43:10 [INFO] [stderr] | [INFO] [stderr] 43 | pub enum JUMP_COND { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `JumpCond` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/subsystems/mmu.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::cpu::*` [INFO] [stderr] --> src/subsystems/gpu.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use super::cpu::*; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::cpu::cpu_instructions::*` [INFO] [stderr] --> src/subsystems/gpu.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use super::cpu::cpu_instructions::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:27:27 [INFO] [stderr] | [INFO] [stderr] 27 | fn get_data(mmu: &mut MMU, tile_address: u16, line: u8, index: u8) -> u8 { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MMU` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:40:46 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn fetch_pixels(&mut self, mmu: &mut MMU) -> u16 { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MMU` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:52:40 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn update(&mut self, mmu: &mut MMU) { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MMU` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/subsystems/gpu.rs:28:39 [INFO] [stderr] | [INFO] [stderr] 28 | fn set_stat (&mut self, mem: &mut MMU) { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MMU` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/subsystems/gpu.rs:44:52 [INFO] [stderr] | [INFO] [stderr] 44 | fn gen_entire_framebuffer(&mut self, mem: &mut MMU) -> Vec { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MMU` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/subsystems/gpu.rs:50:22 [INFO] [stderr] | [INFO] [stderr] 50 | let signed = (bg_tile_data == 0x8800); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/subsystems/gpu.rs:67:55 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn update(&mut self, cpu_cycle: u8, mem: &mut MMU) { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MMU` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/subsystems/cpu.rs:604:13 [INFO] [stderr] | [INFO] [stderr] 604 | _ => { panic!("There's no instruction prefixed with {}", opcode); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/main.rs:11:65 [INFO] [stderr] | [INFO] [stderr] 11 | let mut dmg_rom = File::open("DMG_ROM.bin").unwrap_or_else(|e| { panic!("Failed loading DMG rom") }); [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `this_instr` [INFO] [stderr] --> src/subsystems/cpu/cpu_instructions.rs:582:13 [INFO] [stderr] | [INFO] [stderr] 582 | let this_instr = self.reg.get(PC).as_u16() - 1; [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_this_instr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start` [INFO] [stderr] --> src/subsystems/mmu.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | let start = begin_addr & 0xFF00; [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_start` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dest_begin` [INFO] [stderr] --> src/subsystems/mmu.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | let dest_begin = 0xFE00; [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_dest_begin` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dest_end` [INFO] [stderr] --> src/subsystems/mmu.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | let dest_end = 0xFE9F; [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_dest_end` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/subsystems/gpu.rs:58:17 [INFO] [stderr] | [INFO] [stderr] 58 | for y in tile_begin..tile_begin + 16 { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_y` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stat` [INFO] [stderr] --> src/subsystems/gpu.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | let stat = mem.get_addr(0xFF41); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_stat` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/subsystems/gpu.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | let mut fb : Vec = Vec::default(); [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: constant item is never used: `CPU_CLOCK_SPEED` [INFO] [stderr] --> src/subsystems/cpu.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | const CPU_CLOCK_SPEED : u64 = 4194304; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `stopped` [INFO] [stderr] --> src/subsystems/cpu.rs:299:5 [INFO] [stderr] | [INFO] [stderr] 299 | pub fn stopped(&self) -> bool { self.is_stopped } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `MemoryError` [INFO] [stderr] --> src/subsystems/mmu.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | pub enum MemoryError { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `do_dma_oam_transfer` [INFO] [stderr] --> src/subsystems/mmu.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | fn do_dma_oam_transfer(&self, begin_addr: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `inside_range` [INFO] [stderr] --> src/subsystems/mmu.rs:114:1 [INFO] [stderr] | [INFO] [stderr] 114 | fn inside_range (begin: u16, end: u16, addr: u16) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `FetcherStatus` [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | enum FetcherStatus { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Fetcher` [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Fetcher { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_data` [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | fn get_data(mmu: &mut MMU, tile_address: u16, line: u8, index: u8) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `begin_fetching` [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn begin_fetching(&mut self, tile_map: u16, tile_data_address: u16, line: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `fetch_pixels` [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn fetch_pixels(&mut self, mmu: &mut MMU) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `update` [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn update(&mut self, mmu: &mut MMU) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `gen_entire_framebuffer` [INFO] [stderr] --> src/subsystems/gpu.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | fn gen_entire_framebuffer(&mut self, mem: &mut MMU) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `LCDC` should have a snake case name [INFO] [stderr] --> src/subsystems/gpu.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | let LCDC = mem.get_addr(0xFF40); [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `lcdc` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.42s [INFO] running `"docker" "inspect" "db0f2bcad1e2a2a94c09ac9fb2cd9a2fe7c8d322a2a4e0b2eaa165a2e420d559"` [INFO] running `"docker" "rm" "-f" "db0f2bcad1e2a2a94c09ac9fb2cd9a2fe7c8d322a2a4e0b2eaa165a2e420d559"` [INFO] [stdout] db0f2bcad1e2a2a94c09ac9fb2cd9a2fe7c8d322a2a4e0b2eaa165a2e420d559 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.37-6/worker-6/beta-2019-07-23:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/Crax97/srasboy:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+beta-2019-07-23" "test" "--frozen" "--no-run"` [INFO] [stdout] 4b1af6d1968141d1b7a84c9fea373e847882d8dda647604ef361cd31538bf632 [INFO] running `"docker" "start" "-a" "4b1af6d1968141d1b7a84c9fea373e847882d8dda647604ef361cd31538bf632"` [INFO] [stderr] Compiling srasboy v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `super::REGISTER_NAME::*` [INFO] [stderr] --> src/subsystems/cpu/cpu_instructions.rs:25:9 [INFO] [stderr] | [INFO] [stderr] 25 | use super::REGISTER_NAME::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::TARGET::*` [INFO] [stderr] --> src/subsystems/cpu/cpu_instructions.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | use super::TARGET::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/subsystems/cpu/cpu_instructions.rs:159:106 [INFO] [stderr] | [INFO] [stderr] 159 | fn get_reg_and_closure( cpu: &mut CPU, t: TARGET, ret_reg: u8, ret_addr: u8,) -> (REGVAL, Box) -> u8>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(REGVAL, &mut CPU) -> u8` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: type `REGISTER_NAME` should have an upper camel case name [INFO] [stderr] --> src/subsystems/cpu.rs:18:10 [INFO] [stderr] | [INFO] [stderr] 18 | pub enum REGISTER_NAME { [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RegisterName` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: type `JUMP_COND` should have an upper camel case name [INFO] [stderr] --> src/subsystems/cpu.rs:43:10 [INFO] [stderr] | [INFO] [stderr] 43 | pub enum JUMP_COND { [INFO] [stderr] | ^^^^^^^^^ help: convert the identifier to upper camel case: `JumpCond` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::ops::Index` [INFO] [stderr] --> src/subsystems/mmu.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::ops::Index; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::cpu::*` [INFO] [stderr] --> src/subsystems/gpu.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use super::cpu::*; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::cpu::cpu_instructions::*` [INFO] [stderr] --> src/subsystems/gpu.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use super::cpu::cpu_instructions::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:27:27 [INFO] [stderr] | [INFO] [stderr] 27 | fn get_data(mmu: &mut MMU, tile_address: u16, line: u8, index: u8) -> u8 { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MMU` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:40:46 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn fetch_pixels(&mut self, mmu: &mut MMU) -> u16 { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MMU` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:52:40 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn update(&mut self, mmu: &mut MMU) { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MMU` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/subsystems/gpu.rs:28:39 [INFO] [stderr] | [INFO] [stderr] 28 | fn set_stat (&mut self, mem: &mut MMU) { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MMU` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/subsystems/gpu.rs:44:52 [INFO] [stderr] | [INFO] [stderr] 44 | fn gen_entire_framebuffer(&mut self, mem: &mut MMU) -> Vec { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MMU` [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/subsystems/gpu.rs:50:22 [INFO] [stderr] | [INFO] [stderr] 50 | let signed = (bg_tile_data == 0x8800); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/subsystems/gpu.rs:67:55 [INFO] [stderr] | [INFO] [stderr] 67 | pub fn update(&mut self, cpu_cycle: u8, mem: &mut MMU) { [INFO] [stderr] | ^^^ help: use `dyn`: `dyn MMU` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/subsystems/cpu.rs:604:13 [INFO] [stderr] | [INFO] [stderr] 604 | _ => { panic!("There's no instruction prefixed with {}", opcode); } [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/main.rs:11:65 [INFO] [stderr] | [INFO] [stderr] 11 | let mut dmg_rom = File::open("DMG_ROM.bin").unwrap_or_else(|e| { panic!("Failed loading DMG rom") }); [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `this_instr` [INFO] [stderr] --> src/subsystems/cpu/cpu_instructions.rs:582:13 [INFO] [stderr] | [INFO] [stderr] 582 | let this_instr = self.reg.get(PC).as_u16() - 1; [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_this_instr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start` [INFO] [stderr] --> src/subsystems/mmu.rs:78:13 [INFO] [stderr] | [INFO] [stderr] 78 | let start = begin_addr & 0xFF00; [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_start` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dest_begin` [INFO] [stderr] --> src/subsystems/mmu.rs:79:13 [INFO] [stderr] | [INFO] [stderr] 79 | let dest_begin = 0xFE00; [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_dest_begin` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `dest_end` [INFO] [stderr] --> src/subsystems/mmu.rs:80:13 [INFO] [stderr] | [INFO] [stderr] 80 | let dest_end = 0xFE9F; [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_dest_end` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `y` [INFO] [stderr] --> src/subsystems/gpu.rs:58:17 [INFO] [stderr] | [INFO] [stderr] 58 | for y in tile_begin..tile_begin + 16 { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_y` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `stat` [INFO] [stderr] --> src/subsystems/gpu.rs:69:13 [INFO] [stderr] | [INFO] [stderr] 69 | let stat = mem.get_addr(0xFF41); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_stat` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/subsystems/gpu.rs:52:13 [INFO] [stderr] | [INFO] [stderr] 52 | let mut fb : Vec = Vec::default(); [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: constant item is never used: `CPU_CLOCK_SPEED` [INFO] [stderr] --> src/subsystems/cpu.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | const CPU_CLOCK_SPEED : u64 = 4194304; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `stopped` [INFO] [stderr] --> src/subsystems/cpu.rs:299:5 [INFO] [stderr] | [INFO] [stderr] 299 | pub fn stopped(&self) -> bool { self.is_stopped } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `MemoryError` [INFO] [stderr] --> src/subsystems/mmu.rs:29:1 [INFO] [stderr] | [INFO] [stderr] 29 | pub enum MemoryError { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `do_dma_oam_transfer` [INFO] [stderr] --> src/subsystems/mmu.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | fn do_dma_oam_transfer(&self, begin_addr: u16) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `inside_range` [INFO] [stderr] --> src/subsystems/mmu.rs:114:1 [INFO] [stderr] | [INFO] [stderr] 114 | fn inside_range (begin: u16, end: u16, addr: u16) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `FetcherStatus` [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | enum FetcherStatus { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Fetcher` [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub struct Fetcher { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_data` [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | fn get_data(mmu: &mut MMU, tile_address: u16, line: u8, index: u8) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `begin_fetching` [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:32:5 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn begin_fetching(&mut self, tile_map: u16, tile_data_address: u16, line: u8) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `fetch_pixels` [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | pub fn fetch_pixels(&mut self, mmu: &mut MMU) -> u16 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `update` [INFO] [stderr] --> src/subsystems/gpu/fetcher.rs:52:5 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn update(&mut self, mmu: &mut MMU) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `gen_entire_framebuffer` [INFO] [stderr] --> src/subsystems/gpu.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | fn gen_entire_framebuffer(&mut self, mem: &mut MMU) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `LCDC` should have a snake case name [INFO] [stderr] --> src/subsystems/gpu.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | let LCDC = mem.get_addr(0xFF40); [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `lcdc` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.33s [INFO] running `"docker" "inspect" "4b1af6d1968141d1b7a84c9fea373e847882d8dda647604ef361cd31538bf632"` [INFO] running `"docker" "rm" "-f" "4b1af6d1968141d1b7a84c9fea373e847882d8dda647604ef361cd31538bf632"` [INFO] [stdout] 4b1af6d1968141d1b7a84c9fea373e847882d8dda647604ef361cd31538bf632 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.37-6/worker-6/beta-2019-07-23:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/Crax97/srasboy:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+beta-2019-07-23" "test" "--frozen"` [INFO] [stdout] 0d1d605f0b02495e1b2b3da223478d4c787f4f8ab9a9da2d3970129dba3ad839 [INFO] running `"docker" "start" "-a" "0d1d605f0b02495e1b2b3da223478d4c787f4f8ab9a9da2d3970129dba3ad839"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.01s [INFO] [stderr] Running /opt/crater/target/debug/deps/srasboy-c7010cbcb89def8a [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test subsystems::cpu::cpu_instructions::test::try_writing_from_bc_to_hl ... ok [INFO] [stdout] test subsystems::cpu::cpu_instructions::test::try_push_pop ... ok [INFO] [stdout] test subsystems::cpu::cpu_instructions::test::try_logical ... ok [INFO] [stdout] test subsystems::cpu::cpu_instructions::test::try_jump_abs ... ok [INFO] [stdout] test subsystems::cpu::cpu_instructions::test::try_writing_into_a ... ok [INFO] [stdout] test subsystems::cpu::cpu_instructions::test::try_inc_sub_a ... ok [INFO] [stdout] test subsystems::cpu::cpu_instructions::test::try_writing_into_hl ... ok [INFO] [stdout] test subsystems::mmu::test::write_test ... ok [INFO] [stdout] test subsystems::cpu::cpu_instructions::test::try_loading_into_hl ... ok [INFO] [stdout] test subsystems::cpu::cpu_instructions::test::try_jump_diff ... ok [INFO] [stdout] test subsystems::cpu::cpu_instructions::test::try_call ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- subsystems::cpu::cpu_instructions::test::try_call stdout ---- [INFO] [stdout] thread 'subsystems::cpu::cpu_instructions::test::try_call' panicked at 'assertion failed: current_pc == 1', src/subsystems/cpu/cpu_instructions.rs:126:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x55bf9ef1a04b - backtrace::backtrace::libunwind::trace::h5dfa5d4c5feed6dc [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/libunwind.rs:88 [INFO] [stdout] 1: 0x55bf9ef1a04b - backtrace::backtrace::trace_unsynchronized::hb731fe64f3fa469f [INFO] [stdout] at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.29/src/backtrace/mod.rs:66 [INFO] [stdout] 2: 0x55bf9ef1a04b - std::sys_common::backtrace::_print::hf4fd45fe7ae4a250 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:47 [INFO] [stdout] 3: 0x55bf9ef1a04b - std::sys_common::backtrace::print::h31646c3786c57441 [INFO] [stdout] at src/libstd/sys_common/backtrace.rs:36 [INFO] [stdout] 4: 0x55bf9ef1a04b - std::panicking::default_hook::{{closure}}::hda785e768c746ae7 [INFO] [stdout] at src/libstd/panicking.rs:200 [INFO] [stdout] 5: 0x55bf9ef19cba - std::panicking::default_hook::h0c4b76f338614ef1 [INFO] [stdout] at src/libstd/panicking.rs:211 [INFO] [stdout] 6: 0x55bf9ef1a7c0 - std::panicking::rust_panic_with_hook::h096dff2cb12b67ce [INFO] [stdout] at src/libstd/panicking.rs:477 [INFO] [stdout] 7: 0x55bf9eece254 - std::panicking::begin_panic::h1e74230caec2ab15 [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/libstd/panicking.rs:411 [INFO] [stdout] 8: 0x55bf9eecd077 - srasboy::subsystems::cpu::cpu_instructions::test::try_call::hd050033457eaaae0 [INFO] [stdout] at src/subsystems/cpu/cpu_instructions.rs:126 [INFO] [stdout] 9: 0x55bf9eecce5a - srasboy::subsystems::cpu::cpu_instructions::test::try_call::{{closure}}::h2d294f229a0d1728 [INFO] [stdout] at src/subsystems/cpu/cpu_instructions.rs:115 [INFO] [stdout] 10: 0x55bf9eececae - core::ops::function::FnOnce::call_once::h9e77a2aa5a8e8fee [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/libcore/ops/function.rs:231 [INFO] [stdout] 11: 0x55bf9eedcc8f - as core::ops::function::FnOnce>::call_once::h9568fda2c3b99042 [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/liballoc/boxed.rs:746 [INFO] [stdout] 12: 0x55bf9ef1cd3a - __rust_maybe_catch_panic [INFO] [stdout] at src/libpanic_unwind/lib.rs:82 [INFO] [stdout] 13: 0x55bf9eef7288 - std::panicking::try::h4b4c6c15836266eb [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/libstd/panicking.rs:275 [INFO] [stdout] 14: 0x55bf9eef7288 - std::panic::catch_unwind::h133691b514d0224c [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/libstd/panic.rs:394 [INFO] [stdout] 15: 0x55bf9eef7288 - test::run_test::run_test_inner::{{closure}}::h41355d9f207d71fe [INFO] [stdout] at src/libtest/lib.rs:1466 [INFO] [stdout] 16: 0x55bf9eed2105 - std::sys_common::backtrace::__rust_begin_short_backtrace::h7c86e4012abd2d40 [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/libstd/sys_common/backtrace.rs:77 [INFO] [stdout] 17: 0x55bf9eed6285 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h2ba9d55fec0ea776 [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/libstd/thread/mod.rs:470 [INFO] [stdout] 18: 0x55bf9eed6285 - as core::ops::function::FnOnce<()>>::call_once::hdf89f4d89df3dda3 [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/libstd/panic.rs:315 [INFO] [stdout] 19: 0x55bf9eed6285 - std::panicking::try::do_call::h59b39c89384b7a2f [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/libstd/panicking.rs:296 [INFO] [stdout] 20: 0x55bf9ef1cd3a - __rust_maybe_catch_panic [INFO] [stdout] at src/libpanic_unwind/lib.rs:82 [INFO] [stdout] 21: 0x55bf9eed68c2 - std::panicking::try::h9fff34be50f16431 [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/libstd/panicking.rs:275 [INFO] [stdout] 22: 0x55bf9eed68c2 - std::panic::catch_unwind::h7551856ff7c5e12a [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/libstd/panic.rs:394 [INFO] [stdout] 23: 0x55bf9eed68c2 - std::thread::Builder::spawn_unchecked::{{closure}}::hafea48c774d796e7 [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/libstd/thread/mod.rs:469 [INFO] [stdout] 24: 0x55bf9eed68c2 - core::ops::function::FnOnce::call_once{{vtable.shim}}::he5fe7b84ce5a3830 [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/libcore/ops/function.rs:231 [INFO] [stdout] 25: 0x55bf9ef0fdef - as core::ops::function::FnOnce>::call_once::h55ef432b72ff7a0b [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/liballoc/boxed.rs:746 [INFO] [stdout] 26: 0x55bf9ef1c490 - as core::ops::function::FnOnce>::call_once::h9294a5138530eae1 [INFO] [stdout] at /rustc/61d1607e0f6a18bb4897d6f9b10abeac9e11eb8e/src/liballoc/boxed.rs:746 [INFO] [stdout] 27: 0x55bf9ef1c490 - std::sys_common::thread::start_thread::h0d2733dd32c3723c [INFO] [stdout] at src/libstd/sys_common/thread.rs:13 [INFO] [stdout] 28: 0x55bf9ef1c490 - std::sys::unix::thread::Thread::new::thread_start::hf1005dad6ba8f2b1 [INFO] [stdout] at src/libstd/sys/unix/thread.rs:79 [INFO] [stdout] 29: 0x7f06e4bc34a4 - start_thread [INFO] [stdout] 30: 0x7f06e46eed0f - __clone [INFO] [stdout] 31: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] subsystems::cpu::cpu_instructions::test::try_call [INFO] [stdout] [INFO] [stdout] test result: FAILED. 10 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--bin srasboy' [INFO] running `"docker" "inspect" "0d1d605f0b02495e1b2b3da223478d4c787f4f8ab9a9da2d3970129dba3ad839"` [INFO] running `"docker" "rm" "-f" "0d1d605f0b02495e1b2b3da223478d4c787f4f8ab9a9da2d3970129dba3ad839"` [INFO] [stdout] 0d1d605f0b02495e1b2b3da223478d4c787f4f8ab9a9da2d3970129dba3ad839