[INFO] cloning repository https://github.com/Lisible/oca
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Lisible/oca" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLisible%2Foca", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLisible%2Foca'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6e5797167ce1928e5a01101a7646e400be9a693e
[INFO] testing Lisible/oca against beta-2020-10-09 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLisible%2Foca" "/workspace/builds/worker-10/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-10/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Lisible/oca on toolchain beta-2020-10-09
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Lisible/oca
[INFO] finished tweaking git repo https://github.com/Lisible/oca
[INFO] tweaked toml for git repo https://github.com/Lisible/oca written to /workspace/builds/worker-10/source/Cargo.toml
[INFO] crate git repo https://github.com/Lisible/oca already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lazy_static v1.2.0
[INFO] [stderr]   Downloaded cfg-if v0.1.6
[INFO] [stderr]   Downloaded sdl2 v0.32.0
[INFO] [stderr]   Downloaded sdl2-sys v0.32.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "+beta-2020-10-09" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 28ffb5d234b62eda4e010b3e361bcc7a0dce4556baa1561e23f624721d8c6c17
[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" "28ffb5d234b62eda4e010b3e361bcc7a0dce4556baa1561e23f624721d8c6c17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "28ffb5d234b62eda4e010b3e361bcc7a0dce4556baa1561e23f624721d8c6c17", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "28ffb5d234b62eda4e010b3e361bcc7a0dce4556baa1561e23f624721d8c6c17", kill_on_drop: false }`
[INFO] [stdout] 28ffb5d234b62eda4e010b3e361bcc7a0dce4556baa1561e23f624721d8c6c17
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "+beta-2020-10-09" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8ad291e64c7c7d6d3e38e64dfdcc0f0741c0e0c9175077e021e7174fa402b494
[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" "8ad291e64c7c7d6d3e38e64dfdcc0f0741c0e0c9175077e021e7174fa402b494", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling num-integer v0.1.39
[INFO] [stderr]    Compiling sdl2-sys v0.32.4
[INFO] [stderr]    Compiling num-iter v0.1.37
[INFO] [stderr]    Compiling num v0.1.42
[INFO] [stderr]    Compiling sdl2 v0.32.0
[INFO] [stderr]    Compiling oca v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gb/emulator.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn new(display: Box<Display>) -> Emulator {
[INFO] [stdout]    |                             ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gb/gpu/gpu.rs:59:18
[INFO] [stdout]    |
[INFO] [stdout] 59 |     display: Box<Display>,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gb/gpu/gpu.rs:64:65
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn new(memory_bus: Rc<RefCell<MemoryBus>>, display: Box<Display>) -> GPU {
[INFO] [stdout]    |                                                                 ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |                     (tile_identifier as u16 * 16)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:185:21
[INFO] [stdout]     |
[INFO] [stdout] 185 |                     ((tile_identifier as u16 + 128) * 16)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/gb/debugger/debugger.rs:90:25
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let line = line.trim_left_matches("0x");
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]    --> src/gb/debugger/debugger.rs:136:23
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let arg = arg.trim_left_matches("0x");
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gb/cpu/cpu.rs:862:13
[INFO] [stdout]     |
[INFO] [stdout] 862 |             _ => panic!("Unimplemented CB instruction")
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mode` is never read
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let mut mode = 0;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gb/cpu/cpu.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut cycles = match opcode {
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut tile_data_address: u16;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let mut background_memory_address: u16;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:153:13
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let mut y_pos =
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `ADDRESS_WINDOW_TILE_MAP_2`
[INFO] [stdout]   --> src/gb/gpu/gpu.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | const ADDRESS_WINDOW_TILE_MAP_2: u16 = 0x9800;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `ADDRESS_WINDOW_TILE_MAP_1`
[INFO] [stdout]   --> src/gb/gpu/gpu.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | const ADDRESS_WINDOW_TILE_MAP_1: u16 = 0x9C00;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/gb/platform/sdl2/sdl2_display.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         canvas.set_scale(800f32/160f32, 600f32/144f32);
[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/gb/platform/sdl2/sdl2_display.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.canvas.draw_point(Point::new(x as i32, y as i32));
[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: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/gb/platform/sdl2/sdl2_display.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         self.canvas.fill_rect(Rect::new(0, 0, 800, 600));
[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: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/main_sdl.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut display = SDL2Display::new(window);
[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: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 16.17s
[INFO] running `Command { std: "docker" "inspect" "8ad291e64c7c7d6d3e38e64dfdcc0f0741c0e0c9175077e021e7174fa402b494", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ad291e64c7c7d6d3e38e64dfdcc0f0741c0e0c9175077e021e7174fa402b494", kill_on_drop: false }`
[INFO] [stdout] 8ad291e64c7c7d6d3e38e64dfdcc0f0741c0e0c9175077e021e7174fa402b494
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "+beta-2020-10-09" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3c630bcd32eec45df6f3827507e9b50e9746359dafabaee49f44c09f2ead78e3
[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" "3c630bcd32eec45df6f3827507e9b50e9746359dafabaee49f44c09f2ead78e3", kill_on_drop: false }`
[INFO] [stderr]    Compiling oca v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gb/emulator.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn new(display: Box<Display>) -> Emulator {
[INFO] [stdout]    |                             ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gb/gpu/gpu.rs:59:18
[INFO] [stdout]    |
[INFO] [stdout] 59 |     display: Box<Display>,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gb/gpu/gpu.rs:64:65
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn new(memory_bus: Rc<RefCell<MemoryBus>>, display: Box<Display>) -> GPU {
[INFO] [stdout]    |                                                                 ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |                     (tile_identifier as u16 * 16)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:185:21
[INFO] [stdout]     |
[INFO] [stdout] 185 |                     ((tile_identifier as u16 + 128) * 16)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/gb/debugger/debugger.rs:90:25
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let line = line.trim_left_matches("0x");
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]    --> src/gb/debugger/debugger.rs:136:23
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let arg = arg.trim_left_matches("0x");
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gb/cpu/cpu.rs:862:13
[INFO] [stdout]     |
[INFO] [stdout] 862 |             _ => panic!("Unimplemented CB instruction")
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mode` is never read
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let mut mode = 0;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gb/cpu/cpu.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut cycles = match opcode {
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut tile_data_address: u16;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let mut background_memory_address: u16;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:153:13
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let mut y_pos =
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `ADDRESS_WINDOW_TILE_MAP_2`
[INFO] [stdout]   --> src/gb/gpu/gpu.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | const ADDRESS_WINDOW_TILE_MAP_2: u16 = 0x9800;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `ADDRESS_WINDOW_TILE_MAP_1`
[INFO] [stdout]   --> src/gb/gpu/gpu.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | const ADDRESS_WINDOW_TILE_MAP_1: u16 = 0x9C00;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/gb/platform/sdl2/sdl2_display.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         canvas.set_scale(800f32/160f32, 600f32/144f32);
[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/gb/platform/sdl2/sdl2_display.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.canvas.draw_point(Point::new(x as i32, y as i32));
[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: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/gb/platform/sdl2/sdl2_display.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         self.canvas.fill_rect(Rect::new(0, 0, 800, 600));
[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: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gb/emulator.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn new(display: Box<Display>) -> Emulator {
[INFO] [stdout]    |                             ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gb/gpu/gpu.rs:59:18
[INFO] [stdout]    |
[INFO] [stdout] 59 |     display: Box<Display>,
[INFO] [stdout]    |                  ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/gb/gpu/gpu.rs:64:65
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn new(memory_bus: Rc<RefCell<MemoryBus>>, display: Box<Display>) -> GPU {
[INFO] [stdout]    |                                                                 ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |                     (tile_identifier as u16 * 16)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:185:21
[INFO] [stdout]     |
[INFO] [stdout] 185 |                     ((tile_identifier as u16 + 128) * 16)
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/bin/main_sdl.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let mut display = SDL2Display::new(window);
[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: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/gb/debugger/debugger.rs:90:25
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let line = line.trim_left_matches("0x");
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]    --> src/gb/debugger/debugger.rs:136:23
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let arg = arg.trim_left_matches("0x");
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/gb/cpu/cpu.rs:862:13
[INFO] [stdout]     |
[INFO] [stdout] 862 |             _ => panic!("Unimplemented CB instruction")
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `mode` is never read
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let mut mode = 0;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gb/cpu/cpu.rs:274:13
[INFO] [stdout]     |
[INFO] [stdout] 274 |         let mut cycles = match opcode {
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut tile_data_address: u16;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |         let mut background_memory_address: u16;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/gb/gpu/gpu.rs:153:13
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let mut y_pos =
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `ADDRESS_WINDOW_TILE_MAP_2`
[INFO] [stdout]   --> src/gb/gpu/gpu.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | const ADDRESS_WINDOW_TILE_MAP_2: u16 = 0x9800;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `ADDRESS_WINDOW_TILE_MAP_1`
[INFO] [stdout]   --> src/gb/gpu/gpu.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | const ADDRESS_WINDOW_TILE_MAP_1: u16 = 0x9C00;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/gb/platform/sdl2/sdl2_display.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         canvas.set_scale(800f32/160f32, 600f32/144f32);
[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/gb/platform/sdl2/sdl2_display.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         self.canvas.draw_point(Point::new(x as i32, y as i32));
[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: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/gb/platform/sdl2/sdl2_display.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |         self.canvas.fill_rect(Rect::new(0, 0, 800, 600));
[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: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 5.59s
[INFO] running `Command { std: "docker" "inspect" "3c630bcd32eec45df6f3827507e9b50e9746359dafabaee49f44c09f2ead78e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c630bcd32eec45df6f3827507e9b50e9746359dafabaee49f44c09f2ead78e3", kill_on_drop: false }`
[INFO] [stdout] 3c630bcd32eec45df6f3827507e9b50e9746359dafabaee49f44c09f2ead78e3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/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" "+beta-2020-10-09" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b646de454555ad851979a62a5f7a775d5dab923f65def09cbb26274e168914d2
[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" "b646de454555ad851979a62a5f7a775d5dab923f65def09cbb26274e168914d2", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/gb/emulator.rs:48:29
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn new(display: Box<Display>) -> Emulator {
[INFO] [stderr]    |                             ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/gb/gpu/gpu.rs:59:18
[INFO] [stderr]    |
[INFO] [stderr] 59 |     display: Box<Display>,
[INFO] [stderr]    |                  ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/gb/gpu/gpu.rs:64:65
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub fn new(memory_bus: Rc<RefCell<MemoryBus>>, display: Box<Display>) -> GPU {
[INFO] [stderr]    |                                                                 ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/gb/gpu/gpu.rs:183:21
[INFO] [stderr]     |
[INFO] [stderr] 183 |                     (tile_identifier as u16 * 16)
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/gb/gpu/gpu.rs:185:21
[INFO] [stderr]     |
[INFO] [stderr] 185 |                     ((tile_identifier as u16 + 128) * 16)
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stderr]   --> src/gb/debugger/debugger.rs:90:25
[INFO] [stderr]    |
[INFO] [stderr] 90 |         let line = line.trim_left_matches("0x");
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stderr]    --> src/gb/debugger/debugger.rs:136:23
[INFO] [stderr]     |
[INFO] [stderr] 136 |         let arg = arg.trim_left_matches("0x");
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gb/cpu/cpu.rs:862:13
[INFO] [stderr]     |
[INFO] [stderr] 862 |             _ => panic!("Unimplemented CB instruction")
[INFO] [stderr]     |             ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `mode` is never read
[INFO] [stderr]    --> src/gb/gpu/gpu.rs:294:13
[INFO] [stderr]     |
[INFO] [stderr] 294 |         let mut mode = 0;
[INFO] [stderr]     |             ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/gb/cpu/cpu.rs:274:13
[INFO] [stderr]     |
[INFO] [stderr] 274 |         let mut cycles = match opcode {
[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: variable does not need to be mutable
[INFO] [stderr]    --> src/gb/gpu/gpu.rs:129:13
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let mut tile_data_address: u16;
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/gb/gpu/gpu.rs:138:13
[INFO] [stderr]     |
[INFO] [stderr] 138 |         let mut background_memory_address: u16;
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/gb/gpu/gpu.rs:153:13
[INFO] [stderr]     |
[INFO] [stderr] 153 |         let mut y_pos =
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `ADDRESS_WINDOW_TILE_MAP_2`
[INFO] [stderr]   --> src/gb/gpu/gpu.rs:49:1
[INFO] [stderr]    |
[INFO] [stderr] 49 | const ADDRESS_WINDOW_TILE_MAP_2: u16 = 0x9800;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `ADDRESS_WINDOW_TILE_MAP_1`
[INFO] [stderr]   --> src/gb/gpu/gpu.rs:50:1
[INFO] [stderr]    |
[INFO] [stderr] 50 | const ADDRESS_WINDOW_TILE_MAP_1: u16 = 0x9C00;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/gb/platform/sdl2/sdl2_display.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 41 |         canvas.set_scale(800f32/160f32, 600f32/144f32);
[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/gb/platform/sdl2/sdl2_display.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 52 |         self.canvas.draw_point(Point::new(x as i32, y as i32));
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[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/gb/platform/sdl2/sdl2_display.rs:62:9
[INFO] [stderr]    |
[INFO] [stderr] 62 |         self.canvas.fill_rect(Rect::new(0, 0, 800, 600));
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: 18 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/gb/emulator.rs:48:29
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn new(display: Box<Display>) -> Emulator {
[INFO] [stderr]    |                             ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/gb/gpu/gpu.rs:59:18
[INFO] [stderr]    |
[INFO] [stderr] 59 |     display: Box<Display>,
[INFO] [stderr]    |                  ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/gb/gpu/gpu.rs:64:65
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub fn new(memory_bus: Rc<RefCell<MemoryBus>>, display: Box<Display>) -> GPU {
[INFO] [stderr]    |                                                                 ^^^^^^^ help: use `dyn`: `dyn Display`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/gb/gpu/gpu.rs:183:21
[INFO] [stderr]     |
[INFO] [stderr] 183 |                     (tile_identifier as u16 * 16)
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> src/gb/gpu/gpu.rs:185:21
[INFO] [stderr]     |
[INFO] [stderr] 185 |                     ((tile_identifier as u16 + 128) * 16)
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stderr]   --> src/gb/debugger/debugger.rs:90:25
[INFO] [stderr]    |
[INFO] [stderr] 90 |         let line = line.trim_left_matches("0x");
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stderr]    --> src/gb/debugger/debugger.rs:136:23
[INFO] [stderr]     |
[INFO] [stderr] 136 |         let arg = arg.trim_left_matches("0x");
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated associated function: `trim_start_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/gb/cpu/cpu.rs:862:13
[INFO] [stderr]     |
[INFO] [stderr] 862 |             _ => panic!("Unimplemented CB instruction")
[INFO] [stderr]     |             ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `mode` is never read
[INFO] [stderr]    --> src/gb/gpu/gpu.rs:294:13
[INFO] [stderr]     |
[INFO] [stderr] 294 |         let mut mode = 0;
[INFO] [stderr]     |             ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/gb/cpu/cpu.rs:274:13
[INFO] [stderr]     |
[INFO] [stderr] 274 |         let mut cycles = match opcode {
[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: variable does not need to be mutable
[INFO] [stderr]    --> src/gb/gpu/gpu.rs:129:13
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let mut tile_data_address: u16;
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/gb/gpu/gpu.rs:138:13
[INFO] [stderr]     |
[INFO] [stderr] 138 |         let mut background_memory_address: u16;
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/gb/gpu/gpu.rs:153:13
[INFO] [stderr]     |
[INFO] [stderr] 153 |         let mut y_pos =
[INFO] [stderr]     |             ----^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `ADDRESS_WINDOW_TILE_MAP_2`
[INFO] [stderr]   --> src/gb/gpu/gpu.rs:49:1
[INFO] [stderr]    |
[INFO] [stderr] 49 | const ADDRESS_WINDOW_TILE_MAP_2: u16 = 0x9800;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `ADDRESS_WINDOW_TILE_MAP_1`
[INFO] [stderr]   --> src/gb/gpu/gpu.rs:50:1
[INFO] [stderr]    |
[INFO] [stderr] 50 | const ADDRESS_WINDOW_TILE_MAP_1: u16 = 0x9C00;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `std::result::Result` that must be used
[INFO] [stderr]   --> src/gb/platform/sdl2/sdl2_display.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 41 |         canvas.set_scale(800f32/160f32, 600f32/144f32);
[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/gb/platform/sdl2/sdl2_display.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 52 |         self.canvas.draw_point(Point::new(x as i32, y as i32));
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[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/gb/platform/sdl2/sdl2_display.rs:62:9
[INFO] [stderr]    |
[INFO] [stderr] 62 |         self.canvas.fill_rect(Rect::new(0, 0, 800, 600));
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] 
[INFO] [stderr] warning: 18 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/bin/main_sdl.rs:46:9
[INFO] [stderr]    |
[INFO] [stderr] 46 |     let mut display = SDL2Display::new(window);
[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: 1 warning emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/oca-161f783416632f58
[INFO] [stdout] 
[INFO] [stdout] running 120 tests
[INFO] [stdout] test gb::cpu::bi_register_8bit::test::can_write_to_bi_register ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_read_16bit_value_from_bi_register ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_read_8bit_value_from_indirect_bi_register_decrement ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_read_8bit_value_from_indirect_bi_register_increment ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_read_8bit_value_from_indirect_bi_register ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_read_from_bi_register ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_read_16bit_value_from_indirect_address ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_set_flag ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_read_8bit_value_from_direct_io_address ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_read_16bit_value_from_sp ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_read_16bit_value_from_direct ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_write_8bit_value_to_indirect_bi_register_increment ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_write_8bit_value_to_indirect_bi_register_decrement ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_read_8bit_value_from_direct ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_write_8bit_value_to_indirect_bi_register ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_write_8bit_value_to_indirect_register_io ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_write_8bit_value_to_register ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_write_16bit_value_to_sp ... ok
[INFO] [stdout] test gb::cpu::bi_register_8bit::test::can_read_from_bi_register ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_read_from_register ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_write_16bit_value_to_bi_register ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_read_8bit_value_from_indirect_register_io ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_add16_sp_hc ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_write_to_register ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_adc ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_add16_sp ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_add16_sp_c ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_write_to_bi_register ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_add ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_add16_c ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_add_hc ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_and ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_adc_0 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_call_a16 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_add16 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_add16_hc ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_cpl ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_cp_0 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_dec16 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_ccf_1 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_dec8_0 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_ccf_2 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_ei ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_call_flag_a16 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_inc16 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_di ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_halt ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_daa ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_inc8 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_dec8_hc ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_inc8_hc ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_inc8_0 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_jp_flag_a16 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_jp_flag_a16_2 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_cp ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_jp_a16 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_call_flag_a16_2 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_daa_2 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_jp_bi_register_ptr ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_ld16 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_jr_flag_r8 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_jr_r8 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_or ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_ld8 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_ret_flag_2 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_rla_carry1 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_rlca ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_push16 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_ret_flag ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_ret ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_pop16 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_reti ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_rrca_2 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_dec8 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_read_8bit_value_from_direct_address ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_sbc ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_rst ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_stop_0 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_sub ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_sub_0 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_sub_hc ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_xor ... ok
[INFO] [stdout] test gb::cpu::cpu::test::run_interrupts ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_read_16bit_from_high_ram ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_read_16bit_from_io ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_read_16bit_from_ram ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_scf ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_sbc_0 ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_read_8bit_from_ram ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_read_8bit_from_io ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_read_8bit_signed_from_high_ram ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_read_8bit_signed_from_io ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_adc_hc ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_read_16bit_value_from_sp_relative ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_cp_hc ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_write_16bit_to_ram ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_write_16bit_to_io ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_read_8bit_from_high_ram ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_read_8bit_signed_from_ram ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_write_8bit_signed_to_ram ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_write_8bit_to_ram ... ok
[INFO] [stdout] test gb::utils::bit_manipulation::tests::get_bit ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_write_16bit_to_high_ram ... ok
[INFO] [stdout] test gb::utils::bit_manipulation::tests::is_bit_set ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_write_8bit_signed_to_io ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_write_8bit_to_io ... ok
[INFO] [stdout] test gb::cpu::cpu::test::can_get_flag ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_add_0 ... ok
[INFO] [stdout] test gb::utils::bit_manipulation::tests::reset_bit ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_rla_carry0 ... ok
[INFO] [stdout] test gb::utils::bit_manipulation::tests::set_bit ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_rra_carry1 ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_ret_flag_3 ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_write_8bit_to_high_ram ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_rlca_2 ... ok
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/main_sdl-9db695d28595520e
[INFO] [stdout] test gb::cpu::cpu::test::can_read_8bit_value_from_register ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_rra_carry0 ... ok
[INFO] [stdout] test gb::memory::memory_bus::test::can_write_8bit_signed_to_high_ram ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_sbc_hc ... ok
[INFO] [stdout] test gb::cpu::cpu::test::instruction_rrca ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 120 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[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] [stderr]      Running /opt/rustwide/target/debug/deps/test_sdl2_display-5719ed40d21a4058
[INFO] [stderr]    Doc-tests oca
[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] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> /opt/rustwide/workdir/src/gb/gpu/gpu.rs:183:21
[INFO] [stderr]     |
[INFO] [stderr] 183 |                     (tile_identifier as u16 * 16)
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around block return value
[INFO] [stderr]    --> /opt/rustwide/workdir/src/gb/gpu/gpu.rs:185:21
[INFO] [stderr]     |
[INFO] [stderr] 185 |                     ((tile_identifier as u16 + 128) * 16)
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: 2 warnings emitted
[INFO] [stderr] 
[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" "b646de454555ad851979a62a5f7a775d5dab923f65def09cbb26274e168914d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b646de454555ad851979a62a5f7a775d5dab923f65def09cbb26274e168914d2", kill_on_drop: false }`
[INFO] [stdout] b646de454555ad851979a62a5f7a775d5dab923f65def09cbb26274e168914d2
