[INFO] fetching crate gboxide 0.2.2... [INFO] checking gboxide-0.2.2 against try#998b6603a58e47f42ccce7a67943234e96b6839e for pr-143170 [INFO] extracting crate gboxide 0.2.2 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate gboxide 0.2.2 [INFO] finished tweaking crates.io crate gboxide 0.2.2 [INFO] tweaked toml for crates.io crate gboxide 0.2.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate gboxide 0.2.2 on toolchain 998b6603a58e47f42ccce7a67943234e96b6839e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate gboxide 0.2.2 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" "+998b6603a58e47f42ccce7a67943234e96b6839e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5f841513e4daa7475e0bd2648acf88adb9b973ff3c1af9f1756df50e544c1992 [INFO] running `Command { std: "docker" "start" "-a" "5f841513e4daa7475e0bd2648acf88adb9b973ff3c1af9f1756df50e544c1992", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5f841513e4daa7475e0bd2648acf88adb9b973ff3c1af9f1756df50e544c1992", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f841513e4daa7475e0bd2648acf88adb9b973ff3c1af9f1756df50e544c1992", kill_on_drop: false }` [INFO] [stdout] 5f841513e4daa7475e0bd2648acf88adb9b973ff3c1af9f1756df50e544c1992 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+998b6603a58e47f42ccce7a67943234e96b6839e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3f30e73115427e9568f1218b638c13492a7f6895f16008eb97dfaf564a914777 [INFO] running `Command { std: "docker" "start" "-a" "3f30e73115427e9568f1218b638c13492a7f6895f16008eb97dfaf564a914777", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.65 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling cc v1.0.46 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling semver-parser v0.7.0 [INFO] [stderr] Checking smallvec v0.6.10 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking slab v0.4.2 [INFO] [stderr] Compiling pkg-config v0.3.16 [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Checking arrayvec v0.5.1 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling xml-rs v0.8.0 [INFO] [stderr] Compiling typenum v1.11.2 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Checking scopeguard v1.0.0 [INFO] [stderr] Compiling libloading v0.5.2 [INFO] [stderr] Compiling backtrace-sys v0.1.32 [INFO] [stderr] Checking lock_api v0.3.1 [INFO] [stderr] Checking raw-window-handle v0.3.0 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Compiling quote v0.6.13 [INFO] [stderr] Compiling wayland-scanner v0.23.6 [INFO] [stderr] Checking gfx-hal v0.4.0 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Compiling getrandom v0.1.12 [INFO] [stderr] Checking rustc-demangle v0.1.16 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Checking void v1.0.2 [INFO] [stderr] Checking mio v0.6.19 [INFO] [stderr] Checking dlib v0.4.1 [INFO] [stderr] Compiling x11 v2.18.1 [INFO] [stderr] Checking lazycell v1.2.1 [INFO] [stderr] Checking backtrace v0.3.40 [INFO] [stderr] Checking wayland-sys v0.23.6 [INFO] [stderr] Checking ordered-float v1.0.2 [INFO] [stderr] Checking relevant v0.4.2 [INFO] [stderr] Compiling generic-array v0.9.0 [INFO] [stderr] Checking approx v0.3.2 [INFO] [stderr] Checking mio-extras v2.0.5 [INFO] [stderr] Checking shared_library v0.1.9 [INFO] [stderr] Checking stb_truetype v0.3.0 [INFO] [stderr] Compiling arrayref v0.3.5 [INFO] [stderr] Compiling byte-tools v0.2.0 [INFO] [stderr] Checking ppv-lite86 v0.2.6 [INFO] [stderr] Checking atom v0.3.5 [INFO] [stderr] Compiling block-buffer v0.3.3 [INFO] [stderr] Checking hibitset v0.6.2 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rusttype v0.8.1 [INFO] [stderr] Checking c2-chacha v0.2.3 [INFO] [stderr] Compiling digest v0.7.6 [INFO] [stderr] Checking ash v0.29.0 [INFO] [stderr] Compiling fake-simd v0.1.2 [INFO] [stderr] Checking same-file v1.0.5 [INFO] [stderr] Checking downcast-rs v1.1.0 [INFO] [stderr] Checking colorful v0.2.1 [INFO] [stderr] Compiling proc-macro2 v1.0.6 [INFO] [stderr] Checking vec_map v0.8.1 [INFO] [stderr] Compiling wayland-client v0.23.6 [INFO] [stderr] Compiling wayland-protocols v0.23.6 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Checking rusttype v0.7.9 [INFO] [stderr] Checking walkdir v2.2.9 [INFO] [stderr] Compiling sha2 v0.7.1 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] Checking line_drawing v0.7.0 [INFO] [stderr] Compiling imgui-sys v0.2.0 [INFO] [stderr] Checking rendy-descriptor v0.5.0 [INFO] [stderr] Checking gfx-backend-empty v0.4.0 [INFO] [stderr] Checking rendy-memory v0.5.0 [INFO] [stderr] Checking wayland-commons v0.23.6 [INFO] [stderr] Checking calloop v0.4.4 [INFO] [stderr] Compiling x11-dl v2.18.4 [INFO] [stderr] Compiling synstructure v0.10.2 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Compiling cmake v0.1.42 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Checking copyless v0.1.4 [INFO] [stderr] Checking xdg v2.2.0 [INFO] [stderr] Checking andrew v0.2.1 [INFO] [stderr] Compiling glsl-to-spirv v0.1.7 [INFO] [stderr] Checking rand v0.7.2 [INFO] [stderr] Checking memmap v0.7.0 [INFO] [stderr] Checking adler32 v1.0.4 [INFO] [stderr] Checking remove_dir_all v0.5.2 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Compiling syn v1.0.5 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling zerocopy-derive v0.1.4 [INFO] [stderr] Checking instant v0.1.2 [INFO] [stderr] Checking unicode-width v0.1.6 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking tempfile v3.1.0 [INFO] [stderr] Checking deflate v0.7.20 [INFO] [stderr] Checking zerocopy v0.2.8 [INFO] [stderr] Checking inflate v0.4.5 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Checking strsim v0.8.0 [INFO] [stderr] Checking ansi_term v0.11.0 [INFO] [stderr] Checking png v0.15.0 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking bitfield v0.13.2 [INFO] [stderr] Checking gfx-backend-vulkan v0.4.0 [INFO] [stderr] Checking wgpu-native v0.4.0 [INFO] [stderr] Compiling num-derive v0.3.0 [INFO] [stderr] Checking wgpu v0.4.0 [INFO] [stderr] Checking pixels v0.0.2 [INFO] [stderr] Checking imgui v0.2.1 [INFO] [stderr] Checking smithay-client-toolkit v0.6.4 [INFO] [stderr] Checking winit v0.20.0-alpha4 [INFO] [stderr] Checking winit_input_helper v0.4.0-alpha4 [INFO] [stderr] Checking imgui-wgpu v0.4.1 [INFO] [stderr] Checking gboxide v0.2.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: method `pause` is never used [INFO] [stdout] --> src/gameboy/cpu.rs:778:8 [INFO] [stdout] | [INFO] [stdout] 153 | impl CPU { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 778 | fn pause(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `last_frame_hash` is never read [INFO] [stdout] --> src/gameboy/lcd.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 171 | pub struct LCD { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 194 | last_frame_hash: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `save_frame` and `save_tile_data` are never used [INFO] [stdout] --> src/gameboy/lcd.rs:576:8 [INFO] [stdout] | [INFO] [stdout] 199 | impl LCD { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 576 | fn save_frame(&self) -> Result<(), png::EncodingError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 594 | fn save_tile_data(&self) -> Result<(), png::EncodingError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/cartridge.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Clone, Copy, Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CartridgeType` [INFO] [stdout] 14 | pub enum CartridgeType { [INFO] [stdout] | ------------- `CartridgeType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/interrupt.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Interrupt` [INFO] [stdout] 2 | pub enum Interrupt { [INFO] [stdout] | --------- `Interrupt` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/timer.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Copy, Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Clock` [INFO] [stdout] 6 | pub enum Clock { [INFO] [stdout] | ----- `Clock` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/lcd.rs:8:30 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TileDataAddressRange` [INFO] [stdout] 9 | pub enum TileDataAddressRange { [INFO] [stdout] | -------------------- `TileDataAddressRange` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/lcd.rs:24:30 [INFO] [stdout] | [INFO] [stdout] 24 | #[derive(Clone, Copy, Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TileMapAddressRange` [INFO] [stdout] 25 | pub enum TileMapAddressRange { [INFO] [stdout] | ------------------- `TileMapAddressRange` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/lcd.rs:40:30 [INFO] [stdout] | [INFO] [stdout] 40 | #[derive(Clone, Copy, Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SpriteSizes` [INFO] [stdout] 41 | pub enum SpriteSizes { [INFO] [stdout] | ----------- `SpriteSizes` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/lcd.rs:71:41 [INFO] [stdout] | [INFO] [stdout] 71 | #[derive(Clone, Copy, Debug, PartialEq, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Mode` [INFO] [stdout] 72 | enum Mode { [INFO] [stdout] | ---- `Mode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/lcd.rs:142:30 [INFO] [stdout] | [INFO] [stdout] 142 | #[derive(Clone, Copy, Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Shade` [INFO] [stdout] 143 | enum Shade { [INFO] [stdout] | ----- `Shade` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/joypad.rs:46:30 [INFO] [stdout] | [INFO] [stdout] 46 | #[derive(Clone, Copy, Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_JoypadSelection` [INFO] [stdout] 47 | enum JoypadSelection { [INFO] [stdout] | --------------- `JoypadSelection` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `pause` is never used [INFO] [stdout] --> src/gameboy/cpu.rs:778:8 [INFO] [stdout] | [INFO] [stdout] 153 | impl CPU { [INFO] [stdout] | -------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 778 | fn pause(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `last_frame_hash` is never read [INFO] [stdout] --> src/gameboy/lcd.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 171 | pub struct LCD { [INFO] [stdout] | --- field in this struct [INFO] [stdout] ... [INFO] [stdout] 194 | last_frame_hash: u64, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `save_frame` and `save_tile_data` are never used [INFO] [stdout] --> src/gameboy/lcd.rs:576:8 [INFO] [stdout] | [INFO] [stdout] 199 | impl LCD { [INFO] [stdout] | -------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 576 | fn save_frame(&self) -> Result<(), png::EncodingError> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 594 | fn save_tile_data(&self) -> Result<(), png::EncodingError> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/cartridge.rs:13:30 [INFO] [stdout] | [INFO] [stdout] 13 | #[derive(Clone, Copy, Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CartridgeType` [INFO] [stdout] 14 | pub enum CartridgeType { [INFO] [stdout] | ------------- `CartridgeType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/interrupt.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | #[derive(FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Interrupt` [INFO] [stdout] 2 | pub enum Interrupt { [INFO] [stdout] | --------- `Interrupt` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/timer.rs:5:30 [INFO] [stdout] | [INFO] [stdout] 5 | #[derive(Clone, Copy, Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Clock` [INFO] [stdout] 6 | pub enum Clock { [INFO] [stdout] | ----- `Clock` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/lcd.rs:8:30 [INFO] [stdout] | [INFO] [stdout] 8 | #[derive(Clone, Copy, Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TileDataAddressRange` [INFO] [stdout] 9 | pub enum TileDataAddressRange { [INFO] [stdout] | -------------------- `TileDataAddressRange` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/lcd.rs:24:30 [INFO] [stdout] | [INFO] [stdout] 24 | #[derive(Clone, Copy, Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TileMapAddressRange` [INFO] [stdout] 25 | pub enum TileMapAddressRange { [INFO] [stdout] | ------------------- `TileMapAddressRange` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/lcd.rs:40:30 [INFO] [stdout] | [INFO] [stdout] 40 | #[derive(Clone, Copy, Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_SpriteSizes` [INFO] [stdout] 41 | pub enum SpriteSizes { [INFO] [stdout] | ----------- `SpriteSizes` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/lcd.rs:71:41 [INFO] [stdout] | [INFO] [stdout] 71 | #[derive(Clone, Copy, Debug, PartialEq, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Mode` [INFO] [stdout] 72 | enum Mode { [INFO] [stdout] | ---- `Mode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/lcd.rs:142:30 [INFO] [stdout] | [INFO] [stdout] 142 | #[derive(Clone, Copy, Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_Shade` [INFO] [stdout] 143 | enum Shade { [INFO] [stdout] | ----- `Shade` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/gameboy/joypad.rs:46:30 [INFO] [stdout] | [INFO] [stdout] 46 | #[derive(Clone, Copy, Debug, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_JoypadSelection` [INFO] [stdout] 47 | enum JoypadSelection { [INFO] [stdout] | --------------- `JoypadSelection` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 40s [INFO] running `Command { std: "docker" "inspect" "3f30e73115427e9568f1218b638c13492a7f6895f16008eb97dfaf564a914777", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3f30e73115427e9568f1218b638c13492a7f6895f16008eb97dfaf564a914777", kill_on_drop: false }` [INFO] [stdout] 3f30e73115427e9568f1218b638c13492a7f6895f16008eb97dfaf564a914777