[INFO] cloning repository https://github.com/jvaug227/nes_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jvaug227/nes_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjvaug227%2Fnes_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjvaug227%2Fnes_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] bdfb31c29870cab2e6d35b2f2f5fb8b610dc4cf0 [INFO] linting jvaug227/nes_rust against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjvaug227%2Fnes_rust" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jvaug227/nes_rust [INFO] finished tweaking git repo https://github.com/jvaug227/nes_rust [INFO] tweaked toml for git repo https://github.com/jvaug227/nes_rust written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jvaug227/nes_rust on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/jvaug227/nes_rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wgpu-core-deps-emscripten v25.0.0 [INFO] [stderr] Downloaded ab_glyph_rasterizer v0.1.5 [INFO] [stderr] Downloaded wgpu-core-deps-windows-linux-android v25.0.0 [INFO] [stderr] Downloaded wgpu-core-deps-apple v25.0.0 [INFO] [stderr] Downloaded wgpu-types v25.0.0 [INFO] [stderr] Downloaded android_system_properties v0.1.2 [INFO] [stderr] Downloaded ecolor v0.32.3 [INFO] [stderr] Downloaded emath v0.32.3 [INFO] [stderr] Downloaded objc2-core-audio v0.3.1 [INFO] [stderr] Downloaded objc2-core-audio-types v0.3.1 [INFO] [stderr] Downloaded egui-wgpu v0.32.3 [INFO] [stderr] Downloaded egui-winit v0.32.3 [INFO] [stderr] Downloaded combine v4.6.4 [INFO] [stderr] Downloaded objc2-avf-audio v0.3.1 [INFO] [stderr] Downloaded epaint v0.32.3 [INFO] [stderr] Downloaded objc2-audio-toolbox v0.3.1 [INFO] [stderr] Downloaded wgpu v25.0.2 [INFO] [stderr] Downloaded moxcms v0.7.5 [INFO] [stderr] Downloaded wgpu-core v25.0.2 [INFO] [stderr] Downloaded wgpu-hal v25.0.2 [INFO] [stderr] Downloaded egui v0.32.3 [INFO] [stderr] Downloaded epaint_default_fonts v0.32.3 [INFO] [stderr] Downloaded pxfm v0.1.24 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] fe0d53976a003dec863055903ecfd85106218e1f0bef54aac386135afa0a241a [INFO] running `Command { std: "docker" "start" "-a" "fe0d53976a003dec863055903ecfd85106218e1f0bef54aac386135afa0a241a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "fe0d53976a003dec863055903ecfd85106218e1f0bef54aac386135afa0a241a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fe0d53976a003dec863055903ecfd85106218e1f0bef54aac386135afa0a241a", kill_on_drop: false }` [INFO] [stdout] fe0d53976a003dec863055903ecfd85106218e1f0bef54aac386135afa0a241a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/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" "RUSTDOCFLAGS=--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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0433cb2366c7bca64d4d7edcaaed464ce1a3638340852625518b625b250e057a [INFO] running `Command { std: "docker" "start" "-a" "0433cb2366c7bca64d4d7edcaaed464ce1a3638340852625518b625b250e057a", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling pkg-config v0.3.25 [INFO] [stderr] Checking smallvec v1.9.0 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Compiling cc v1.0.73 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling memchr v2.5.0 [INFO] [stderr] Compiling rustix v0.38.37 [INFO] [stderr] Checking scoped-tls v1.0.0 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Compiling thiserror v2.0.3 [INFO] [stderr] Checking profiling v1.0.17 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking hashbrown v0.15.5 [INFO] [stderr] Compiling naga v25.0.1 [INFO] [stderr] Checking unicode-width v0.1.9 [INFO] [stderr] Compiling ash v0.38.0+1.3.281 [INFO] [stderr] Checking parking_lot_core v0.9.11 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking ab_glyph_rasterizer v0.1.5 [INFO] [stderr] Checking bit-vec v0.8.0 [INFO] [stderr] Checking codespan-reporting v0.12.0 [INFO] [stderr] Checking indexmap v2.11.4 [INFO] [stderr] Checking ab_glyph v0.2.29 [INFO] [stderr] Compiling wayland-sys v0.31.7 [INFO] [stderr] Checking bit-set v0.8.0 [INFO] [stderr] Checking xcursor v0.3.4 [INFO] [stderr] Checking getrandom v0.2.7 [INFO] [stderr] Compiling wgpu-hal v25.0.2 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking tinyvec v1.6.0 [INFO] [stderr] Checking crc32fast v1.5.0 [INFO] [stderr] Compiling alsa-sys v0.4.0 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking khronos-egl v6.0.0 [INFO] [stderr] Checking memmap2 v0.9.5 [INFO] [stderr] Checking glow v0.16.0 [INFO] [stderr] Compiling quick-xml v0.37.5 [INFO] [stderr] Checking flate2 v1.1.2 [INFO] [stderr] Compiling syn v2.0.89 [INFO] [stderr] Compiling x11-dl v2.19.1 [INFO] [stderr] Compiling wgpu-core v25.0.2 [INFO] [stderr] Checking unicode-bidi v0.3.8 [INFO] [stderr] Checking epaint_default_fonts v0.32.3 [INFO] [stderr] Compiling document-features v0.2.11 [INFO] [stderr] Compiling winit v0.30.12 [INFO] [stderr] Compiling wayland-backend v0.3.11 [INFO] [stderr] Compiling wgpu v25.0.2 [INFO] [stderr] Compiling cpal v0.17.3 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Checking ordered-float v4.6.0 [INFO] [stderr] Checking pxfm v0.1.24 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Compiling anyhow v1.0.89 [INFO] [stderr] Checking type-map v0.5.0 [INFO] [stderr] Checking pollster v0.4.0 [INFO] [stderr] Checking unicode-normalization v0.1.21 [INFO] [stderr] Compiling wayland-scanner v0.31.7 [INFO] [stderr] Checking idna v0.2.3 [INFO] [stderr] Checking url v2.2.2 [INFO] [stderr] Checking webbrowser v1.0.2 [INFO] [stderr] Checking bitflags v2.11.0 [INFO] [stderr] Checking gpu-alloc-types v0.3.0 [INFO] [stderr] Checking gpu-descriptor-types v0.2.0 [INFO] [stderr] Checking spirv v0.3.0+sdk-1.3.268.0 [INFO] [stderr] Checking png v0.18.0 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Checking alsa v0.11.0 [INFO] [stderr] Checking gpu-descriptor v0.3.2 [INFO] [stderr] Checking gpu-alloc v0.6.0 [INFO] [stderr] Compiling bytemuck_derive v1.10.1 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling thiserror-impl v2.0.3 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Checking moxcms v0.7.5 [INFO] [stderr] Checking nes_rust v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking thiserror v1.0.64 [INFO] [stdout] warning: unused variable: `reload` [INFO] [stdout] --> src/apu/mod.rs:170:25 [INFO] [stdout] | [INFO] [stdout] 170 | let reload = (data & 0b11111000) >> 3; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reload` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reload` [INFO] [stdout] --> src/apu/mod.rs:192:25 [INFO] [stdout] | [INFO] [stdout] 192 | let reload = (data & 0b11111000) >> 3; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1_sample` [INFO] [stdout] --> src/apu/mod.rs:253:17 [INFO] [stdout] | [INFO] [stdout] 253 | let p1_sample = self.square1.output as f64; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_p1_sample` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p2_sample` [INFO] [stdout] --> src/apu/mod.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | let p2_sample = self.square1.output as f64; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_p2_sample` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_sample` [INFO] [stdout] --> src/apu/mod.rs:263:17 [INFO] [stdout] | [INFO] [stdout] 263 | let t_sample = 0.0; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_t_sample` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_sample` [INFO] [stdout] --> src/apu/mod.rs:266:17 [INFO] [stdout] | [INFO] [stdout] 266 | let n_sample = 0.0; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_sample` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dmc_sample` [INFO] [stdout] --> src/apu/mod.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | let dmc_sample = 0.0; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dmc_sample` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking bytemuck v1.23.2 [INFO] [stdout] warning: field `new_sequence` is never read [INFO] [stdout] --> src/apu/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 1 | struct Sequencer { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 2 | sequence: u32, [INFO] [stdout] 3 | new_sequence: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `sample_weird` is never used [INFO] [stdout] --> src/apu/mod.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 42 | impl PulseOscillator { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 73 | fn sample_weird(&self, t: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/ppu/mod.rs:815:8 [INFO] [stdout] | [INFO] [stdout] 141 | impl Ppu { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 815 | fn master_slave_select(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 822 | fn greyscale(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 825 | fn show_background_left_bits(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 828 | fn show_sprite_left_bits(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 837 | fn emphasize_red(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 840 | fn emphasize_green(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 843 | fn emphasize_blue(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `ApuPinout` [INFO] [stdout] --> src/apu/mod.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / pub fn new() -> Self { [INFO] [stdout] 102 | | Self { [INFO] [stdout] 103 | | cpu_addr: 0, [INFO] [stdout] 104 | | cpu_data: 0, [INFO] [stdout] ... | [INFO] [stdout] 107 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 100 + impl Default for ApuPinout { [INFO] [stdout] 101 + fn default() -> Self { [INFO] [stdout] 102 + Self::new() [INFO] [stdout] 103 + } [INFO] [stdout] 104 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Apu` [INFO] [stdout] --> src/apu/mod.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | / pub fn new() -> Self { [INFO] [stdout] 130 | | Self { [INFO] [stdout] 131 | | pulse1: PulseOscillator::new(), [INFO] [stdout] 132 | | square1: Sequencer::new(), [INFO] [stdout] ... | [INFO] [stdout] 147 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 128 + impl Default for Apu { [INFO] [stdout] 129 + fn default() -> Self { [INFO] [stdout] 130 + Self::new() [INFO] [stdout] 131 + } [INFO] [stdout] 132 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/apu/mod.rs:228:12 [INFO] [stdout] | [INFO] [stdout] 228 | if self.clock_counter % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `self.clock_counter.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/cpu/core.rs:1127:17 [INFO] [stdout] | [INFO] [stdout] 1127 | self.a = self.a ^ self.fetched; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a ^= self.fetched` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/cpu/core.rs:1268:17 [INFO] [stdout] | [INFO] [stdout] 1268 | self.a = self.a | self.fetched; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a |= self.fetched` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/cpu/core.rs:1595:17 [INFO] [stdout] | [INFO] [stdout] 1595 | self.a = self.a | self.temp; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a |= self.temp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/cpu/core.rs:1618:17 [INFO] [stdout] | [INFO] [stdout] 1618 | self.a = self.a & self.temp; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a &= self.temp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/cpu/core.rs:1641:17 [INFO] [stdout] | [INFO] [stdout] 1641 | self.a = self.a ^ self.temp; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a ^= self.temp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/cpu/core.rs:1729:17 [INFO] [stdout] | [INFO] [stdout] 1729 | self.a = self.a & self.fetched; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a &= self.fetched` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking wgpu-types v25.0.0 [INFO] [stderr] Checking emath v0.32.3 [INFO] [stderr] Checking tiny-skia-path v0.11.4 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking ecolor v0.32.3 [INFO] [stderr] Checking tiny-skia v0.11.4 [INFO] [stderr] Checking epaint v0.32.3 [INFO] [stderr] Checking egui v0.32.3 [INFO] [stderr] Checking wayland-client v0.31.11 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Checking image v0.25.8 [INFO] [stderr] Checking polling v3.7.3 [INFO] [stderr] Checking x11rb v0.13.1 [INFO] [stderr] Checking wayland-protocols v0.32.9 [INFO] [stderr] Checking wayland-cursor v0.31.6 [INFO] [stderr] Checking calloop v0.13.0 [INFO] [stderr] Checking calloop-wayland-source v0.3.0 [INFO] [stderr] Checking arboard v3.4.1 [INFO] [stderr] Checking wayland-protocols-wlr v0.3.4 [INFO] [stderr] Checking wayland-protocols-plasma v0.3.9 [INFO] [stderr] Checking smithay-client-toolkit v0.19.2 [INFO] [stderr] Checking sctk-adwaita v0.10.1 [INFO] [stderr] Checking smithay-clipboard v0.7.2 [INFO] [stderr] Checking wgpu-core-deps-windows-linux-android v25.0.0 [INFO] [stderr] Checking egui-winit v0.32.3 [INFO] [stderr] Checking egui-wgpu v0.32.3 [INFO] [stdout] warning: unused variable: `byte1` [INFO] [stdout] --> examples/nestest/nes.rs:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | let byte1: u8 = self.ram[pc as usize + 1]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_byte1` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `byte2` [INFO] [stdout] --> examples/nestest/nes.rs:207:13 [INFO] [stdout] | [INFO] [stdout] 207 | let byte2: u8 = self.ram[pc as usize + 2]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_byte2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> examples/nestest/nes.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | let instruction = &LOOKUP_TABLE[opcode as usize]; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opcode_count` [INFO] [stdout] --> examples/nestest/nes.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | let opcode_count = if debug_ram_count == 0 { 0 } else { debug_ram_count - 1 }; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opcode_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ppu1` [INFO] [stdout] --> examples/nestest/nes.rs:220:13 [INFO] [stdout] | [INFO] [stdout] 220 | let ppu1: usize = ppucycles / 341; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_ppu1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ppu2` [INFO] [stdout] --> examples/nestest/nes.rs:221:13 [INFO] [stdout] | [INFO] [stdout] 221 | let ppu2: usize = ppucycles % 341; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_ppu2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `OP` and `Y` are never constructed [INFO] [stdout] --> examples/nestest/main.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 17 | enum NesTestErrorReason { [INFO] [stdout] | ------------------ variants in this enum [INFO] [stdout] 18 | #[error("OP:{0}, {1}")] [INFO] [stdout] 19 | OP(String, ParseIntError), [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 27 | Y(String, ParseIntError), [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `NesTestErrorReason` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `debug_buffer` is never read [INFO] [stdout] --> examples/nestest/nes.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct NESBoard { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 11 | debug_buffer: Vec, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> examples/nestest/nes.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl NESBoard { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn cpu(&self) -> &Cpu { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn ram(&self) -> &[u8] { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | fn write_hex_to_buffer(mut value: u16, buffer: &mut [u8], start: usize, digits: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | fn write_decimal_to_buffer(mut value: usize, buffer: &mut [u8], start: usize, digits: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | fn write_no_padding_decimal_to_buffer(value: usize, buffer: &mut [u8], start: usize, digits: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | fn write_spaces(buffer: &mut [u8], from: usize, to: usize) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | fn write_assembly_string(instruction: &Instruction, bytes: &[u8], buffer: &mut [u8], mut start: usize, pad_to: usize, pc: u16) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reload` [INFO] [stdout] --> src/apu/mod.rs:170:25 [INFO] [stdout] | [INFO] [stdout] 170 | let reload = (data & 0b11111000) >> 3; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reload` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `reload` [INFO] [stdout] --> src/apu/mod.rs:192:25 [INFO] [stdout] | [INFO] [stdout] 192 | let reload = (data & 0b11111000) >> 3; [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reload` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p1_sample` [INFO] [stdout] --> src/apu/mod.rs:253:17 [INFO] [stdout] | [INFO] [stdout] 253 | let p1_sample = self.square1.output as f64; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_p1_sample` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p2_sample` [INFO] [stdout] --> src/apu/mod.rs:258:17 [INFO] [stdout] | [INFO] [stdout] 258 | let p2_sample = self.square1.output as f64; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_p2_sample` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t_sample` [INFO] [stdout] --> src/apu/mod.rs:263:17 [INFO] [stdout] | [INFO] [stdout] 263 | let t_sample = 0.0; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_t_sample` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n_sample` [INFO] [stdout] --> src/apu/mod.rs:266:17 [INFO] [stdout] | [INFO] [stdout] 266 | let n_sample = 0.0; [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_sample` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dmc_sample` [INFO] [stdout] --> src/apu/mod.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | let dmc_sample = 0.0; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dmc_sample` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `new_sequence` is never read [INFO] [stdout] --> src/apu/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 1 | struct Sequencer { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 2 | sequence: u32, [INFO] [stdout] 3 | new_sequence: u32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `sample_weird` is never used [INFO] [stdout] --> src/apu/mod.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 42 | impl PulseOscillator { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 73 | fn sample_weird(&self, t: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/ppu/mod.rs:815:8 [INFO] [stdout] | [INFO] [stdout] 141 | impl Ppu { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 815 | fn master_slave_select(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 822 | fn greyscale(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 825 | fn show_background_left_bits(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 828 | fn show_sprite_left_bits(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 837 | fn emphasize_red(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 840 | fn emphasize_green(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 843 | fn emphasize_blue(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `ApuPinout` [INFO] [stdout] --> src/apu/mod.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 101 | / pub fn new() -> Self { [INFO] [stdout] 102 | | Self { [INFO] [stdout] 103 | | cpu_addr: 0, [INFO] [stdout] 104 | | cpu_data: 0, [INFO] [stdout] ... | [INFO] [stdout] 107 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 100 + impl Default for ApuPinout { [INFO] [stdout] 101 + fn default() -> Self { [INFO] [stdout] 102 + Self::new() [INFO] [stdout] 103 + } [INFO] [stdout] 104 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `Apu` [INFO] [stdout] --> src/apu/mod.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 129 | / pub fn new() -> Self { [INFO] [stdout] 130 | | Self { [INFO] [stdout] 131 | | pulse1: PulseOscillator::new(), [INFO] [stdout] 132 | | square1: Sequencer::new(), [INFO] [stdout] ... | [INFO] [stdout] 147 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 128 + impl Default for Apu { [INFO] [stdout] 129 + fn default() -> Self { [INFO] [stdout] 130 + Self::new() [INFO] [stdout] 131 + } [INFO] [stdout] 132 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/apu/mod.rs:228:12 [INFO] [stdout] | [INFO] [stdout] 228 | if self.clock_counter % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `self.clock_counter.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/cpu/core.rs:1127:17 [INFO] [stdout] | [INFO] [stdout] 1127 | self.a = self.a ^ self.fetched; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a ^= self.fetched` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] = note: `#[warn(clippy::assign_op_pattern)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/cpu/core.rs:1268:17 [INFO] [stdout] | [INFO] [stdout] 1268 | self.a = self.a | self.fetched; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a |= self.fetched` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/cpu/core.rs:1595:17 [INFO] [stdout] | [INFO] [stdout] 1595 | self.a = self.a | self.temp; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a |= self.temp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/cpu/core.rs:1618:17 [INFO] [stdout] | [INFO] [stdout] 1618 | self.a = self.a & self.temp; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a &= self.temp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/cpu/core.rs:1641:17 [INFO] [stdout] | [INFO] [stdout] 1641 | self.a = self.a ^ self.temp; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a ^= self.temp` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of an assign operation [INFO] [stdout] --> src/cpu/core.rs:1729:17 [INFO] [stdout] | [INFO] [stdout] 1729 | self.a = self.a & self.fetched; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.a &= self.fetched` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> examples/runrom/main.rs:353:13 [INFO] [stdout] | [INFO] [stdout] 353 | let mut supported_config_range = DeviceTrait::supported_output_configs(&device) [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `supported_config_range` [INFO] [stdout] --> examples/runrom/main.rs:353:13 [INFO] [stdout] | [INFO] [stdout] 353 | let mut supported_config_range = DeviceTrait::supported_output_configs(&device) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_supported_config_range` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `last_time` is never read [INFO] [stdout] --> examples/runrom/main.rs:148:5 [INFO] [stdout] | [INFO] [stdout] 134 | struct App { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 148 | last_time: std::time::Instant, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sample_sin` is never used [INFO] [stdout] --> examples/runrom/main.rs:420:28 [INFO] [stdout] | [INFO] [stdout] 420 | fn sample_sin(freq: f64, time: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sample_square` is never used [INFO] [stdout] --> examples/runrom/main.rs:423:28 [INFO] [stdout] | [INFO] [stdout] 423 | fn sample_square(freq: f64, time: f64, h: usize, f_cycle: f64) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NES_CLOCK_TIME` is never used [INFO] [stdout] --> examples/runrom/nes.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const NES_CLOCK_TIME: u64 = 5_369_318; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `ram` and `set_controller` are never used [INFO] [stdout] --> examples/runrom/nes.rs:378:12 [INFO] [stdout] | [INFO] [stdout] 41 | impl NESBoard { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 378 | pub fn ram(&self) -> &[u8] { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 406 | pub fn set_controller(&mut self, controller: usize, inputs: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PPU_CLOCK_FREQ` is never used [INFO] [stdout] --> examples/runrom/nes.rs:329:15 [INFO] [stdout] | [INFO] [stdout] 329 | const PPU_CLOCK_FREQ: u64 = 1000; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> examples/runrom/main.rs:929:25 [INFO] [stdout] | [INFO] [stdout] 929 | / if n == NamedKey::Space && pressed { [INFO] [stdout] 930 | | self.clock_cpu = !self.clock_cpu; [INFO] [stdout] 931 | | } [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] = note: `#[warn(clippy::collapsible_match)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 928 ~ Key::Named(n) [INFO] [stdout] 929 ~ if n == NamedKey::Space && pressed => { [INFO] [stdout] 930 | self.clock_cpu = !self.clock_cpu; [INFO] [stdout] 931 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` can be collapsed into the outer `match` [INFO] [stdout] --> examples/runrom/main.rs:883:33 [INFO] [stdout] | [INFO] [stdout] 883 | / ... if !self.clock_cpu { [INFO] [stdout] 884 | | ... nes.clock(false); [INFO] [stdout] 885 | | ... } [INFO] [stdout] | |_______________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_match [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 882 ~ "p" if pressed [INFO] [stdout] 883 ~ && !self.clock_cpu => { [INFO] [stdout] 884 | nes.clock(false); [INFO] [stdout] 885 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> examples/runrom/main.rs:977:1 [INFO] [stdout] | [INFO] [stdout] 977 | / impl Default for AppShell { [INFO] [stdout] 978 | | fn default() -> Self { [INFO] [stdout] 979 | | Self::Unintialized [INFO] [stdout] 980 | | } [INFO] [stdout] 981 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 942 + #[derive(Default)] [INFO] [stdout] 943 | enum AppShell { [INFO] [stdout] 944 ~ #[default] [INFO] [stdout] 945 ~ Unintialized, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 03s [INFO] running `Command { std: "docker" "inspect" "0433cb2366c7bca64d4d7edcaaed464ce1a3638340852625518b625b250e057a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0433cb2366c7bca64d4d7edcaaed464ce1a3638340852625518b625b250e057a", kill_on_drop: false }` [INFO] [stdout] 0433cb2366c7bca64d4d7edcaaed464ce1a3638340852625518b625b250e057a