[INFO] cloning repository https://github.com/markglenn/zztrs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/markglenn/zztrs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarkglenn%2Fzztrs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarkglenn%2Fzztrs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ff86c309ca1c8ce89e40623af6b89aae5c566633
[INFO] checking markglenn/zztrs against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmarkglenn%2Fzztrs" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/markglenn/zztrs
[INFO] finished tweaking git repo https://github.com/markglenn/zztrs
[INFO] tweaked toml for git repo https://github.com/markglenn/zztrs written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/markglenn/zztrs on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/markglenn/zztrs 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded shrev v1.1.3
[INFO] [stderr]   Downloaded tynm v0.1.6
[INFO] [stderr]   Downloaded tuple_utils v0.4.0
[INFO] [stderr]   Downloaded specs-derive v0.4.1
[INFO] [stderr]   Downloaded shred v0.13.0
[INFO] [stderr]   Downloaded bracket-algorithm-traits v0.8.7
[INFO] [stderr]   Downloaded bracket-random v0.8.7
[INFO] [stderr]   Downloaded bracket-rex v0.8.7
[INFO] [stderr]   Downloaded hibitset v0.6.3
[INFO] [stderr]   Downloaded ndk-glue v0.5.2
[INFO] [stderr]   Downloaded bracket-noise v0.8.7
[INFO] [stderr]   Downloaded bracket-pathfinding v0.8.7
[INFO] [stderr]   Downloaded memmap2 v0.3.1
[INFO] [stderr]   Downloaded wasm-timer v0.1.3
[INFO] [stderr]   Downloaded ndk v0.5.0
[INFO] [stderr]   Downloaded bracket-color v0.8.7
[INFO] [stderr]   Downloaded bracket-geometry v0.8.7
[INFO] [stderr]   Downloaded rayon-core v1.9.3
[INFO] [stderr]   Downloaded ultraviolet v0.9.0
[INFO] [stderr]   Downloaded calloop v0.9.3
[INFO] [stderr]   Downloaded bracket-embedding v0.8.7
[INFO] [stderr]   Downloaded atom v0.3.6
[INFO] [stderr]   Downloaded rayon v1.5.3
[INFO] [stderr]   Downloaded wide v0.7.5
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.15.4
[INFO] [stderr]   Downloaded specs v0.18.0
[INFO] [stderr]   Downloaded regex v1.4.6
[INFO] [stderr]   Downloaded image v0.24.4
[INFO] [stderr]   Downloaded winit v0.26.1
[INFO] [stderr]   Downloaded jpeg-decoder v0.2.6
[INFO] [stderr]   Downloaded bracket-terminal v0.8.7
[INFO] [stderr]   Downloaded object-pool v0.5.4
[INFO] [stderr]   Downloaded bracket-lib v0.8.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0d6ec30095b35a9b9dd8babd0a778e90af803afbf758bdfd88426b47db6acada
[INFO] running `Command { std: "docker" "start" "-a" "0d6ec30095b35a9b9dd8babd0a778e90af803afbf758bdfd88426b47db6acada", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0d6ec30095b35a9b9dd8babd0a778e90af803afbf758bdfd88426b47db6acada", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0d6ec30095b35a9b9dd8babd0a778e90af803afbf758bdfd88426b47db6acada", kill_on_drop: false }`
[INFO] [stdout] 0d6ec30095b35a9b9dd8babd0a778e90af803afbf758bdfd88426b47db6acada
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8b7b57963c763365ee6f9b5e50d9f5dc8e146cb9685c121c23b36a153c7988d0
[INFO] running `Command { std: "docker" "start" "-a" "8b7b57963c763365ee6f9b5e50d9f5dc8e146cb9685c121c23b36a153c7988d0", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.137
[INFO] [stderr]    Compiling xml-rs v0.8.4
[INFO] [stderr]    Compiling cmake v0.1.49
[INFO] [stderr]    Compiling syn v1.0.103
[INFO] [stderr]     Checking bytemuck v1.12.3
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling crossbeam-utils v0.8.12
[INFO] [stderr]     Checking miniz_oxide v0.5.4
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling servo-fontconfig-sys v5.1.0
[INFO] [stderr]    Compiling slotmap v1.0.6
[INFO] [stderr]     Checking miniz_oxide v0.6.2
[INFO] [stderr]     Checking nom v7.1.1
[INFO] [stderr]    Compiling num-bigint v0.4.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.11
[INFO] [stderr]     Checking dlib v0.5.0
[INFO] [stderr]     Checking instant v0.1.12
[INFO] [stderr]    Compiling x11-dl v2.20.0
[INFO] [stderr]     Checking safe_arch v0.6.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.0
[INFO] [stderr]    Compiling crossfont v0.5.1
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking arrayref v0.3.6
[INFO] [stderr]     Checking foreign-types-shared v0.3.1
[INFO] [stderr]     Checking flate2 v1.0.24
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]    Compiling rayon-core v1.9.3
[INFO] [stderr]    Compiling freetype-sys v0.13.1
[INFO] [stderr]    Compiling expat-sys v2.1.6
[INFO] [stderr]     Checking tiny-skia-path v0.7.0
[INFO] [stderr]     Checking safe_arch v0.5.2
[INFO] [stderr]     Checking cty v0.2.2
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]     Checking png v0.17.7
[INFO] [stderr]     Checking crossbeam-channel v0.5.6
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]    Compiling rayon v1.5.3
[INFO] [stderr]     Checking wide v0.7.5
[INFO] [stderr]     Checking crossbeam-deque v0.8.2
[INFO] [stderr]     Checking raw-window-handle v0.4.3
[INFO] [stderr]     Checking raw-window-handle v0.5.0
[INFO] [stderr]     Checking either v1.8.0
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking regex v1.4.6
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling crossbeam-queue v0.3.6
[INFO] [stderr]     Checking jpeg-decoder v0.2.6
[INFO] [stderr]     Checking arrayvec v0.7.2
[INFO] [stderr]     Checking mopa v0.2.2
[INFO] [stderr]     Checking atom v0.3.6
[INFO] [stderr]     Checking glow v0.11.2
[INFO] [stderr]     Checking num-complex v0.4.2
[INFO] [stderr]     Checking shrev v1.1.3
[INFO] [stderr]     Checking tuple_utils v0.4.0
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.8
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.6
[INFO] [stderr]     Checking tiny-skia v0.7.0
[INFO] [stderr]     Checking nix v0.24.2
[INFO] [stderr]     Checking getrandom v0.2.8
[INFO] [stderr]     Checking parking_lot_core v0.9.4
[INFO] [stderr]     Checking memmap2 v0.5.7
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]     Checking xcursor v0.3.4
[INFO] [stderr]     Checking servo-fontconfig v0.5.1
[INFO] [stderr]     Checking freetype-rs v0.26.0
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking num_cpus v1.14.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking mio v0.8.5
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking parking_lot_core v0.8.5
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking ultraviolet v0.9.0
[INFO] [stderr]     Checking bracket-color v0.8.7
[INFO] [stderr]     Checking bracket-embedding v0.8.7
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking image v0.24.4
[INFO] [stderr]     Checking tynm v0.1.6
[INFO] [stderr]     Checking num v0.4.0
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking object-pool v0.5.4
[INFO] [stderr]     Checking bracket-rex v0.8.7
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking bracket-geometry v0.8.7
[INFO] [stderr]     Checking bracket-random v0.8.7
[INFO] [stderr]     Checking bracket-noise v0.8.7
[INFO] [stderr]     Checking bracket-algorithm-traits v0.8.7
[INFO] [stderr]     Checking bracket-pathfinding v0.8.7
[INFO] [stderr]    Compiling thiserror-impl v1.0.37
[INFO] [stderr]    Compiling foreign-types-macros v0.2.2
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling specs-derive v0.4.1
[INFO] [stderr]     Checking shred v0.13.0
[INFO] [stderr]     Checking hibitset v0.6.3
[INFO] [stderr]     Checking foreign-types v0.5.0
[INFO] [stderr]     Checking thiserror v1.0.37
[INFO] [stderr]     Checking calloop v0.10.1
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking wayland-egl v0.29.5
[INFO] [stderr]     Checking specs v0.18.0
[INFO] [stderr]     Checking sctk-adwaita v0.4.3
[INFO] [stderr]     Checking winit v0.27.5
[INFO] [stderr]     Checking glutin v0.29.1
[INFO] [stderr]     Checking bracket-terminal v0.8.7
[INFO] [stderr]     Checking bracket-lib v0.8.7
[INFO] [stderr]     Checking zztrs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/components/board.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Board {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 19 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 20 |     pub tiles: Vec<Tile>,
[INFO] [stdout] 21 |     pub max_player_shots: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub is_dark: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 23 |     pub exit_north: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 24 |     pub exit_south: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 25 |     pub exit_west: usize,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 26 |     pub exit_east: usize,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 27 |     pub restart_on_zap: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub message: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 29 |     pub player_enter: Position,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub timelimit: i16,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Board` 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 `is_blinking` is never read
[INFO] [stdout]  --> src/components/color.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Color {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub is_blinking: bool,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Color` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tick_func` and `walkable` are never read
[INFO] [stdout]   --> src/elements.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Element {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub tick_func: Option<TickFunc>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 75 |     pub walkable: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/elements/status_element.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct StatusElement {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 16 |     pub location: Position,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 17 |     pub step_x: i16,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 18 |     pub step_y: i16,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 19 |     pub cycle: i16,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 20 |     pub p1: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 21 |     pub p2: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 22 |     pub p3: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 23 |     pub follower: i16,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 24 |     pub leader: i16,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 25 |     pub under_id: usize,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 26 |     pub under_color: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 27 |     pub current_instruction: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub length: i16,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 29 |     pub code: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StatusElement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Keys` is never used
[INFO] [stdout]   --> src/world.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum Keys {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/world/world.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct World {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 16 |     pub world_type: WorldType,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 17 |     pub num_boards: i16,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 18 |     pub player_ammo: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 19 |     pub player_gems: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 20 |     pub keys: Vec<bool>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 21 |     pub player_health: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub player_board: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub player_torches: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub torch_cycles: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub energy_cycles: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub player_score: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub world_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 30 |     pub flags: Vec<String>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 31 |
[INFO] [stdout] 32 |     pub time_passed: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 33 |     pub time_passed_ticks: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     pub locked: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `World` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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/elements.rs:7:41
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[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_ElementType`
[INFO] [stdout] 8 | #[repr(u8)]
[INFO] [stdout] 9 | pub enum ElementType {
[INFO] [stdout]   |          ----------- `ElementType` 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/world.rs:29:41
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Debug, Clone, Copy, 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_Keys`
[INFO] [stdout] 30 | pub enum Keys {
[INFO] [stdout]    |          ---- `Keys` 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/world.rs:40:41
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[derive(Debug, Clone, Copy, 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_WorldType`
[INFO] [stdout] 41 | pub enum WorldType {
[INFO] [stdout]    |          --------- `WorldType` 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: multiple fields are never read
[INFO] [stdout]   --> src/components/board.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Board {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 19 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 20 |     pub tiles: Vec<Tile>,
[INFO] [stdout] 21 |     pub max_player_shots: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub is_dark: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 23 |     pub exit_north: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 24 |     pub exit_south: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 25 |     pub exit_west: usize,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 26 |     pub exit_east: usize,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 27 |     pub restart_on_zap: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub message: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 29 |     pub player_enter: Position,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub timelimit: i16,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Board` 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 `is_blinking` is never read
[INFO] [stdout]  --> src/components/color.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Color {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub is_blinking: bool,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Color` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tick_func` and `walkable` are never read
[INFO] [stdout]   --> src/elements.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Element {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub tick_func: Option<TickFunc>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 75 |     pub walkable: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/elements/status_element.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct StatusElement {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 16 |     pub location: Position,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 17 |     pub step_x: i16,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 18 |     pub step_y: i16,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 19 |     pub cycle: i16,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 20 |     pub p1: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 21 |     pub p2: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 22 |     pub p3: u8,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 23 |     pub follower: i16,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 24 |     pub leader: i16,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 25 |     pub under_id: usize,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 26 |     pub under_color: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 27 |     pub current_instruction: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub length: i16,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 29 |     pub code: Option<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StatusElement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Keys` is never used
[INFO] [stdout]   --> src/world.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum Keys {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/world/world.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct World {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 16 |     pub world_type: WorldType,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 17 |     pub num_boards: i16,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 18 |     pub player_ammo: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 19 |     pub player_gems: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 20 |     pub keys: Vec<bool>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 21 |     pub player_health: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub player_board: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub player_torches: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     pub torch_cycles: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 27 |     pub energy_cycles: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub player_score: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub world_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 30 |     pub flags: Vec<String>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 31 |
[INFO] [stdout] 32 |     pub time_passed: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 33 |     pub time_passed_ticks: i16,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     pub locked: bool,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `World` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[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/elements.rs:7:41
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[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_ElementType`
[INFO] [stdout] 8 | #[repr(u8)]
[INFO] [stdout] 9 | pub enum ElementType {
[INFO] [stdout]   |          ----------- `ElementType` 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/world.rs:29:41
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Debug, Clone, Copy, 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_Keys`
[INFO] [stdout] 30 | pub enum Keys {
[INFO] [stdout]    |          ---- `Keys` 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/world.rs:40:41
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[derive(Debug, Clone, Copy, 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_WorldType`
[INFO] [stdout] 41 | pub enum WorldType {
[INFO] [stdout]    |          --------- `WorldType` 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 25.47s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "8b7b57963c763365ee6f9b5e50d9f5dc8e146cb9685c121c23b36a153c7988d0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b7b57963c763365ee6f9b5e50d9f5dc8e146cb9685c121c23b36a153c7988d0", kill_on_drop: false }`
[INFO] [stdout] 8b7b57963c763365ee6f9b5e50d9f5dc8e146cb9685c121c23b36a153c7988d0
