[INFO] cloning repository https://github.com/IXNZZ/D32
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/IXNZZ/D32" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIXNZZ%2FD32", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIXNZZ%2FD32'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c20c9fe3a3bd141a0dd1e203ec28206f78ea4873
[INFO] checking IXNZZ/D32/c20c9fe3a3bd141a0dd1e203ec28206f78ea4873 against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FIXNZZ%2FD32" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/IXNZZ/D32
[INFO] finished tweaking git repo https://github.com/IXNZZ/D32
[INFO] tweaked toml for git repo https://github.com/IXNZZ/D32 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/IXNZZ/D32 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/IXNZZ/D32 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 camino v1.1.6
[INFO] [stderr]   Downloaded cargo-platform v0.1.3
[INFO] [stderr]   Downloaded keyframe_derive v1.0.0
[INFO] [stderr]   Downloaded symphonia v0.5.3
[INFO] [stderr]   Downloaded quanta v0.11.1
[INFO] [stderr]   Downloaded symphonia-metadata v0.5.3
[INFO] [stderr]   Downloaded ordered-float v3.9.1
[INFO] [stderr]   Downloaded triomphe v0.1.9
[INFO] [stderr]   Downloaded tracing-attributes v0.1.26
[INFO] [stderr]   Downloaded iana-time-zone v0.1.57
[INFO] [stderr]   Downloaded gilrs-core v0.5.7
[INFO] [stderr]   Downloaded glyph_brush v0.7.7
[INFO] [stderr]   Downloaded lyon_geom v1.0.4
[INFO] [stderr]   Downloaded symphonia-core v0.5.3
[INFO] [stderr]   Downloaded symphonia-bundle-mp3 v0.5.3
[INFO] [stderr]   Downloaded keyframe v1.1.1
[INFO] [stderr]   Downloaded moka v0.11.3
[INFO] [stderr]   Downloaded lyon_algorithms v1.0.3
[INFO] [stderr]   Downloaded lyon_path v1.0.4
[INFO] [stderr]   Downloaded chrono v0.4.30
[INFO] [stderr]   Downloaded lyon_tessellation v1.0.10
[INFO] [stderr]   Downloaded syn v2.0.32
[INFO] [stderr]   Downloaded rustix v0.38.13
[INFO] [stderr]   Downloaded libz-sys v1.1.12
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] b8c38cc6201af240d75fdd4a6bf77bed059a9227fafed03c58629077829e4d53
[INFO] running `Command { std: "docker" "start" "-a" "b8c38cc6201af240d75fdd4a6bf77bed059a9227fafed03c58629077829e4d53", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b8c38cc6201af240d75fdd4a6bf77bed059a9227fafed03c58629077829e4d53", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b8c38cc6201af240d75fdd4a6bf77bed059a9227fafed03c58629077829e4d53", kill_on_drop: false }`
[INFO] [stdout] b8c38cc6201af240d75fdd4a6bf77bed059a9227fafed03c58629077829e4d53
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 4a3932a7c11c499dfe9117420b1c3e9c55b159e8598abac78fdc4aefae4b6aed
[INFO] running `Command { std: "docker" "start" "-a" "4a3932a7c11c499dfe9117420b1c3e9c55b159e8598abac78fdc4aefae4b6aed", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling xml-rs v0.8.18
[INFO] [stderr]    Compiling serde v1.0.188
[INFO] [stderr]    Compiling thiserror v1.0.48
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]    Compiling syn v2.0.32
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling unicase v2.7.0
[INFO] [stderr]    Compiling semver v1.0.18
[INFO] [stderr]    Compiling camino v1.1.6
[INFO] [stderr]    Compiling rustix v0.38.13
[INFO] [stderr]     Checking memchr v2.6.3
[INFO] [stderr]    Compiling serde_json v1.0.106
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking ahash v0.7.6
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]    Compiling linux-raw-sys v0.4.7
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]    Compiling itoa v1.0.9
[INFO] [stderr]    Compiling ryu v1.0.15
[INFO] [stderr]    Compiling pulldown-cmark v0.9.3
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling bitflags v2.4.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking encoding_rs v0.8.33
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]     Checking gpu-alloc-types v0.2.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling zstd-safe v5.0.2+zstd.1.5.2
[INFO] [stderr]     Checking crossbeam-deque v0.8.3
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]     Checking either v1.9.0
[INFO] [stderr]    Compiling fastrand v2.0.0
[INFO] [stderr]     Checking gpu-alloc v0.5.4
[INFO] [stderr]    Compiling walkdir v2.4.0
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]     Checking wgpu-types v0.16.1
[INFO] [stderr]     Checking rayon-core v1.11.0
[INFO] [stderr]     Checking euclid v0.22.9
[INFO] [stderr]    Compiling jobserver v0.1.26
[INFO] [stderr]     Checking spirv v0.2.0+1.5.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking indexmap v1.9.3
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking gpu-descriptor v0.2.3
[INFO] [stderr]     Checking uuid v1.4.1
[INFO] [stderr]    Compiling cpal v0.15.2
[INFO] [stderr]    Compiling bytecount v0.6.3
[INFO] [stderr]     Checking mint v0.5.9
[INFO] [stderr]     Checking profiling v1.0.10
[INFO] [stderr]     Checking wayland-commons v0.29.5
[INFO] [stderr]     Checking num-integer v0.1.45
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking alsa v0.7.1
[INFO] [stderr]     Checking rayon v1.7.0
[INFO] [stderr]     Checking lyon_geom v1.0.4
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking float_next_after v0.1.5
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]     Checking tracing-core v0.1.31
[INFO] [stderr]     Checking nix v0.26.4
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling winit v0.28.6
[INFO] [stderr]    Compiling memoffset v0.8.0
[INFO] [stderr]    Compiling gilrs v0.10.2
[INFO] [stderr]     Checking jpeg-decoder v0.3.0
[INFO] [stderr]    Compiling libz-sys v1.1.12
[INFO] [stderr]    Compiling zstd-sys v2.0.8+zstd.1.5.5
[INFO] [stderr]    Compiling bzip2-sys v0.1.11+1.0.8
[INFO] [stderr]     Checking lyon_path v1.0.4
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking xi-unicode v0.3.0
[INFO] [stderr]    Compiling tempfile v3.8.0
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking xcursor v0.3.4
[INFO] [stderr]     Checking regex-syntax v0.7.5
[INFO] [stderr]     Checking lyon_algorithms v1.0.3
[INFO] [stderr]     Checking flate2 v1.0.27
[INFO] [stderr]     Checking glyph_brush_layout v0.2.3
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking png v0.17.10
[INFO] [stderr]     Checking gilrs-core v0.5.7
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking num-rational v0.4.1
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking ordered-float v3.9.1
[INFO] [stderr]     Checking tiff v0.9.0
[INFO] [stderr]    Compiling moka v0.11.3
[INFO] [stderr]     Checking hound v3.5.0
[INFO] [stderr]     Checking claxon v0.4.3
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]     Checking quanta v0.11.1
[INFO] [stderr]     Checking directories v5.0.1
[INFO] [stderr]     Checking tracing-log v0.1.3
[INFO] [stderr]     Checking glam v0.24.1
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]     Checking scheduled-thread-pool v0.2.7
[INFO] [stderr]     Checking sharded-slab v0.1.4
[INFO] [stderr]     Checking iana-time-zone v0.1.57
[INFO] [stderr]     Checking tagptr v0.2.0
[INFO] [stderr]     Checking triomphe v0.1.9
[INFO] [stderr]     Checking chrono v0.4.30
[INFO] [stderr]     Checking keyframe v1.1.1
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking bytes v1.5.0
[INFO] [stderr]     Checking regex-automata v0.3.8
[INFO] [stderr]    Compiling crevice-derive v0.10.0
[INFO] [stderr]    Compiling keyframe_derive v1.0.0
[INFO] [stderr]     Checking wayland-cursor v0.29.5
[INFO] [stderr]     Checking bzip2 v0.4.4
[INFO] [stderr]     Checking glyph_brush_draw_cache v0.1.5
[INFO] [stderr]     Checking glyph_brush v0.7.7
[INFO] [stderr]     Checking regex v1.9.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.48
[INFO] [stderr]    Compiling serde_derive v1.0.188
[INFO] [stderr]    Compiling bytemuck_derive v1.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.26
[INFO] [stderr]    Compiling smart-default v0.7.1
[INFO] [stderr]     Checking bytemuck v1.14.0
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]     Checking symphonia-core v0.5.3
[INFO] [stderr]     Checking tiny-skia-path v0.8.4
[INFO] [stderr]     Checking image v0.24.7
[INFO] [stderr]     Checking crevice v0.13.0
[INFO] [stderr]     Checking naga v0.12.3
[INFO] [stderr]     Checking calloop v0.10.6
[INFO] [stderr]     Checking lyon_tessellation v1.0.10
[INFO] [stderr]     Checking tracing-subscriber v0.3.17
[INFO] [stderr]     Checking tiny-skia v0.8.4
[INFO] [stderr]     Checking lyon v1.0.1
[INFO] [stderr]     Checking symphonia-metadata v0.5.3
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.3
[INFO] [stderr]     Checking symphonia v0.5.3
[INFO] [stderr]     Checking rodio v0.17.1
[INFO] [stderr]     Checking zstd v0.11.2+zstd.1.5.2
[INFO] [stderr]     Checking zip v0.6.6
[INFO] [stderr]     Checking wgpu-hal v0.16.2
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]    Compiling cargo-platform v0.1.3
[INFO] [stderr]    Compiling cargo_metadata v0.14.2
[INFO] [stderr]     Checking wgpu-core v0.16.1
[INFO] [stderr]    Compiling skeptic v0.13.7
[INFO] [stderr]    Compiling ggez v0.9.3
[INFO] [stderr]     Checking wgpu v0.16.3
[INFO] [stderr]     Checking smithay-client-toolkit v0.16.0
[INFO] [stderr]     Checking sctk-adwaita v0.5.4
[INFO] [stderr]     Checking D32 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]   --> src/test_cache.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout]  1 | use std::ops::Deref;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/main.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | mod test_cache;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DrawParam`
[INFO] [stdout]   --> src/test_cache.rs:6:37
[INFO] [stdout]    |
[INFO] [stdout]  6 | use ggez::graphics::{Canvas, Color, DrawParam};
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/main.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | mod test_cache;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::draw`
[INFO] [stdout]   --> src/test_cache.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::draw;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]   --> src/main.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | mod test_cache;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/draw/map.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `DrawMode`, `Mesh`, `ScreenImage`, `StrokeOptions`, and `Text`
[INFO] [stdout]  --> src/draw/map.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics::{Canvas, Color, DrawMode, DrawParam, InstanceArray, Mesh, Rect, ScreenImage, StrokeOptions, Text};
[INFO] [stdout]   |                              ^^^^^  ^^^^^^^^                            ^^^^        ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/draw/map.rs:135:32
[INFO] [stdout]     |
[INFO] [stdout] 135 |                 let back_idx = (tile.back as u32 & 0x7FFF);
[INFO] [stdout]     |                                ^                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 135 -                 let back_idx = (tile.back as u32 & 0x7FFF);
[INFO] [stdout] 135 +                 let back_idx = tile.back as u32 & 0x7FFF ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/draw/map.rs:136:34
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 let middle_idx = (tile.middle as u32 & 0x7FFF);
[INFO] [stdout]     |                                  ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 136 -                 let middle_idx = (tile.middle as u32 & 0x7FFF);
[INFO] [stdout] 136 +                 let middle_idx = tile.middle as u32 & 0x7FFF ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/draw/map.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 let object_idx = (tile.objects as u32 & 0x7FFF);
[INFO] [stdout]     |                                  ^                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 137 -                 let object_idx = (tile.objects as u32 & 0x7FFF);
[INFO] [stdout] 137 +                 let object_idx = tile.objects as u32 & 0x7FFF ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deref` and `Index`
[INFO] [stdout]  --> src/cache.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::{Deref, Index};
[INFO] [stdout]   |                ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`, and `input`
[INFO] [stdout]  --> src/cache.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ggez::{Context, GameError, GameResult, input};
[INFO] [stdout]   |                     ^^^^^^^^^  ^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing_subscriber::filter::FilterExt`
[INFO] [stdout]   --> src/cache.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing_subscriber::filter::FilterExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cache::ImageCache`
[INFO] [stdout]  --> src/control/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::cache::ImageCache;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::draw`
[INFO] [stdout]  --> src/control/map.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::draw;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/test_cache.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DrawParam`
[INFO] [stdout]  --> src/test_cache.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics::{Canvas, Color, DrawParam};
[INFO] [stdout]   |                                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::draw`
[INFO] [stdout]   --> src/test_cache.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::draw;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/draw/map.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `DrawMode`, `Mesh`, `ScreenImage`, `StrokeOptions`, and `Text`
[INFO] [stdout]  --> src/draw/map.rs:6:30
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics::{Canvas, Color, DrawMode, DrawParam, InstanceArray, Mesh, Rect, ScreenImage, StrokeOptions, Text};
[INFO] [stdout]   |                              ^^^^^  ^^^^^^^^                            ^^^^        ^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/draw/map.rs:135:32
[INFO] [stdout]     |
[INFO] [stdout] 135 |                 let back_idx = (tile.back as u32 & 0x7FFF);
[INFO] [stdout]     |                                ^                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 135 -                 let back_idx = (tile.back as u32 & 0x7FFF);
[INFO] [stdout] 135 +                 let back_idx = tile.back as u32 & 0x7FFF ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/draw/map.rs:136:34
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 let middle_idx = (tile.middle as u32 & 0x7FFF);
[INFO] [stdout]     |                                  ^                           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 136 -                 let middle_idx = (tile.middle as u32 & 0x7FFF);
[INFO] [stdout] 136 +                 let middle_idx = tile.middle as u32 & 0x7FFF ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/draw/map.rs:137:34
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 let object_idx = (tile.objects as u32 & 0x7FFF);
[INFO] [stdout]     |                                  ^                            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 137 -                 let object_idx = (tile.objects as u32 & 0x7FFF);
[INFO] [stdout] 137 +                 let object_idx = tile.objects as u32 & 0x7FFF ;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deref` and `Index`
[INFO] [stdout]  --> src/cache.rs:3:16
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::{Deref, Index};
[INFO] [stdout]   |                ^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`, and `input`
[INFO] [stdout]  --> src/cache.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ggez::{Context, GameError, GameResult, input};
[INFO] [stdout]   |                     ^^^^^^^^^  ^^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing_subscriber::filter::FilterExt`
[INFO] [stdout]   --> src/cache.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use tracing_subscriber::filter::FilterExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::cache::ImageCache`
[INFO] [stdout]  --> src/control/mod.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::cache::ImageCache;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::draw`
[INFO] [stdout]  --> src/control/map.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::draw;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `now`
[INFO] [stdout]   --> src/test_cache.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let now = Instant::now();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sharing`
[INFO] [stdout]   --> src/test_cache.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let sharing = sharing2(angle, 8.0);
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sharing`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/draw/map.rs:112:41
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn update_move_pixel(&mut self, time: f64) {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/draw/map.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let time = Instant::now();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cache.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut names = Cache::new(255);
[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: `now`
[INFO] [stdout]   --> src/test_cache.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let now = Instant::now();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_now`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sharing`
[INFO] [stdout]   --> src/test_cache.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let sharing = sharing2(angle, 8.0);
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sharing`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/draw/map.rs:112:41
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn update_move_pixel(&mut self, time: f64) {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/control/map.rs:35:68
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn draw(&mut self, ctx: &mut Context, canvas: &mut Canvas, state: &mut GameState, cache: &mut ImageCache) {
[INFO] [stdout]    |                                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/control/map.rs:39:34
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn select_map(&mut self, state: &GameState) {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/draw/map.rs:178:13
[INFO] [stdout]     |
[INFO] [stdout] 178 |         let time = Instant::now();
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SceneEnum` is never used
[INFO] [stdout]  --> src/scene/mod.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum SceneEnum {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scene` is never constructed
[INFO] [stdout]  --> src/scene/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Scene {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `door_idx`, `door_offset`, `frame`, `tick`, and `light` are never read
[INFO] [stdout]   --> src/asset.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Tile {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub door_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 23 |     pub door_offset: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 24 |     pub frame: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 25 |     pub tick: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 26 |     pub light: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Tile` 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: field `layer` is never read
[INFO] [stdout]   --> src/draw/map.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct MapTileSet {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 14 |     layer: i32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MapTileSet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reload_map`, `move_by_pixel`, and `update_move_pixel` are never used
[INFO] [stdout]    --> src/draw/map.rs:77:12
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl MapDraw {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn reload_map(&mut self, data_id: u32, data_number: u32, name: &str, tile_x: i32, tile_y: i32, rel_offset_x: i32, rel_offse...
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn move_by_pixel(&mut self, rel_offset_x: f32, rel_offset_y: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn update_move_pixel(&mut self, time: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_height` is never read
[INFO] [stdout]   --> src/cache.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct ImageMark {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 31 |     pub max_width: u32,
[INFO] [stdout] 32 |     pub max_height: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImageMark` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `names` is never read
[INFO] [stdout]   --> src/cache.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct ImageCache {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 96 |     names: Cache<u32, String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_name` and `load_key` are never used
[INFO] [stdout]    --> src/cache.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl ImageCache {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn add_name(&mut self, key: u32, name: String) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn load_key(&mut self, key: CacheKey) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_ID_SHR` is never used
[INFO] [stdout]    --> src/cache.rs:297:7
[INFO] [stdout]     |
[INFO] [stdout] 297 | const DATA_ID_SHR: u32 = 55;
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_NUMBER_SHR` is never used
[INFO] [stdout]    --> src/cache.rs:299:7
[INFO] [stdout]     |
[INFO] [stdout] 299 | const DATA_NUMBER_SHR: u32 = 45;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_long_key`, `get_data_id`, and `get_data_number` are never used
[INFO] [stdout]    --> src/cache.rs:318:12
[INFO] [stdout]     |
[INFO] [stdout] 317 | impl CacheKey {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 318 |     pub fn new(long_key: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 342 |     pub fn get_long_key(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     pub fn get_data_id(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub fn get_data_number(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EasingStatus` is never used
[INFO] [stdout]  --> src/easing.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum EasingStatus {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cache.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut names = Cache::new(255);
[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: struct `Point2` is never constructed
[INFO] [stdout]   --> src/easing.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Point2 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rect2` is never constructed
[INFO] [stdout]   --> src/easing.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Rect2 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Easing` is never constructed
[INFO] [stdout]   --> src/easing.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Easing<T: CanTween + Clone + Default> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/easing.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<T: CanTween + Clone + Default> Easing<T> {
[INFO] [stdout]    | --------------------------------------------- associated items in this implementation
[INFO] [stdout] 36 |     pub fn new(start: T, finish: T, time: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn run(&mut self) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn pause(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn pause_to_start(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn pause_to_finish(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn ready(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn advance_warp(&mut self, duration: f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn now(&self) -> T {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn status(&self) -> EasingStatus {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `angle` is never used
[INFO] [stdout]   --> src/easing.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn angle(src_x: f32, src_y: f32, dst_x: f32, dst_y: f32) -> f32 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sharing` is never used
[INFO] [stdout]   --> src/easing.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn sharing(angle: f32, sharing: f32) -> f32 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `angle8` is never used
[INFO] [stdout]    --> src/easing.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn angle8(src_x: f32, src_y: f32, dst_x: f32, dst_y: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `angle12` is never used
[INFO] [stdout]    --> src/easing.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn angle12(src_x: f32, src_y: f32, dst_x: f32, dst_y: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `angle16` is never used
[INFO] [stdout]    --> src/easing.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn angle16(src_x: f32, src_y: f32, dst_x: f32, dst_y: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `distance` is never used
[INFO] [stdout]    --> src/easing.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn distance(src_x: f32, src_y: f32, dst_x: f32, dst_y: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_dir`, `scale_factor`, `screen_size`, and `window_size` are never read
[INFO] [stdout]   --> src/control/mod.rs:8:16
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct GameState {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout]  8 |     pub(crate) base_dir: PathBuf,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]  9 |     pub(crate) scale_factor: f32,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub(crate) screen_size: (f32, f32),
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 11 |     pub(crate) window_size: (f32, f32),
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameState` 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: struct `MapControl` is never constructed
[INFO] [stdout]  --> src/control/map.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct MapControl {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update`, `draw`, `select_map`, `jump_map`, and `move_map` are never used
[INFO] [stdout]   --> src/control/map.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl MapControl {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 19 |
[INFO] [stdout] 20 |     pub fn new(state: &GameState) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn update() {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn draw(&mut self, ctx: &mut Context, canvas: &mut Canvas, state: &mut GameState, cache: &mut ImageCache) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn select_map(&mut self, state: &GameState) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn jump_map() {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn move_map() {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/control/map.rs:35:68
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn draw(&mut self, ctx: &mut Context, canvas: &mut Canvas, state: &mut GameState, cache: &mut ImageCache) {
[INFO] [stdout]    |                                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]   --> src/control/map.rs:39:34
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn select_map(&mut self, state: &GameState) {
[INFO] [stdout]    |                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SceneEnum` is never used
[INFO] [stdout]  --> src/scene/mod.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum SceneEnum {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Scene` is never constructed
[INFO] [stdout]  --> src/scene/mod.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Scene {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `door_idx`, `door_offset`, `frame`, `tick`, and `light` are never read
[INFO] [stdout]   --> src/asset.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Tile {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub door_idx: u8,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 23 |     pub door_offset: u8,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 24 |     pub frame: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 25 |     pub tick: u8,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 26 |     pub light: u8,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Tile` 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: field `layer` is never read
[INFO] [stdout]   --> src/draw/map.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct MapTileSet {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 14 |     layer: i32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MapTileSet` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `reload_map`, `move_by_pixel`, and `update_move_pixel` are never used
[INFO] [stdout]    --> src/draw/map.rs:77:12
[INFO] [stdout]     |
[INFO] [stdout]  42 | impl MapDraw {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn reload_map(&mut self, data_id: u32, data_number: u32, name: &str, tile_x: i32, tile_y: i32, rel_offset_x: i32, rel_offse...
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn move_by_pixel(&mut self, rel_offset_x: f32, rel_offset_y: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn update_move_pixel(&mut self, time: f64) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_height` is never read
[INFO] [stdout]   --> src/cache.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct ImageMark {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 31 |     pub max_width: u32,
[INFO] [stdout] 32 |     pub max_height: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImageMark` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `names` is never read
[INFO] [stdout]   --> src/cache.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct ImageCache {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 96 |     names: Cache<u32, String>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_name` and `load_key` are never used
[INFO] [stdout]    --> src/cache.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl ImageCache {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn add_name(&mut self, key: u32, name: String) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn load_key(&mut self, key: CacheKey) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_ID_SHR` is never used
[INFO] [stdout]    --> src/cache.rs:297:7
[INFO] [stdout]     |
[INFO] [stdout] 297 | const DATA_ID_SHR: u32 = 55;
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_NUMBER_SHR` is never used
[INFO] [stdout]    --> src/cache.rs:299:7
[INFO] [stdout]     |
[INFO] [stdout] 299 | const DATA_NUMBER_SHR: u32 = 45;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_long_key`, `get_data_id`, and `get_data_number` are never used
[INFO] [stdout]    --> src/cache.rs:318:12
[INFO] [stdout]     |
[INFO] [stdout] 317 | impl CacheKey {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 318 |     pub fn new(long_key: u64) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 342 |     pub fn get_long_key(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 358 |     pub fn get_data_id(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 362 |     pub fn get_data_number(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EasingStatus` is never used
[INFO] [stdout]  --> src/easing.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub enum EasingStatus {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point2` is never constructed
[INFO] [stdout]   --> src/easing.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Point2 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rect2` is never constructed
[INFO] [stdout]   --> src/easing.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Rect2 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Easing` is never constructed
[INFO] [stdout]   --> src/easing.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct Easing<T: CanTween + Clone + Default> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/easing.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl<T: CanTween + Clone + Default> Easing<T> {
[INFO] [stdout]    | --------------------------------------------- associated items in this implementation
[INFO] [stdout] 36 |     pub fn new(start: T, finish: T, time: f64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn run(&mut self) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn pause(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn pause_to_start(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn pause_to_finish(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn ready(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn advance_warp(&mut self, duration: f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn now(&self) -> T {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn status(&self) -> EasingStatus {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `angle` is never used
[INFO] [stdout]   --> src/easing.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn angle(src_x: f32, src_y: f32, dst_x: f32, dst_y: f32) -> f32 {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `sharing` is never used
[INFO] [stdout]   --> src/easing.rs:98:4
[INFO] [stdout]    |
[INFO] [stdout] 98 | fn sharing(angle: f32, sharing: f32) -> f32 {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `angle8` is never used
[INFO] [stdout]    --> src/easing.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn angle8(src_x: f32, src_y: f32, dst_x: f32, dst_y: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `angle12` is never used
[INFO] [stdout]    --> src/easing.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub fn angle12(src_x: f32, src_y: f32, dst_x: f32, dst_y: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `angle16` is never used
[INFO] [stdout]    --> src/easing.rs:113:8
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub fn angle16(src_x: f32, src_y: f32, dst_x: f32, dst_y: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `distance` is never used
[INFO] [stdout]    --> src/easing.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn distance(src_x: f32, src_y: f32, dst_x: f32, dst_y: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_dir`, `scale_factor`, `screen_size`, and `window_size` are never read
[INFO] [stdout]   --> src/control/mod.rs:8:16
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct GameState {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout]  8 |     pub(crate) base_dir: PathBuf,
[INFO] [stdout]    |                ^^^^^^^^
[INFO] [stdout]  9 |     pub(crate) scale_factor: f32,
[INFO] [stdout]    |                ^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub(crate) screen_size: (f32, f32),
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout] 11 |     pub(crate) window_size: (f32, f32),
[INFO] [stdout]    |                ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameState` 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: struct `MapControl` is never constructed
[INFO] [stdout]  --> src/control/map.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct MapControl {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `update`, `draw`, `select_map`, `jump_map`, and `move_map` are never used
[INFO] [stdout]   --> src/control/map.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl MapControl {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 19 |
[INFO] [stdout] 20 |     pub fn new(state: &GameState) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn update() {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn draw(&mut self, ctx: &mut Context, canvas: &mut Canvas, state: &mut GameState, cache: &mut ImageCache) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn select_map(&mut self, state: &GameState) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn jump_map() {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn move_map() {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 09s
[INFO] running `Command { std: "docker" "inspect" "4a3932a7c11c499dfe9117420b1c3e9c55b159e8598abac78fdc4aefae4b6aed", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a3932a7c11c499dfe9117420b1c3e9c55b159e8598abac78fdc4aefae4b6aed", kill_on_drop: false }`
[INFO] [stdout] 4a3932a7c11c499dfe9117420b1c3e9c55b159e8598abac78fdc4aefae4b6aed
