[INFO] cloning repository https://github.com/Valtis/RustNes [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Valtis/RustNes" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FValtis%2FRustNes", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FValtis%2FRustNes'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 836905877e12c5859cfc82be0fd03dc7beb0b771 [INFO] checking Valtis/RustNes against master#a609fb45efad59dfd459c76e50899be9f0583b5a for pr-80579 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FValtis%2FRustNes" "/workspace/builds/worker-13/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Valtis/RustNes on toolchain a609fb45efad59dfd459c76e50899be9f0583b5a [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Valtis/RustNes [INFO] finished tweaking git repo https://github.com/Valtis/RustNes [INFO] tweaked toml for git repo https://github.com/Valtis/RustNes written to /workspace/builds/worker-13/source/Cargo.toml [INFO] crate git repo https://github.com/Valtis/RustNes already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 38ec1499dcd7944d73b4d5d14e287a7f4ec5bb971648289b5e07f513fe9814f6 [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" "38ec1499dcd7944d73b4d5d14e287a7f4ec5bb971648289b5e07f513fe9814f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "38ec1499dcd7944d73b4d5d14e287a7f4ec5bb971648289b5e07f513fe9814f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "38ec1499dcd7944d73b4d5d14e287a7f4ec5bb971648289b5e07f513fe9814f6", kill_on_drop: false }` [INFO] [stdout] 38ec1499dcd7944d73b4d5d14e287a7f4ec5bb971648289b5e07f513fe9814f6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:b8eeb62f26c39b23691079a6cb6de528d8e88b4d71a8f6b1d30f8ba7d9c16de9" "/opt/rustwide/cargo-home/bin/cargo" "+a609fb45efad59dfd459c76e50899be9f0583b5a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 734d1f9f0c87134197c09d53d37d6625a38604234b59a919f565f84c5c312699 [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" "734d1f9f0c87134197c09d53d37d6625a38604234b59a919f565f84c5c312699", kill_on_drop: false }` [INFO] [stderr] Checking num-traits v0.1.37 [INFO] [stderr] Checking libc v0.2.23 [INFO] [stderr] Compiling sdl2-sys v0.30.0 [INFO] [stderr] Checking lazy_static v0.2.8 [INFO] [stderr] Checking bitflags v0.7.0 [INFO] [stderr] Checking rand v0.3.15 [INFO] [stderr] Checking time v0.1.37 [INFO] [stderr] Checking num-integer v0.1.34 [INFO] [stderr] Checking num-iter v0.1.33 [INFO] [stderr] Checking num v0.1.37 [INFO] [stderr] Checking sdl2 v0.30.0 [INFO] [stderr] Checking nes v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `AudioCallback`, `AudioDevice` [INFO] [stdout] --> src/console/mod.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use self::sdl2::audio::{AudioCallback, AudioSpecDesired, AudioDevice, AudioQueue}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/console/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/console/mod.rs:94:51 [INFO] [stdout] | [INFO] [stdout] 94 | let rom_mem = Rc::new(RefCell::new(rom as Box)); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [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/console/mod.rs:118:18 [INFO] [stdout] | [INFO] [stdout] 118 | ) as Box)); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/pulse_channel.rs:63:50 [INFO] [stdout] | [INFO] [stdout] 63 | let volume_envelope_divider_period = (0b0000_1111 & value); [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 assigned value [INFO] [stdout] --> src/apu/pulse_channel.rs:76:31 [INFO] [stdout] | [INFO] [stdout] 76 | let shift_count = (0b0000_0111 & value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/pulse_channel.rs:89:35 [INFO] [stdout] | [INFO] [stdout] 89 | let timer_high_bits = (0b0000_0111 & value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/triangle_channel.rs:33:34 [INFO] [stdout] | [INFO] [stdout] 33 | let counter_reload = (0b0111_1111 & value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/triangle_channel.rs:43:35 [INFO] [stdout] | [INFO] [stdout] 43 | let timer_high_bits = (0b0000_0111 & value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/noise_channel.rs:38:41 [INFO] [stdout] | [INFO] [stdout] 38 | let volume_divider_period = (0b0000_1111 & value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/noise_channel.rs:50:30 [INFO] [stdout] | [INFO] [stdout] 50 | let rate_index = (0b0000_1111 & value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/noise_channel.rs:93:25 [INFO] [stdout] | [INFO] [stdout] 93 | let bit_1 = (0b0000_0000_0000_0001 & self.shift_register); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/apu/dmc_channel.rs:25:35 [INFO] [stdout] | [INFO] [stdout] 25 | memory: Option>>>, [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Memory + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/dmc_channel.rs:186:40 [INFO] [stdout] | [INFO] [stdout] 186 | self.output.output_level = (0b0111_1111 & value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/apu/dmc_channel.rs:245:54 [INFO] [stdout] | [INFO] [stdout] 245 | pub fn set_memory(&mut self, mem: Rc>>) { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Memory + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::envelope::Envelope` [INFO] [stdout] --> src/apu/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use self::envelope::Envelope; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::sweep::Sweep` [INFO] [stdout] --> src/apu/mod.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use self::sweep::Sweep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/apu/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/apu/mod.rs:162:22 [INFO] [stdout] | [INFO] [stdout] 162 | audio_queue: Box>, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Audio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/apu/mod.rs:261:33 [INFO] [stdout] | [INFO] [stdout] 261 | pub fn new(audio_queue: Box>) -> Apu<'a> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Audio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/mod.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | ((cpu_frequency*1000_000.0) / sample_rate as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/apu/mod.rs:370:54 [INFO] [stdout] | [INFO] [stdout] 370 | pub fn set_memory(&mut self, mem: Rc>>) { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Memory + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/mod.rs:17:28 [INFO] [stdout] | [INFO] [stdout] 17 | memory: Rc>>, // reference to memory, so that cpu can use it [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Memory +'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/mod.rs:48:61 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn new(tv_system: &TvSystem, memory: Rc>>) -> Cpu<'a> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Memory + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ppu/vram.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | rom: Rc>>, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ppu/vram.rs:15:58 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new(mirroring: Mirroring, rom: Rc>>) -> Vram { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/ppu/renderer.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/ppu/renderer.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/ppu/renderer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/ppu/renderer.rs:56:22 [INFO] [stdout] | [INFO] [stdout] 56 | for y in (0..240) { [INFO] [stdout] | ^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/ppu/renderer.rs:57:27 [INFO] [stdout] | [INFO] [stdout] 57 | for x in (0..256) { [INFO] [stdout] | ^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ppu/mod.rs:58:15 [INFO] [stdout] | [INFO] [stdout] 58 | vram: Box, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ppu/mod.rs:74:19 [INFO] [stdout] | [INFO] [stdout] 74 | renderer: Box, [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderer + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/ppu/mod.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | try!(write!(f, "{:?}", self.registers)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ppu/mod.rs:118:23 [INFO] [stdout] | [INFO] [stdout] 118 | renderer: Box, [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderer + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ppu/mod.rs:121:29 [INFO] [stdout] | [INFO] [stdout] 121 | rom: Rc>>) -> Ppu<'a> { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory/mod.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | impl fmt::Debug for Memory { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory_bus/mod.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | rom: Rc>>, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory_bus/mod.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | ram: Box, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory_bus/mod.rs:64:36 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn new(rom: Rc>>, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory_bus/mod.rs:70:46 [INFO] [stdout] | [INFO] [stdout] 70 | ram: Box::new(Ram::new()) as Box, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/console/mod.rs:43:26 [INFO] [stdout] | [INFO] [stdout] 43 | .unwrap_or_else(|e| panic!("Failed to initialize SDL context")); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `consumed_time` [INFO] [stdout] --> src/console/mod.rs:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | let consumed_time = time::precise_time_ns() - current_time; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_consumed_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timer_low_bits` [INFO] [stdout] --> src/apu/pulse_channel.rs:85:17 [INFO] [stdout] | [INFO] [stdout] 85 | let timer_low_bits = value; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timer_low_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_buf` [INFO] [stdout] --> src/apu/dmc_channel.rs:71:17 [INFO] [stdout] | [INFO] [stdout] 71 | let new_buf = if let Some(ref memory) = self.memory { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/apu/dmc_channel.rs:71:39 [INFO] [stdout] | [INFO] [stdout] 71 | let new_buf = if let Some(ref memory) = self.memory { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enabled` [INFO] [stdout] --> src/apu/dmc_channel.rs:139:46 [INFO] [stdout] | [INFO] [stdout] 139 | fn cycle(&mut self, reader: &mut Reader, enabled: bool) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enabled` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/apu/sweep.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let mut sweep = (base >> self.shift) as i16; [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: unused imports: `AudioCallback`, `AudioDevice` [INFO] [stdout] --> src/console/mod.rs:6:25 [INFO] [stdout] | [INFO] [stdout] 6 | use self::sdl2::audio::{AudioCallback, AudioSpecDesired, AudioDevice, AudioQueue}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> src/console/mod.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/console/mod.rs:94:51 [INFO] [stdout] | [INFO] [stdout] 94 | let rom_mem = Rc::new(RefCell::new(rom as Box)); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [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/console/mod.rs:118:18 [INFO] [stdout] | [INFO] [stdout] 118 | ) as Box)); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/pulse_channel.rs:63:50 [INFO] [stdout] | [INFO] [stdout] 63 | let volume_envelope_divider_period = (0b0000_1111 & value); [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 assigned value [INFO] [stdout] --> src/apu/pulse_channel.rs:76:31 [INFO] [stdout] | [INFO] [stdout] 76 | let shift_count = (0b0000_0111 & value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/pulse_channel.rs:89:35 [INFO] [stdout] | [INFO] [stdout] 89 | let timer_high_bits = (0b0000_0111 & value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/triangle_channel.rs:33:34 [INFO] [stdout] | [INFO] [stdout] 33 | let counter_reload = (0b0111_1111 & value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/triangle_channel.rs:43:35 [INFO] [stdout] | [INFO] [stdout] 43 | let timer_high_bits = (0b0000_0111 & value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/noise_channel.rs:38:41 [INFO] [stdout] | [INFO] [stdout] 38 | let volume_divider_period = (0b0000_1111 & value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/noise_channel.rs:50:30 [INFO] [stdout] | [INFO] [stdout] 50 | let rate_index = (0b0000_1111 & value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/noise_channel.rs:93:25 [INFO] [stdout] | [INFO] [stdout] 93 | let bit_1 = (0b0000_0000_0000_0001 & self.shift_register); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/apu/dmc_channel.rs:25:35 [INFO] [stdout] | [INFO] [stdout] 25 | memory: Option>>>, [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Memory + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/dmc_channel.rs:186:40 [INFO] [stdout] | [INFO] [stdout] 186 | self.output.output_level = (0b0111_1111 & value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/apu/dmc_channel.rs:245:54 [INFO] [stdout] | [INFO] [stdout] 245 | pub fn set_memory(&mut self, mem: Rc>>) { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Memory + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/apu/dmc_channel.rs:299:52 [INFO] [stdout] | [INFO] [stdout] 299 | Box::new(MockMemory::new()) as Box)); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/apu/sweep.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::envelope::Envelope` [INFO] [stdout] --> src/apu/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use self::envelope::Envelope; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::sweep::Sweep` [INFO] [stdout] --> src/apu/mod.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 22 | use self::sweep::Sweep; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::VecDeque` [INFO] [stdout] --> src/apu/mod.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | use std::collections::VecDeque; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/apu/mod.rs:162:22 [INFO] [stdout] | [INFO] [stdout] 162 | audio_queue: Box>, [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Audio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/apu/mod.rs:261:33 [INFO] [stdout] | [INFO] [stdout] 261 | pub fn new(audio_queue: Box>) -> Apu<'a> { [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Audio` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/apu/mod.rs:285:13 [INFO] [stdout] | [INFO] [stdout] 285 | ((cpu_frequency*1000_000.0) / sample_rate as f64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/apu/mod.rs:370:54 [INFO] [stdout] | [INFO] [stdout] 370 | pub fn set_memory(&mut self, mem: Rc>>) { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Memory + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/apu/mod.rs:447:52 [INFO] [stdout] | [INFO] [stdout] 447 | Box::new(MockMemory::new()) as Box)); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/mod.rs:17:28 [INFO] [stdout] | [INFO] [stdout] 17 | memory: Rc>>, // reference to memory, so that cpu can use it [INFO] [stdout] | ^^^^^^^^^^ help: use `dyn`: `dyn Memory +'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/mod.rs:48:61 [INFO] [stdout] | [INFO] [stdout] 48 | pub fn new(tv_system: &TvSystem, memory: Rc>>) -> Cpu<'a> { [INFO] [stdout] | ^^^^^^^^^^^ help: use `dyn`: `dyn Memory + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu/mod.rs:2193:78 [INFO] [stdout] | [INFO] [stdout] 2193 | let memory = Rc::new(RefCell::new(Box::new(MockMemory::new()) as Box)); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ppu/vram.rs:8:25 [INFO] [stdout] | [INFO] [stdout] 8 | rom: Rc>>, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ppu/vram.rs:15:58 [INFO] [stdout] | [INFO] [stdout] 15 | pub fn new(mirroring: Mirroring, rom: Rc>>) -> Vram { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ppu/vram.rs:131:75 [INFO] [stdout] | [INFO] [stdout] 131 | let rom = Rc::new(RefCell::new(Box::new(MockMemory::new()) as Box)); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fmt` [INFO] [stdout] --> src/ppu/renderer.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fmt; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/ppu/renderer.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/ppu/renderer.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/ppu/renderer.rs:56:22 [INFO] [stdout] | [INFO] [stdout] 56 | for y in (0..240) { [INFO] [stdout] | ^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/ppu/renderer.rs:57:27 [INFO] [stdout] | [INFO] [stdout] 57 | for x in (0..256) { [INFO] [stdout] | ^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ppu/mod.rs:58:15 [INFO] [stdout] | [INFO] [stdout] 58 | vram: Box, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ppu/mod.rs:74:19 [INFO] [stdout] | [INFO] [stdout] 74 | renderer: Box, [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderer + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/ppu/mod.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | try!(write!(f, "{:?}", self.registers)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ppu/mod.rs:118:23 [INFO] [stdout] | [INFO] [stdout] 118 | renderer: Box, [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn Renderer + 'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ppu/mod.rs:121:29 [INFO] [stdout] | [INFO] [stdout] 121 | rom: Rc>>) -> Ppu<'a> { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rom::*` [INFO] [stdout] --> src/ppu/mod.rs:788:9 [INFO] [stdout] | [INFO] [stdout] 788 | use rom::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/ppu/mod.rs:829:75 [INFO] [stdout] | [INFO] [stdout] 829 | let rom = Rc::new(RefCell::new(Box::new(MockMemory::new()) as Box)); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory/mod.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | impl fmt::Debug for Memory { [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cpu/mod.rs:2132:13 [INFO] [stdout] | [INFO] [stdout] 2132 | let mut divisor:u8; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory_bus/mod.rs:10:25 [INFO] [stdout] | [INFO] [stdout] 10 | rom: Rc>>, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory_bus/mod.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | ram: Box, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/cpu/mod.rs:2133:13 [INFO] [stdout] | [INFO] [stdout] 2133 | let mut color_freq:f64; [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/cpu/mod.rs:2134:13 [INFO] [stdout] | [INFO] [stdout] 2134 | let mut master_freq:f64; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory_bus/mod.rs:64:36 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn new(rom: Rc>>, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory_bus/mod.rs:70:46 [INFO] [stdout] | [INFO] [stdout] 70 | ram: Box::new(Ram::new()) as Box, [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `memory::*` [INFO] [stdout] --> src/memory_bus/mod.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | use memory::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ppu::*` [INFO] [stdout] --> src/memory_bus/mod.rs:86:9 [INFO] [stdout] | [INFO] [stdout] 86 | use ppu::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AudioQueue` [INFO] [stdout] --> src/memory_bus/mod.rs:92:29 [INFO] [stdout] | [INFO] [stdout] 92 | use self::sdl2::audio::{AudioQueue}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/memory_bus/mod.rs:146:75 [INFO] [stdout] | [INFO] [stdout] 146 | let rom = Rc::new(RefCell::new(Box::new(MockMemory::new()) as Box)); [INFO] [stdout] | ^^^^^^ help: use `dyn`: `dyn Memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `memory::*` [INFO] [stdout] --> src/ram/mod.rs:47:9 [INFO] [stdout] | [INFO] [stdout] 47 | use memory::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `PAL_RATE` [INFO] [stdout] --> src/apu/noise_channel.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / static PAL_RATE: [u16; 16] = [ [INFO] [stdout] 13 | | 4, 8, 14, 30, 60, 88, 118, 148, [INFO] [stdout] 14 | | 188, 236, 354, 472, 708, 944, 1890, 3778 [INFO] [stdout] 15 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `PAL_RATE` [INFO] [stdout] --> src/apu/dmc_channel.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / static PAL_RATE : [u16; 16] = [ [INFO] [stdout] 13 | | 398, 354, 316, 298, 276, 236, 210, 198, [INFO] [stdout] 14 | | 176, 148, 132, 118, 98, 78, 66, 50 [INFO] [stdout] 15 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `halted` [INFO] [stdout] --> src/apu/length_counter.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn halted(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `enabled` [INFO] [stdout] --> src/apu/length_counter.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn enabled(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/ppu/renderer.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | self.canvas.copy(&self.texture, None, Rect::new(0, 0, 256*2, 240*2)); [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: 56 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/console/mod.rs:43:26 [INFO] [stdout] | [INFO] [stdout] 43 | .unwrap_or_else(|e| panic!("Failed to initialize SDL context")); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `consumed_time` [INFO] [stdout] --> src/console/mod.rs:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | let consumed_time = time::precise_time_ns() - current_time; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_consumed_time` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `timer_low_bits` [INFO] [stdout] --> src/apu/pulse_channel.rs:85:17 [INFO] [stdout] | [INFO] [stdout] 85 | let timer_low_bits = value; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timer_low_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_buf` [INFO] [stdout] --> src/apu/dmc_channel.rs:71:17 [INFO] [stdout] | [INFO] [stdout] 71 | let new_buf = if let Some(ref memory) = self.memory { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_buf` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `memory` [INFO] [stdout] --> src/apu/dmc_channel.rs:71:39 [INFO] [stdout] | [INFO] [stdout] 71 | let new_buf = if let Some(ref memory) = self.memory { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `enabled` [INFO] [stdout] --> src/apu/dmc_channel.rs:139:46 [INFO] [stdout] | [INFO] [stdout] 139 | fn cycle(&mut self, reader: &mut Reader, enabled: bool) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enabled` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/apu/dmc_channel.rs:286:28 [INFO] [stdout] | [INFO] [stdout] 286 | fn read(&mut self, address: u16) -> u8 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/apu/dmc_channel.rs:290:29 [INFO] [stdout] | [INFO] [stdout] 290 | fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/apu/dmc_channel.rs:290:43 [INFO] [stdout] | [INFO] [stdout] 290 | fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> src/apu/mod.rs:413:29 [INFO] [stdout] | [INFO] [stdout] 413 | fn queue(&mut self, slice: &[f32]) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/apu/mod.rs:431:28 [INFO] [stdout] | [INFO] [stdout] 431 | fn read(&mut self, address: u16) -> u8 { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `address` [INFO] [stdout] --> src/apu/mod.rs:435:29 [INFO] [stdout] | [INFO] [stdout] 435 | fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/apu/mod.rs:435:43 [INFO] [stdout] | [INFO] [stdout] 435 | fn write(&mut self, address: u16, value: u8) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pixels` [INFO] [stdout] --> src/ppu/mod.rs:823:30 [INFO] [stdout] | [INFO] [stdout] 823 | fn render(&mut self, pixels: &Vec) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pixels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pixels` [INFO] [stdout] --> src/memory_bus/mod.rs:105:30 [INFO] [stdout] | [INFO] [stdout] 105 | fn render(&mut self, pixels: &Vec) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_pixels` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `slice` [INFO] [stdout] --> src/memory_bus/mod.rs:168:29 [INFO] [stdout] | [INFO] [stdout] 168 | fn queue(&mut self, slice: &[f32]) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/apu/triangle_channel.rs:168:13 [INFO] [stdout] | [INFO] [stdout] 168 | let mut channel = create_test_channel(); [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/apu/sweep.rs:64:13 [INFO] [stdout] | [INFO] [stdout] 64 | let mut sweep = (base >> self.shift) as i16; [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/cpu/mod.rs:2132:13 [INFO] [stdout] | [INFO] [stdout] 2132 | let mut divisor:u8; [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/cpu/mod.rs:2133:13 [INFO] [stdout] | [INFO] [stdout] 2133 | let mut color_freq:f64; [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/cpu/mod.rs:2134:13 [INFO] [stdout] | [INFO] [stdout] 2134 | let mut master_freq:f64; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `PAL_RATE` [INFO] [stdout] --> src/apu/noise_channel.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / static PAL_RATE: [u16; 16] = [ [INFO] [stdout] 13 | | 4, 8, 14, 30, 60, 88, 118, 148, [INFO] [stdout] 14 | | 188, 236, 354, 472, 708, 944, 1890, 3778 [INFO] [stdout] 15 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static is never used: `PAL_RATE` [INFO] [stdout] --> src/apu/dmc_channel.rs:12:1 [INFO] [stdout] | [INFO] [stdout] 12 | / static PAL_RATE : [u16; 16] = [ [INFO] [stdout] 13 | | 398, 354, 316, 298, 276, 236, 210, 198, [INFO] [stdout] 14 | | 176, 148, 132, 118, 98, 78, 66, 50 [INFO] [stdout] 15 | | ]; [INFO] [stdout] | |__^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `writing_to_0x400B_loads_length_counter` should have a snake case name [INFO] [stdout] --> src/apu/triangle_channel.rs:173:8 [INFO] [stdout] | [INFO] [stdout] 173 | fn writing_to_0x400B_loads_length_counter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `writing_to_0x400_b_loads_length_counter` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `writing_to_0x400B_sets_linear_counter_reload_flag` should have a snake case name [INFO] [stdout] --> src/apu/triangle_channel.rs:229:8 [INFO] [stdout] | [INFO] [stdout] 229 | fn writing_to_0x400B_sets_linear_counter_reload_flag() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `writing_to_0x400_b_sets_linear_counter_reload_flag` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_0x400A_sets_timer_low_bits` should have a snake case name [INFO] [stdout] --> src/apu/triangle_channel.rs:246:8 [INFO] [stdout] | [INFO] [stdout] 246 | fn write_to_0x400A_sets_timer_low_bits() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_0x400_a_sets_timer_low_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_0x400B_sets_timer_high_bits` should have a snake case name [INFO] [stdout] --> src/apu/triangle_channel.rs:254:8 [INFO] [stdout] | [INFO] [stdout] 254 | fn write_to_0x400B_sets_timer_high_bits() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_0x400_b_sets_timer_high_bits` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:318:27 [INFO] [stdout] | [INFO] [stdout] 318 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[deny(overflowing_literals)]` on by default [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:333:27 [INFO] [stdout] | [INFO] [stdout] 333 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:355:27 [INFO] [stdout] | [INFO] [stdout] 355 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:368:27 [INFO] [stdout] | [INFO] [stdout] 368 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:382:27 [INFO] [stdout] | [INFO] [stdout] 382 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:394:27 [INFO] [stdout] | [INFO] [stdout] 394 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:411:27 [INFO] [stdout] | [INFO] [stdout] 411 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:422:27 [INFO] [stdout] | [INFO] [stdout] 422 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:434:27 [INFO] [stdout] | [INFO] [stdout] 434 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:450:27 [INFO] [stdout] | [INFO] [stdout] 450 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:463:27 [INFO] [stdout] | [INFO] [stdout] 463 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:476:27 [INFO] [stdout] | [INFO] [stdout] 476 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:490:27 [INFO] [stdout] | [INFO] [stdout] 490 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:506:27 [INFO] [stdout] | [INFO] [stdout] 506 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:525:27 [INFO] [stdout] | [INFO] [stdout] 525 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/dmc_channel.rs:536:27 [INFO] [stdout] | [INFO] [stdout] 536 | dmc.write(0x4012, 0x100); // random mem address, not used here [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/mod.rs:464:27 [INFO] [stdout] | [INFO] [stdout] 464 | apu.write(0x4012, 0x100); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/apu/mod.rs:495:27 [INFO] [stdout] | [INFO] [stdout] 495 | apu.write(0x4012, 0x100); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x100` (decimal `256`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `writing_0x00_into_0x4017_should_not_clock_pulse_channeL_1_envelope` should have a snake case name [INFO] [stdout] --> src/apu/mod.rs:799:8 [INFO] [stdout] | [INFO] [stdout] 799 | fn writing_0x00_into_0x4017_should_not_clock_pulse_channeL_1_envelope() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `writing_0x00_into_0x4017_should_not_clock_pulse_channe_l_1_envelope` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `writing_0x00_into_0x4017_should_not_clock_pulse_channeL_2_envelope` should have a snake case name [INFO] [stdout] --> src/apu/mod.rs:836:8 [INFO] [stdout] | [INFO] [stdout] 836 | fn writing_0x00_into_0x4017_should_not_clock_pulse_channeL_2_envelope() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `writing_0x00_into_0x4017_should_not_clock_pulse_channe_l_2_envelope` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `writing_0xC0_into_0x4017_should_clear_frame_interrupt` should have a snake case name [INFO] [stdout] --> src/apu/mod.rs:974:8 [INFO] [stdout] | [INFO] [stdout] 974 | fn writing_0xC0_into_0x4017_should_clear_frame_interrupt() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `writing_0x_c0_into_0x4017_should_clear_frame_interrupt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/cpu/mod.rs:6924:28 [INFO] [stdout] | [INFO] [stdout] 6924 | cpu.status_flags = 0x103; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x103` (decimal `259`) does not fit into the type `u8` and will become `3u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_0x1FFF_is_redirected_to_rom` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 150 | fn write_to_0x1FFF_is_redirected_to_rom() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_0x1_fff_is_redirected_to_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_0x1FFF_is_redirected_to_rom` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:157:8 [INFO] [stdout] | [INFO] [stdout] 157 | fn read_from_0x1FFF_is_redirected_to_rom() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_0x1_fff_is_redirected_to_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vram_address_0x3EFF_mirrors_to_0x2EFF` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:371:8 [INFO] [stdout] | [INFO] [stdout] 371 | fn vram_address_0x3EFF_mirrors_to_0x2EFF() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `vram_address_0x3_eff_mirrors_to_0x2_eff` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_vram_address_0x3F00_writes_to_beginning_of_palette_ram` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:378:8 [INFO] [stdout] | [INFO] [stdout] 378 | fn write_to_vram_address_0x3F00_writes_to_beginning_of_palette_ram() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_vram_address_0x3_f00_writes_to_beginning_of_palette_ram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_vram_address_0x3F00_reads_from_beginning_of_palette_ram` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:386:8 [INFO] [stdout] | [INFO] [stdout] 386 | fn read_from_vram_address_0x3F00_reads_from_beginning_of_palette_ram() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_vram_address_0x3_f00_reads_from_beginning_of_palette_ram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_vram_address_0x3F1F_writes_to_end_of_palette_ram` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:393:8 [INFO] [stdout] | [INFO] [stdout] 393 | fn write_to_vram_address_0x3F1F_writes_to_end_of_palette_ram() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_vram_address_0x3_f1_f_writes_to_end_of_palette_ram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_vram_address_0x3F1F_reads_from_end_of_palette_ram` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:401:8 [INFO] [stdout] | [INFO] [stdout] 401 | fn read_from_vram_address_0x3F1F_reads_from_end_of_palette_ram() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_vram_address_0x3_f1_f_reads_from_end_of_palette_ram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_vram_address_0x3F10_is_mirrored_to_0x3F00` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:408:8 [INFO] [stdout] | [INFO] [stdout] 408 | fn write_to_vram_address_0x3F10_is_mirrored_to_0x3F00() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_vram_address_0x3_f10_is_mirrored_to_0x3_f00` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_vram_address_0x3F10_is_mirrored_to_0x3F00` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:415:8 [INFO] [stdout] | [INFO] [stdout] 415 | fn read_from_vram_address_0x3F10_is_mirrored_to_0x3F00() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_vram_address_0x3_f10_is_mirrored_to_0x3_f00` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_vram_address_0x3F14_is_mirrored_to_0x3F04` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:422:8 [INFO] [stdout] | [INFO] [stdout] 422 | fn write_to_vram_address_0x3F14_is_mirrored_to_0x3F04() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_vram_address_0x3_f14_is_mirrored_to_0x3_f04` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_vram_address_0x3F14_is_mirrored_to_0x3F04` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:429:8 [INFO] [stdout] | [INFO] [stdout] 429 | fn read_from_vram_address_0x3F14_is_mirrored_to_0x3F04() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_vram_address_0x3_f14_is_mirrored_to_0x3_f04` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_vram_address_0x3F18_is_mirrored_to_0x3F08` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:437:8 [INFO] [stdout] | [INFO] [stdout] 437 | fn write_to_vram_address_0x3F18_is_mirrored_to_0x3F08() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_vram_address_0x3_f18_is_mirrored_to_0x3_f08` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_vram_address_0x3F18_is_mirrored_to_0x3F08` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:444:8 [INFO] [stdout] | [INFO] [stdout] 444 | fn read_from_vram_address_0x3F18_is_mirrored_to_0x3F08() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_vram_address_0x3_f18_is_mirrored_to_0x3_f08` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_vram_address_0x3F1C_is_mirrored_to_0x3F0C` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:451:8 [INFO] [stdout] | [INFO] [stdout] 451 | fn write_to_vram_address_0x3F1C_is_mirrored_to_0x3F0C() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_vram_address_0x3_f1_c_is_mirrored_to_0x3_f0_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_vram_address_0x3F1C_is_mirrored_to_0x3F0C` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:458:8 [INFO] [stdout] | [INFO] [stdout] 458 | fn read_from_vram_address_0x3F1C_is_mirrored_to_0x3F0C() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_vram_address_0x3_f1_c_is_mirrored_to_0x3_f0_c` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_vram_address_0x3F20_is_mirrored_to_0x3F00` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:466:8 [INFO] [stdout] | [INFO] [stdout] 466 | fn write_to_vram_address_0x3F20_is_mirrored_to_0x3F00() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_vram_address_0x3_f20_is_mirrored_to_0x3_f00` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_vram_address_0x3F20_is_mirrored_to_0x3F00` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:473:8 [INFO] [stdout] | [INFO] [stdout] 473 | fn read_from_vram_address_0x3F20_is_mirrored_to_0x3F00() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_vram_address_0x3_f20_is_mirrored_to_0x3_f00` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_vram_address_0x3FFF_is_mirrored_to_0x3F1F` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:480:8 [INFO] [stdout] | [INFO] [stdout] 480 | fn write_to_vram_address_0x3FFF_is_mirrored_to_0x3F1F() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_vram_address_0x3_fff_is_mirrored_to_0x3_f1_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_vram_address_0x3FFF_is_mirrored_to_0x3F1F` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:487:8 [INFO] [stdout] | [INFO] [stdout] 487 | fn read_from_vram_address_0x3FFF_is_mirrored_to_0x3F1F() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_vram_address_0x3_fff_is_mirrored_to_0x3_f1_f` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_vram_address_0x3F45_is_mirrored_to_0x3F05` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:494:8 [INFO] [stdout] | [INFO] [stdout] 494 | fn write_to_vram_address_0x3F45_is_mirrored_to_0x3F05() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_vram_address_0x3_f45_is_mirrored_to_0x3_f05` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_vram_address_0x3F45_is_mirrored_to_0x3F05` should have a snake case name [INFO] [stdout] --> src/ppu/vram.rs:501:8 [INFO] [stdout] | [INFO] [stdout] 501 | fn read_from_vram_address_0x3F45_is_mirrored_to_0x3F05() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_vram_address_0x3_f45_is_mirrored_to_0x3_f05` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/ppu/renderer.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | self.canvas.copy(&self.texture, None, Rect::new(0, 0, 256*2, 240*2)); [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: function `read_from_0x2007_returns_vram_read_buffer_value_when_reading_below_0x3F00` should have a snake case name [INFO] [stdout] --> src/ppu/mod.rs:1076:8 [INFO] [stdout] | [INFO] [stdout] 1076 | fn read_from_0x2007_returns_vram_read_buffer_value_when_reading_below_0x3F00() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_0x2007_returns_vram_read_buffer_value_when_reading_below_0x3_f00` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_0x2007_updates_read_buffer_to_value_at_current_address_when_reading_below_0x3F00` should have a snake case name [INFO] [stdout] --> src/ppu/mod.rs:1085:8 [INFO] [stdout] | [INFO] [stdout] 1085 | fn read_from_0x2007_updates_read_buffer_to_value_at_current_address_when_reading_below_0x3F00() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_0x2007_updates_read_buffer_to_value_at_current_address_when_reading_below_0x3_f00` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_0x2007_returns_data_straight_from_vram_skipping_read_buffer_when_reading_at_or_above_0x3F00` should have a snake case name [INFO] [stdout] --> src/ppu/mod.rs:1095:8 [INFO] [stdout] | [INFO] [stdout] 1095 | fn read_from_0x2007_returns_data_straight_from_vram_skipping_read_buffer_when_reading_at_or_above_0x3F00() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_0x2007_returns_data_straight_from_vram_skipping_read_buffer_when_reading_at_or_above_0x3_f00` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: literal out of range for u8 [INFO] [stdout] --> src/ppu/mod.rs:1108:32 [INFO] [stdout] | [INFO] [stdout] 1108 | ppu.vram.write(0x3F00, 0x200); [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: the literal `0x200` (decimal `512`) does not fit into the type `u8` and will become `0u8` [INFO] [stdout] = help: consider using `u16` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_address_0x200A_is_mirrored_to_status_register` should have a snake case name [INFO] [stdout] --> src/ppu/mod.rs:1158:8 [INFO] [stdout] | [INFO] [stdout] 1158 | fn read_from_address_0x200A_is_mirrored_to_status_register() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_address_0x200_a_is_mirrored_to_status_register` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_address_between_0x2008_and_0x3FFF_is_mirrored_correctly` should have a snake case name [INFO] [stdout] --> src/ppu/mod.rs:1165:8 [INFO] [stdout] | [INFO] [stdout] 1165 | fn write_to_address_between_0x2008_and_0x3FFF_is_mirrored_correctly() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_address_between_0x2008_and_0x3_fff_is_mirrored_correctly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_address_between_0x2008_and_0x3FFF_is_mirrored_correctly` should have a snake case name [INFO] [stdout] --> src/ppu/mod.rs:1172:8 [INFO] [stdout] | [INFO] [stdout] 1172 | fn read_from_address_between_0x2008_and_0x3FFF_is_mirrored_correctly() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_address_between_0x2008_and_0x3_fff_is_mirrored_correctly` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_0x3FFF_writes_to_ppu_data_register` should have a snake case name [INFO] [stdout] --> src/ppu/mod.rs:1181:8 [INFO] [stdout] | [INFO] [stdout] 1181 | fn write_to_0x3FFF_writes_to_ppu_data_register() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_0x3_fff_writes_to_ppu_data_register` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_0x3FFF_reads_from_ppu_data_register` should have a snake case name [INFO] [stdout] --> src/ppu/mod.rs:1189:8 [INFO] [stdout] | [INFO] [stdout] 1189 | fn read_from_0x3FFF_reads_from_ppu_data_register() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_0x3_fff_reads_from_ppu_data_register` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_0x1FFF_is_redirected_to_ram` should have a snake case name [INFO] [stdout] --> src/memory_bus/mod.rs:188:8 [INFO] [stdout] | [INFO] [stdout] 188 | fn write_to_0x1FFF_is_redirected_to_ram() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_0x1_fff_is_redirected_to_ram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_at_0x1FFF_is_read_from_ram` should have a snake case name [INFO] [stdout] --> src/memory_bus/mod.rs:209:8 [INFO] [stdout] | [INFO] [stdout] 209 | fn read_at_0x1FFF_is_read_from_ram() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_at_0x1_fff_is_read_from_ram` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_0xFFFF_is_redirected_to_rom` should have a snake case name [INFO] [stdout] --> src/memory_bus/mod.rs:230:8 [INFO] [stdout] | [INFO] [stdout] 230 | fn write_to_0xFFFF_is_redirected_to_rom() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_to_0x_ffff_is_redirected_to_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_at_0xFFFF_is_read_from_rom` should have a snake case name [INFO] [stdout] --> src/memory_bus/mod.rs:251:8 [INFO] [stdout] | [INFO] [stdout] 251 | fn read_at_0xFFFF_is_read_from_rom() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_at_0x_ffff_is_read_from_rom` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_from_above_0x1FFF_panics` should have a snake case name [INFO] [stdout] --> src/ram/mod.rs:98:8 [INFO] [stdout] | [INFO] [stdout] 98 | fn read_from_above_0x1FFF_panics() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `read_from_above_0x1_fff_panics` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_from_above_0x1FFF_panics` should have a snake case name [INFO] [stdout] --> src/ram/mod.rs:105:8 [INFO] [stdout] | [INFO] [stdout] 105 | fn write_from_above_0x1FFF_panics() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `write_from_above_0x1_fff_panics` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 20 previous errors; 119 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `nes` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `Command { std: "docker" "inspect" "734d1f9f0c87134197c09d53d37d6625a38604234b59a919f565f84c5c312699", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "734d1f9f0c87134197c09d53d37d6625a38604234b59a919f565f84c5c312699", kill_on_drop: false }` [INFO] [stdout] 734d1f9f0c87134197c09d53d37d6625a38604234b59a919f565f84c5c312699