[INFO] cloning repository https://github.com/DerGorn/placeholder
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DerGorn/placeholder" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDerGorn%2Fplaceholder", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDerGorn%2Fplaceholder'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 536d5d173eabf13b473bbc32d7080a3999ba386e
[INFO] checking DerGorn/placeholder against try#e117153a45c546e883c1f91d82611775fcaeffe0 for pr-146470
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDerGorn%2Fplaceholder" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/DerGorn/placeholder
[INFO] finished tweaking git repo https://github.com/DerGorn/placeholder
[INFO] tweaked toml for git repo https://github.com/DerGorn/placeholder written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DerGorn/placeholder on toolchain e117153a45c546e883c1f91d82611775fcaeffe0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DerGorn/placeholder 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" "+e117153a45c546e883c1f91d82611775fcaeffe0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 820ed927fa37090c85a26a29166d027a9010acba1ebe6a1593b5f54f864c2919
[INFO] running `Command { std: "docker" "start" "-a" "820ed927fa37090c85a26a29166d027a9010acba1ebe6a1593b5f54f864c2919", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "820ed927fa37090c85a26a29166d027a9010acba1ebe6a1593b5f54f864c2919", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "820ed927fa37090c85a26a29166d027a9010acba1ebe6a1593b5f54f864c2919", kill_on_drop: false }`
[INFO] [stdout] 820ed927fa37090c85a26a29166d027a9010acba1ebe6a1593b5f54f864c2919
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+e117153a45c546e883c1f91d82611775fcaeffe0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bcfe37fa9612bad914a5772042244af0957561205fc4d7adc883357528f3b22a
[INFO] running `Command { std: "docker" "start" "-a" "bcfe37fa9612bad914a5772042244af0957561205fc4d7adc883357528f3b22a", kill_on_drop: false }`
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]     Checking libloading v0.8.5
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling rustix v0.38.37
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling bytemuck_derive v1.7.1
[INFO] [stderr]    Compiling cc v1.1.21
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling quick-xml v0.36.1
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling wayland-client v0.31.6
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking allocator-api2 v0.2.18
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling wayland-sys v0.31.5
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking unicode-width v0.1.13
[INFO] [stderr]    Compiling ash v0.37.3+1.3.251
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]    Compiling wgpu-hal v0.19.5
[INFO] [stderr]     Checking bytemuck v1.18.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]    Compiling wayland-scanner v0.31.5
[INFO] [stderr]     Checking indexmap v2.5.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.2
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]     Checking xcursor v0.3.8
[INFO] [stderr]     Checking unicode-xid v0.2.5
[INFO] [stderr]     Checking cursor-icon v1.1.0
[INFO] [stderr]     Checking ttf-parser v0.24.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling wayland-backend v0.3.7
[INFO] [stderr]     Checking futures-sink v0.3.30
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]     Checking naga v0.19.2
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling wgpu-core v0.19.4
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking wgpu-types v0.19.2
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]     Checking regex-syntax v0.8.4
[INFO] [stderr]     Checking owned_ttf_parser v0.24.0
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]     Checking glow v0.13.1
[INFO] [stderr]     Checking rav1e v0.7.1
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling winit v0.30.5
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]     Checking ab_glyph v0.2.28
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking polling v3.7.3
[INFO] [stderr]     Checking rgb v0.8.50
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]    Compiling wgpu v0.19.4
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]     Checking regex v1.10.6
[INFO] [stderr]     Checking wayland-protocols v0.32.4
[INFO] [stderr]     Checking wayland-cursor v0.31.6
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]    Compiling repr-trait-derive v1.0.0
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking is-terminal v0.4.13
[INFO] [stderr]     Checking dpi v0.1.1
[INFO] [stderr]     Checking raw-window-handle v0.5.2
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking symphonia-core v0.5.4
[INFO] [stderr]     Checking repr-trait v1.0.0
[INFO] [stderr]     Checking futures v0.3.30
[INFO] [stderr]     Checking encoding_rs v0.8.34
[INFO] [stderr]     Checking ravif v0.11.10
[INFO] [stderr]     Checking threed v0.1.0 (https://github.com/DerGorn/threed.git#6dfe5eb7)
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]     Checking image v0.25.2
[INFO] [stderr]     Checking tinyvec v1.8.0
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]     Checking symphonia-metadata v0.5.4
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]    Compiling placeholder v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.4
[INFO] [stderr]     Checking hound v3.5.1
[INFO] [stderr]     Checking claxon v0.4.3
[INFO] [stderr]     Checking symphonia v0.5.4
[INFO] [stderr]     Checking rodio v0.18.1
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.4
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.4
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking ferride_core v0.1.0 (/opt/rustwide/workdir/ferride_core)
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]    --> ferride_core/src/graphics_provider/texture/mod.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct Texture {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 118 |     pub texture: wgpu::Texture,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> ferride_core/src/game/mod.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |         pub struct SimpleVertex {
[INFO] [stdout]    |                    ^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> ferride_core/src/game/mod.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | /         #[repr(C)]
[INFO] [stdout] 44 | |         #[derive(Debug, Clone, Copy, bytemuck::Pod, bytemuck::Zeroable, repr_trait::C)]
[INFO] [stdout] 45 | |         pub struct SimpleVertex {
[INFO] [stdout] 46 | |             position: [f32; 2],
[INFO] [stdout] 47 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> ferride_core/src/game/camera.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct CameraUniform {
[INFO] [stdout]    |        ^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> ferride_core/src/game/camera.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | / #[repr(C)]
[INFO] [stdout] 26 | | #[derive(Debug, Clone, Copy, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 27 | | struct CameraUniform {
[INFO] [stdout] 28 | |     view: [[f32; 2]; 3],
[INFO] [stdout] 29 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> ferride_core/src/graphics_provider/render_scene.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 93 |         &'a self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 94 |         texture_bind_group_layout: &'a wgpu::BindGroupLayout,
[INFO] [stdout]    |                                     -- the lifetime is named here
[INFO] [stdout] 95 |     ) -> Vec<&wgpu::BindGroupLayout> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 95 |     ) -> Vec<&'a wgpu::BindGroupLayout> {
[INFO] [stdout]    |               ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ferride_core/src/graphics_provider/render_scene.rs:105:33
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn vertex_buffer_layout(&self) -> &wgpu::VertexBufferLayout {
[INFO] [stdout]     |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |         ||
[INFO] [stdout]     |                                 |         |the same lifetime is hidden here
[INFO] [stdout]     |                                 |         the same lifetime is elided here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn vertex_buffer_layout(&self) -> &wgpu::VertexBufferLayout<'_> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]    --> ferride_core/src/graphics_provider/texture/mod.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct Texture {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 118 |     pub texture: wgpu::Texture,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> ferride_core/src/game/mod.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |         pub struct SimpleVertex {
[INFO] [stdout]    |                    ^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> ferride_core/src/game/mod.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | /         #[repr(C)]
[INFO] [stdout] 44 | |         #[derive(Debug, Clone, Copy, bytemuck::Pod, bytemuck::Zeroable, repr_trait::C)]
[INFO] [stdout] 45 | |         pub struct SimpleVertex {
[INFO] [stdout] 46 | |             position: [f32; 2],
[INFO] [stdout] 47 | |         }
[INFO] [stdout]    | |_________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> ferride_core/src/game/camera.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct CameraUniform {
[INFO] [stdout]    |        ^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> ferride_core/src/game/camera.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | / #[repr(C)]
[INFO] [stdout] 26 | | #[derive(Debug, Clone, Copy, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 27 | | struct CameraUniform {
[INFO] [stdout] 28 | |     view: [[f32; 2]; 3],
[INFO] [stdout] 29 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> ferride_core/src/graphics_provider/render_scene.rs:95:14
[INFO] [stdout]    |
[INFO] [stdout] 93 |         &'a self,
[INFO] [stdout]    |          -- the lifetime is named here
[INFO] [stdout] 94 |         texture_bind_group_layout: &'a wgpu::BindGroupLayout,
[INFO] [stdout]    |                                     -- the lifetime is named here
[INFO] [stdout] 95 |     ) -> Vec<&wgpu::BindGroupLayout> {
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 95 |     ) -> Vec<&'a wgpu::BindGroupLayout> {
[INFO] [stdout]    |               ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> ferride_core/src/graphics_provider/render_scene.rs:105:33
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn vertex_buffer_layout(&self) -> &wgpu::VertexBufferLayout {
[INFO] [stdout]     |                                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                 |         ||
[INFO] [stdout]     |                                 |         |the same lifetime is hidden here
[INFO] [stdout]     |                                 |         the same lifetime is elided here
[INFO] [stdout]     |                                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 105 |     pub fn vertex_buffer_layout(&self) -> &wgpu::VertexBufferLayout<'_> {
[INFO] [stdout]     |                                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking polygon v0.1.0 (/opt/rustwide/workdir/polygon)
[INFO] [stdout] warning: unused imports: `FixedNumber` and `SCALE`
[INFO] [stdout]  --> polygon/src/simple_polygon.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 |     sos::{FixedNumber, Point, SCALE},
[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: `Matrix`
[INFO] [stdout]   --> polygon/src/simple_polygon.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use threed::{Matrix, Vector};
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `background::Background`
[INFO] [stdout]  --> src/entities/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use background::Background;
[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: `enemy::Enemy`
[INFO] [stdout]  --> src/entities/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use enemy::Enemy;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `player::Player`
[INFO] [stdout]   --> src/entities/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use player::Player;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `transition::Transition`
[INFO] [stdout]   --> src/entities/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use transition::Transition;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FixedNumber` and `SCALE`
[INFO] [stdout]  --> polygon/src/simple_polygon.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 |     sos::{FixedNumber, Point, SCALE},
[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: `Matrix`
[INFO] [stdout]   --> polygon/src/simple_polygon.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use threed::{Matrix, Vector};
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flex_button_line::FlexButtonLineManager`
[INFO] [stdout]   --> src/ui/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     flex_button_line::FlexButtonLineManager, flex_button_line::FlexCharacterGuiLine,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RESOLUTION`
[INFO] [stdout]  --> src/game_logic.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |     BATTLE_SCENE, END_GAME_BUTTON, RESOLUTION, START_GAME_BUTTON,
[INFO] [stdout]   |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `tile`
[INFO] [stdout]   --> src/dungeon/mod.rs:97:14
[INFO] [stdout]    |
[INFO] [stdout] 97 | macro_rules! tile {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `background::Background`
[INFO] [stdout]  --> src/entities/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use background::Background;
[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: `enemy::Enemy`
[INFO] [stdout]  --> src/entities/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub use enemy::Enemy;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `player::Player`
[INFO] [stdout]   --> src/entities/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use player::Player;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `transition::Transition`
[INFO] [stdout]   --> src/entities/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use transition::Transition;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `flex_button_line::FlexButtonLineManager`
[INFO] [stdout]   --> src/ui/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     flex_button_line::FlexButtonLineManager, flex_button_line::FlexCharacterGuiLine,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RESOLUTION`
[INFO] [stdout]  --> src/game_logic.rs:8:36
[INFO] [stdout]   |
[INFO] [stdout] 8 |     BATTLE_SCENE, END_GAME_BUTTON, RESOLUTION, START_GAME_BUTTON,
[INFO] [stdout]   |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/game_logic.rs:508:29
[INFO] [stdout]     |
[INFO] [stdout] 507 |                               todo!("CharacterGuiManager.create_detail_gui needs a better implementation with some flex boxes and more stats and explenations");
[INFO] [stdout]     |                               --------------------------------------------------------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 508 | /                             events.extend([
[INFO] [stdout] 509 | |                                 Event::RequestSuspendScene(BATTLE_SCENE.into()),
[INFO] [stdout] 510 | |                                 Event::RequestSetVisibilityScene(
[INFO] [stdout] 511 | |                                     BATTLE_SCENE.into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 545 | |                                 ),
[INFO] [stdout] 546 | |                             ]);
[INFO] [stdout]     | |_______________________________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> polygon/src/simple_polygon.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |               todo!("Right Intersection");
[INFO] [stdout]     |               --------------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 246 | /             let left_intersection = left_edges
[INFO] [stdout] 247 | |                 .iter()
[INFO] [stdout] 248 | |                 .filter_map(|e| {
[INFO] [stdout] ...   |
[INFO] [stdout] 266 | |                     },
[INFO] [stdout] 267 | |                 );
[INFO] [stdout]     | |__________________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cord_i`
[INFO] [stdout]    --> polygon/src/polygon.rs:383:30
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 .partition(|(cord_i, c)| {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cord_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_edges`
[INFO] [stdout]    --> polygon/src/simple_polygon.rs:215:17
[INFO] [stdout]     |
[INFO] [stdout] 215 |             let left_edges =
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_edges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right_intersection`
[INFO] [stdout]    --> polygon/src/simple_polygon.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |             let right_intersection = right_edges
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_intersection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_intersection`
[INFO] [stdout]    --> polygon/src/simple_polygon.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 |             let left_intersection = left_edges
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_intersection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> polygon/src/main.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct SimpleVertex {
[INFO] [stdout]    |            ^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> polygon/src/main.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | / #[repr(C)]
[INFO] [stdout] 26 | | #[derive(Debug, Clone, Copy, bytemuck::Pod, bytemuck::Zeroable, repr_trait::C)]
[INFO] [stdout] 27 | | pub struct SimpleVertex {
[INFO] [stdout] 28 | |     position: [f32; 2],
[INFO] [stdout] 29 | |     color: u32,
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `index` is never read
[INFO] [stdout]   --> polygon/src/sos.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Coordinate {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 63 |     pub value: FixedNumber,
[INFO] [stdout] 64 |     index: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `smaller` is never used
[INFO] [stdout]   --> polygon/src/sos.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl Coordinate {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 67 |     pub fn smaller(&self, self_point: usize, other: &Self, other_point: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_i128` are never used
[INFO] [stdout]   --> polygon/src/sos.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl Point {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn new(x: FixedNumber, y: FixedNumber) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn from_i128(x: i128, y: i128) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coordinate` is never constructed
[INFO] [stdout]   --> polygon/src/polygon.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct Coordinate {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `smaller` is never used
[INFO] [stdout]   --> polygon/src/polygon.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl Coordinate {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 63 |     fn smaller(&self, self_point: usize, other: &Self, other_point: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> polygon/src/polygon.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct Point {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_f32` are never used
[INFO] [stdout]   --> polygon/src/polygon.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | impl Point {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 83 |     fn new(x: FixedNumber, y: FixedNumber) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     fn from_f32(x: f32, y: f32) -> Self {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Triangle` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:103:6
[INFO] [stdout]     |
[INFO] [stdout] 103 | type Triangle = [usize; 3];
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VertexIndex` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:105:6
[INFO] [stdout]     |
[INFO] [stdout] 105 | type VertexIndex = usize;
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Edge` is never constructed
[INFO] [stdout]    --> polygon/src/polygon.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | struct Edge {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl Edge {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 111 |     fn new(start: usize, end: usize) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EdgeIndex` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:121:6
[INFO] [stdout]     |
[INFO] [stdout] 121 | type EdgeIndex = usize;
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cord` is never constructed
[INFO] [stdout]    --> polygon/src/polygon.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | struct Cord {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CordIndex` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:130:6
[INFO] [stdout]     |
[INFO] [stdout] 130 | type CordIndex = usize;
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DoubleBoundaryPoint` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:132:6
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum DoubleBoundaryPoint {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TraverseDirection` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:136:6
[INFO] [stdout]     |
[INFO] [stdout] 136 | enum TraverseDirection {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArcSegment` is never constructed
[INFO] [stdout]    --> polygon/src/polygon.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | struct ArcSegment {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Arc` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:144:6
[INFO] [stdout]     |
[INFO] [stdout] 144 | enum Arc {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Polygon` is never constructed
[INFO] [stdout]    --> polygon/src/polygon.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct Polygon {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> polygon/src/polygon.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Polygon {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn cord_edge_intersection(&self, origin: VertexIndex, edge: &Edge) -> Point {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     fn find_possible_cord_intersecting_edges<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn create_cords(&self) -> Vec<Cord> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     fn order_chords_and_vertices(&self) -> Vec<DoubleBoundaryPoint> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     fn create_visibility_map(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 467 |     fn triangulate(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     fn triangles(&self) -> impl IntoIterator<Item = ([Vector<f32>; 3], Color)> + '_ {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EdgeIndex` is never used
[INFO] [stdout]   --> polygon/src/simple_polygon.rs:31:6
[INFO] [stdout]    |
[INFO] [stdout] 31 | type EdgeIndex = usize;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `horizontal_edge_intersection`, `find_possible_horizontal_intersecting_edges`, and `open_holes` are never used
[INFO] [stdout]    --> polygon/src/simple_polygon.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Polygon {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 143 |     fn horizontal_edge_intersection(&self, origin: VertexIndex, edge: &Edge) -> Point {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn find_possible_horizontal_intersecting_edges<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     fn open_holes(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> polygon/src/simple_polygon.rs:246:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |               todo!("Right Intersection");
[INFO] [stdout]     |               --------------------------- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 246 | /             let left_intersection = left_edges
[INFO] [stdout] 247 | |                 .iter()
[INFO] [stdout] 248 | |                 .filter_map(|e| {
[INFO] [stdout] ...   |
[INFO] [stdout] 266 | |                     },
[INFO] [stdout] 267 | |                 );
[INFO] [stdout]     | |__________________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]    --> src/game_logic.rs:508:29
[INFO] [stdout]     |
[INFO] [stdout] 507 |                               todo!("CharacterGuiManager.create_detail_gui needs a better implementation with some flex boxes and more stats and explenations");
[INFO] [stdout]     |                               --------------------------------------------------------------------------------------------------------------------------------- any code following this expression is unreachable
[INFO] [stdout] 508 | /                             events.extend([
[INFO] [stdout] 509 | |                                 Event::RequestSuspendScene(BATTLE_SCENE.into()),
[INFO] [stdout] 510 | |                                 Event::RequestSetVisibilityScene(
[INFO] [stdout] 511 | |                                     BATTLE_SCENE.into(),
[INFO] [stdout] ...   |
[INFO] [stdout] 545 | |                                 ),
[INFO] [stdout] 546 | |                             ]);
[INFO] [stdout]     | |_______________________________^ unreachable statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cord_i`
[INFO] [stdout]    --> polygon/src/polygon.rs:383:30
[INFO] [stdout]     |
[INFO] [stdout] 383 |                 .partition(|(cord_i, c)| {
[INFO] [stdout]     |                              ^^^^^^ help: if this is intentional, prefix it with an underscore: `_cord_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_edges`
[INFO] [stdout]    --> polygon/src/simple_polygon.rs:215:17
[INFO] [stdout]     |
[INFO] [stdout] 215 |             let left_edges =
[INFO] [stdout]     |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_edges`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `right_intersection`
[INFO] [stdout]    --> polygon/src/simple_polygon.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |             let right_intersection = right_edges
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_intersection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `left_intersection`
[INFO] [stdout]    --> polygon/src/simple_polygon.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 |             let left_intersection = left_edges
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_left_intersection`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> polygon/src/main.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct SimpleVertex {
[INFO] [stdout]    |            ^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> polygon/src/main.rs:25:1
[INFO] [stdout]    |
[INFO] [stdout] 25 | / #[repr(C)]
[INFO] [stdout] 26 | | #[derive(Debug, Clone, Copy, bytemuck::Pod, bytemuck::Zeroable, repr_trait::C)]
[INFO] [stdout] 27 | | pub struct SimpleVertex {
[INFO] [stdout] 28 | |     position: [f32; 2],
[INFO] [stdout] 29 | |     color: u32,
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `index` is never read
[INFO] [stdout]   --> polygon/src/sos.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct Coordinate {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 63 |     pub value: FixedNumber,
[INFO] [stdout] 64 |     index: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `smaller` is never used
[INFO] [stdout]   --> polygon/src/sos.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | impl Coordinate {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 67 |     pub fn smaller(&self, self_point: usize, other: &Self, other_point: usize) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_i128` are never used
[INFO] [stdout]   --> polygon/src/sos.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | impl Point {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 93 |     pub fn new(x: FixedNumber, y: FixedNumber) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 99 |     pub fn from_i128(x: i128, y: i128) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Coordinate` is never constructed
[INFO] [stdout]   --> polygon/src/polygon.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub struct Coordinate {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `smaller` is never used
[INFO] [stdout]   --> polygon/src/polygon.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl Coordinate {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 63 |     fn smaller(&self, self_point: usize, other: &Self, other_point: usize) -> bool {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point` is never constructed
[INFO] [stdout]   --> polygon/src/polygon.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct Point {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `from_f32` are never used
[INFO] [stdout]   --> polygon/src/polygon.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | impl Point {
[INFO] [stdout]    | ---------- associated functions in this implementation
[INFO] [stdout] 83 |     fn new(x: FixedNumber, y: FixedNumber) -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     fn from_f32(x: f32, y: f32) -> Self {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Triangle` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:103:6
[INFO] [stdout]     |
[INFO] [stdout] 103 | type Triangle = [usize; 3];
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VertexIndex` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:105:6
[INFO] [stdout]     |
[INFO] [stdout] 105 | type VertexIndex = usize;
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Edge` is never constructed
[INFO] [stdout]    --> polygon/src/polygon.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | struct Edge {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl Edge {
[INFO] [stdout]     | --------- associated function in this implementation
[INFO] [stdout] 111 |     fn new(start: usize, end: usize) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EdgeIndex` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:121:6
[INFO] [stdout]     |
[INFO] [stdout] 121 | type EdgeIndex = usize;
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Cord` is never constructed
[INFO] [stdout]    --> polygon/src/polygon.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 | struct Cord {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CordIndex` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:130:6
[INFO] [stdout]     |
[INFO] [stdout] 130 | type CordIndex = usize;
[INFO] [stdout]     |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DoubleBoundaryPoint` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:132:6
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum DoubleBoundaryPoint {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TraverseDirection` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:136:6
[INFO] [stdout]     |
[INFO] [stdout] 136 | enum TraverseDirection {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ArcSegment` is never constructed
[INFO] [stdout]    --> polygon/src/polygon.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | struct ArcSegment {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Arc` is never used
[INFO] [stdout]    --> polygon/src/polygon.rs:144:6
[INFO] [stdout]     |
[INFO] [stdout] 144 | enum Arc {
[INFO] [stdout]     |      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Polygon` is never constructed
[INFO] [stdout]    --> polygon/src/polygon.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct Polygon {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> polygon/src/polygon.rs:187:8
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl Polygon {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn cord_edge_intersection(&self, origin: VertexIndex, edge: &Edge) -> Point {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     fn find_possible_cord_intersecting_edges<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn create_cords(&self) -> Vec<Cord> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 360 |     fn order_chords_and_vertices(&self) -> Vec<DoubleBoundaryPoint> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     fn create_visibility_map(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 467 |     fn triangulate(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     fn triangles(&self) -> impl IntoIterator<Item = ([Vector<f32>; 3], Color)> + '_ {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EdgeIndex` is never used
[INFO] [stdout]   --> polygon/src/simple_polygon.rs:31:6
[INFO] [stdout]    |
[INFO] [stdout] 31 | type EdgeIndex = usize;
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `horizontal_edge_intersection`, `find_possible_horizontal_intersecting_edges`, and `open_holes` are never used
[INFO] [stdout]    --> polygon/src/simple_polygon.rs:143:8
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl Polygon {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 143 |     fn horizontal_edge_intersection(&self, origin: VertexIndex, edge: &Edge) -> Point {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn find_possible_horizontal_intersecting_edges<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     fn open_holes(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game_logic.rs:491:33
[INFO] [stdout]     |
[INFO] [stdout] 491 | ...                   let mut events =
[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: `character`
[INFO] [stdout]    --> src/game_logic.rs:486:37
[INFO] [stdout]     |
[INFO] [stdout] 486 |                         if let Some(character) = battle_state
[INFO] [stdout]     |                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_character`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `events`
[INFO] [stdout]    --> src/game_logic.rs:491:33
[INFO] [stdout]     |
[INFO] [stdout] 491 | ...                   let mut events =
[INFO] [stdout]     |                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game_logic.rs:491:33
[INFO] [stdout]     |
[INFO] [stdout] 491 | ...                   let mut events =
[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: `character`
[INFO] [stdout]    --> src/game_logic.rs:486:37
[INFO] [stdout]     |
[INFO] [stdout] 486 |                         if let Some(character) = battle_state
[INFO] [stdout]     |                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_character`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `events`
[INFO] [stdout]    --> src/game_logic.rs:491:33
[INFO] [stdout]     |
[INFO] [stdout] 491 | ...                   let mut events =
[INFO] [stdout]     |                           ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DungeonLayoutBuilderErr` is more private than the item `DungeonLayoutBuilder::with_edge_factory`
[INFO] [stdout]    --> src/dungeon/mod.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 |     pub fn with_edge_factory(mut self, factory: Box<EdgeFactory>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DungeonLayoutBuilder::with_edge_factory` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `DungeonLayoutBuilderErr` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/dungeon/mod.rs:200:1
[INFO] [stdout]     |
[INFO] [stdout] 200 | enum DungeonLayoutBuilderErr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DungeonLayoutBuilderErr` is more private than the item `DungeonLayoutBuilder::with_center_factory`
[INFO] [stdout]    --> src/dungeon/mod.rs:267:5
[INFO] [stdout]     |
[INFO] [stdout] 267 |     pub fn with_center_factory(mut self, factory: Box<CenterFactory>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DungeonLayoutBuilder::with_center_factory` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `DungeonLayoutBuilderErr` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/dungeon/mod.rs:200:1
[INFO] [stdout]     |
[INFO] [stdout] 200 | enum DungeonLayoutBuilderErr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DungeonLayout` is more private than the item `DungeonLayoutBuilder::build`
[INFO] [stdout]    --> src/dungeon/mod.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 |     pub fn build(&self, text: &str) -> Result<DungeonLayout, DungeonLayoutBuilderErr> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DungeonLayoutBuilder::build` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `DungeonLayout` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/dungeon/mod.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | struct DungeonLayout {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DungeonLayoutBuilderErr` is more private than the item `DungeonLayoutBuilder::build`
[INFO] [stdout]    --> src/dungeon/mod.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 |     pub fn build(&self, text: &str) -> Result<DungeonLayout, DungeonLayoutBuilderErr> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `DungeonLayoutBuilder::build` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `DungeonLayoutBuilderErr` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/dungeon/mod.rs:200:1
[INFO] [stdout]     |
[INFO] [stdout] 200 | enum DungeonLayoutBuilderErr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Frog` is never constructed
[INFO] [stdout]   --> src/main.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | enum EnemyType {
[INFO] [stdout]    |      --------- variant in this enum
[INFO] [stdout] 58 |     Frog,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnemyType` has derived impls for the traits `Clone` and `Debug`, but these are 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: constant `TRANSITION_NAME` is never used
[INFO] [stdout]   --> src/main.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 | const TRANSITION_NAME: &str = "BattleTransition";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BATTLE_PRINT_STATE_BUTTON` is never used
[INFO] [stdout]   --> src/main.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 | const BATTLE_PRINT_STATE_BUTTON: &str = "BattlePrintState";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BATTLE_ATTACK_BUTTON` is never used
[INFO] [stdout]   --> src/main.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 | const BATTLE_ATTACK_BUTTON: &str = "BattleAttack";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BATTLE_ATTACK_TWO_BUTTON` is never used
[INFO] [stdout]   --> src/main.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 | const BATTLE_ATTACK_TWO_BUTTON: &str = "BattleAttackTwo";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DungeonLayoutBuilderErr` is more private than the item `dungeon::DungeonLayoutBuilder::with_edge_factory`
[INFO] [stdout]    --> src/dungeon/mod.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 |     pub fn with_edge_factory(mut self, factory: Box<EdgeFactory>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `dungeon::DungeonLayoutBuilder::with_edge_factory` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `DungeonLayoutBuilderErr` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/dungeon/mod.rs:200:1
[INFO] [stdout]     |
[INFO] [stdout] 200 | enum DungeonLayoutBuilderErr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BATTLE_ACTION_SELECTION_OVERLAY` is never used
[INFO] [stdout]   --> src/main.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 | const BATTLE_ACTION_SELECTION_OVERLAY: &str = "BattleActionSelectionOverlay";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Background` is never constructed
[INFO] [stdout]   --> src/entities/background.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Background {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Enemy` is never constructed
[INFO] [stdout]   --> src/entities/enemy.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Enemy {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Player` is never constructed
[INFO] [stdout]   --> src/entities/player.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Player {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TransitionTypes` is never used
[INFO] [stdout]   --> src/entities/transition.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum TransitionTypes {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]   --> src/entities/transition.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn lerp(start: Vec<Vector<f32>>, end: Vec<Vector<f32>>, steps: u16) -> Vec<Vec<Vector<f32>>> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Transition` is never constructed
[INFO] [stdout]   --> src/entities/transition.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Transition {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DungeonLayoutBuilderErr` is more private than the item `dungeon::DungeonLayoutBuilder::with_center_factory`
[INFO] [stdout]    --> src/dungeon/mod.rs:267:5
[INFO] [stdout]     |
[INFO] [stdout] 267 |     pub fn with_center_factory(mut self, factory: Box<CenterFactory>) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `dungeon::DungeonLayoutBuilder::with_center_factory` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `DungeonLayoutBuilderErr` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/dungeon/mod.rs:200:1
[INFO] [stdout]     |
[INFO] [stdout] 200 | enum DungeonLayoutBuilderErr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/entities/transition.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Transition {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 41 |     pub fn new(transition_type: TransitionTypes, name: &str, transition_time: Duration) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/vertex/mod.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Vertex {
[INFO] [stdout]    |            ^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/vertex/mod.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / #[repr(C)]
[INFO] [stdout] 16 | | #[derive(Debug, Clone, Copy, bytemuck::Pod, bytemuck::Zeroable, repr_trait::C)]
[INFO] [stdout] 17 | | pub struct Vertex {
[INFO] [stdout] 18 | |     position: [f32; 2],
[INFO] [stdout] 19 | |     tex_coords: [f32; 2],
[INFO] [stdout] 20 | |     texture: u32,
[INFO] [stdout] 21 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `dungeon::DungeonLayout` is more private than the item `dungeon::DungeonLayoutBuilder::build`
[INFO] [stdout]    --> src/dungeon/mod.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 |     pub fn build(&self, text: &str) -> Result<DungeonLayout, DungeonLayoutBuilderErr> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `dungeon::DungeonLayoutBuilder::build` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `dungeon::DungeonLayout` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/dungeon/mod.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | struct DungeonLayout {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/vertex/mod.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Vertex {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 23 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_sprite` is never used
[INFO] [stdout]   --> src/vertex/mod.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn render_sprite(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/vertex/simple_vertex.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct SimpleVertex {
[INFO] [stdout]   |            ^^^^^^^^^^^^ field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]  --> src/vertex/simple_vertex.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | / #[repr(C)]
[INFO] [stdout] 6 | | #[derive(Debug, Clone, Copy, bytemuck::Pod, bytemuck::Zeroable, repr_trait::C)]
[INFO] [stdout] 7 | | pub struct SimpleVertex {
[INFO] [stdout] 8 | |     position: [f32; 2],
[INFO] [stdout] 9 | | }
[INFO] [stdout]   | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DungeonLayoutBuilderErr` is more private than the item `dungeon::DungeonLayoutBuilder::build`
[INFO] [stdout]    --> src/dungeon/mod.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 295 |     pub fn build(&self, text: &str) -> Result<DungeonLayout, DungeonLayoutBuilderErr> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `dungeon::DungeonLayoutBuilder::build` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `DungeonLayoutBuilderErr` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/dungeon/mod.rs:200:1
[INFO] [stdout]     |
[INFO] [stdout] 200 | enum DungeonLayoutBuilderErr {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/vertex/simple_vertex.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl SimpleVertex {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new(position: Vector<f32>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/vertex/ui_vertex.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct UiVertex {
[INFO] [stdout]    |            ^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/vertex/ui_vertex.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / #[repr(C)]
[INFO] [stdout] 13 | | #[derive(Debug, Clone, Copy, bytemuck::Pod, bytemuck::Zeroable, repr_trait::C)]
[INFO] [stdout] 14 | | pub struct UiVertex {
[INFO] [stdout] 15 | |     position: [f32; 2],
[INFO] [stdout] ...  |
[INFO] [stdout] 18 | |     color: u32,
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_text` is never used
[INFO] [stdout]   --> src/ui/text/mod.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Text {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn set_text(&mut self, text: String) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FlexButtonLineManager` is never used
[INFO] [stdout]   --> src/ui/flex_button_line/mod.rs:76:27
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl_flex_button_manager!(FlexButtonLineManager, FlexButtonLine, up: KeyE; down: KeyQ);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_flex_button_manager` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ui/flex_button_line/mod.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |         impl $name {
[INFO] [stdout]    |         ---------- associated function in this implementation
[INFO] [stdout] 24 |             pub fn new(
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 | impl_flex_button_manager!(FlexButtonLineManager, FlexButtonLine, up: KeyE; down: KeyQ);
[INFO] [stdout]    | -------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_flex_button_manager` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `focus_sprite`, `unfocus_sprite`, and `highlight_sprite` are never read
[INFO] [stdout]   --> src/ui/flex_button_line/button.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct ImageStyle {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 40 |     pub sprite_sheet: SpriteSheetName,
[INFO] [stdout] 41 |     pub focus_sprite: SpritePosition,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 42 |     pub unfocus_sprite: SpritePosition,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     pub highlight_sprite: SpritePosition,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_content` is never used
[INFO] [stdout]    --> src/ui/flex_button_line/button.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl Button {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn set_content(&mut self, text: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `HSVA` is never constructed
[INFO] [stdout]  --> src/color.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Color {
[INFO] [stdout]   |          ----- variant in this enum
[INFO] [stdout] 3 |     RGBA(u8, u8, u8, u8),
[INFO] [stdout] 4 |     HSVA(u8, u8, u8, u8),
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Color` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_hsva`, `rgba_from_slice`, `hsva_to_rgba`, `to_rgba`, and `blend` are never used
[INFO] [stdout]   --> src/color.rs:11:18
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Color {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub const fn new_hsva(h: u8, s: u8, v: u8, a: u8) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn rgba_from_slice(color_slice: &[u8; 4]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     fn hsva_to_rgba(hsva: [u8; 4]) -> [u8; 4] {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn to_rgba(&self) -> Self {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn blend(&self, other: &Self) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MainMenu` is never constructed
[INFO] [stdout]   --> src/game_state/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum GameState {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 31 |     MainMenu,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_actions` is never used
[INFO] [stdout]   --> src/battle_action.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl BattleActionManager {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn get_actions(&self) -> &[BattleAction] {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RequestNewScenes`, `UpdateUniformBuffer`, `InitiateBattle`, and `RequestDeleteScene` are never constructed
[INFO] [stdout]   --> src/event.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum Event {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 24 |     EndGame,
[INFO] [stdout] 25 |     RequestNewScenes(Vec<Scene<Self>>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     NewScene(SceneName),
[INFO] [stdout] 27 |     UpdateUniformBuffer(UniformBufferName, Vec<u8>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     InitiateBattle(EnemyType, EntityName, SceneName),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     RequestDeleteScene(SceneName),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Event` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pending_battle` is never read
[INFO] [stdout]   --> src/game_logic.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct GameLogic {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 36 |     pending_battle: Option<(EnemyType, EntityName, SceneName)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHARACTER_DISPLAY_LINES` is never used
[INFO] [stdout]   --> src/character/mod.rs:93:11
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub const CHARACTER_DISPLAY_LINES: f32 = 4.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Frog` is never constructed
[INFO] [stdout]   --> src/main.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | enum EnemyType {
[INFO] [stdout]    |      --------- variant in this enum
[INFO] [stdout] 58 |     Frog,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnemyType` has derived impls for the traits `Clone` and `Debug`, but these are 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: constant `CHARACTER_TEXT_HEIGHT` is never used
[INFO] [stdout]   --> src/character/skilled_character/mod.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const CHARACTER_TEXT_HEIGHT: f32 =
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Edge` is never used
[INFO] [stdout]  --> src/dungeon/mod.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Edge {
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Center` is never used
[INFO] [stdout]   --> src/dungeon/mod.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait Center {
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Occupance` is never used
[INFO] [stdout]   --> src/dungeon/mod.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait Occupance {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Wall` is never constructed
[INFO] [stdout]   --> src/dungeon/mod.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct Wall;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Trap` is never constructed
[INFO] [stdout]   --> src/dungeon/mod.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | struct Trap;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]   --> src/dungeon/mod.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub enum Direction {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Tile` is never constructed
[INFO] [stdout]   --> src/dungeon/mod.rs:90:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | struct Tile {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TILESIZE` is never used
[INFO] [stdout]    --> src/dungeon/mod.rs:128:7
[INFO] [stdout]     |
[INFO] [stdout] 128 | const TILESIZE: usize = 3;
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DungeonLayout` is never constructed
[INFO] [stdout]    --> src/dungeon/mod.rs:196:8
[INFO] [stdout]     |
[INFO] [stdout] 196 | struct DungeonLayout {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `DungeonLayoutBuilderErr` is never used
[INFO] [stdout]    --> src/dungeon/mod.rs:200:6
[INFO] [stdout]     |
[INFO] [stdout] 200 | enum DungeonLayoutBuilderErr {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `BuilderRes` is never used
[INFO] [stdout]    --> src/dungeon/mod.rs:215:6
[INFO] [stdout]     |
[INFO] [stdout] 215 | type BuilderRes<T> = Result<T, DungeonLayoutBuilderErr>;
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `EdgeFactory` is never used
[INFO] [stdout]    --> src/dungeon/mod.rs:216:6
[INFO] [stdout]     |
[INFO] [stdout] 216 | type EdgeFactory = Box<dyn Fn(char, Direction) -> BuilderRes<Option<Box<dyn Edge>>>>;
[INFO] [stdout]     |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CenterFactory` is never used
[INFO] [stdout]    --> src/dungeon/mod.rs:217:6
[INFO] [stdout]     |
[INFO] [stdout] 217 | type CenterFactory = Box<dyn Fn(char) -> BuilderRes<Option<Box<dyn Center>>>>;
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_edge_factory` is never used
[INFO] [stdout]    --> src/dungeon/mod.rs:253:31
[INFO] [stdout]     |
[INFO] [stdout] 253 | dungeon_layout_factory!(Edge: default_edge_factory; Wall, Trap);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `dungeon_layout_factory` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_center_factory` is never used
[INFO] [stdout]    --> src/dungeon/mod.rs:254:33
[INFO] [stdout]     |
[INFO] [stdout] 254 | dungeon_layout_factory!(Center: default_center_factory; Trap);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `dungeon_layout_factory` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DungeonLayoutBuilder` is never constructed
[INFO] [stdout]    --> src/dungeon/mod.rs:258:12
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub struct DungeonLayoutBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_edge_factory`, `with_center_factory`, `default_edge_factory`, `default_center_factory`, and `build` are never used
[INFO] [stdout]    --> src/dungeon/mod.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl DungeonLayoutBuilder {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] 263 |     pub fn with_edge_factory(mut self, factory: Box<EdgeFactory>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn with_center_factory(mut self, factory: Box<CenterFactory>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     fn default_edge_factory(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 285 |     fn default_center_factory(&self, symbol: char) -> BuilderRes<Option<Box<dyn Center>>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 295 |     pub fn build(&self, text: &str) -> Result<DungeonLayout, DungeonLayoutBuilderErr> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRANSITION_NAME` is never used
[INFO] [stdout]   --> src/main.rs:61:7
[INFO] [stdout]    |
[INFO] [stdout] 61 | const TRANSITION_NAME: &str = "BattleTransition";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BATTLE_PRINT_STATE_BUTTON` is never used
[INFO] [stdout]   --> src/main.rs:68:7
[INFO] [stdout]    |
[INFO] [stdout] 68 | const BATTLE_PRINT_STATE_BUTTON: &str = "BattlePrintState";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BATTLE_ATTACK_BUTTON` is never used
[INFO] [stdout]   --> src/main.rs:69:7
[INFO] [stdout]    |
[INFO] [stdout] 69 | const BATTLE_ATTACK_BUTTON: &str = "BattleAttack";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BATTLE_ATTACK_TWO_BUTTON` is never used
[INFO] [stdout]   --> src/main.rs:70:7
[INFO] [stdout]    |
[INFO] [stdout] 70 | const BATTLE_ATTACK_TWO_BUTTON: &str = "BattleAttackTwo";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BATTLE_ACTION_SELECTION_OVERLAY` is never used
[INFO] [stdout]   --> src/main.rs:74:7
[INFO] [stdout]    |
[INFO] [stdout] 74 | const BATTLE_ACTION_SELECTION_OVERLAY: &str = "BattleActionSelectionOverlay";
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Background` is never constructed
[INFO] [stdout]   --> src/entities/background.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Background {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Enemy` is never constructed
[INFO] [stdout]   --> src/entities/enemy.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Enemy {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Player` is never constructed
[INFO] [stdout]   --> src/entities/player.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Player {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TransitionTypes` is never used
[INFO] [stdout]   --> src/entities/transition.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum TransitionTypes {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]   --> src/entities/transition.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn lerp(start: Vec<Vector<f32>>, end: Vec<Vector<f32>>, steps: u16) -> Vec<Vec<Vector<f32>>> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Transition` is never constructed
[INFO] [stdout]   --> src/entities/transition.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Transition {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/entities/transition.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl Transition {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 41 |     pub fn new(transition_type: TransitionTypes, name: &str, transition_time: Duration) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/vertex/mod.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Vertex {
[INFO] [stdout]    |            ^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/vertex/mod.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / #[repr(C)]
[INFO] [stdout] 16 | | #[derive(Debug, Clone, Copy, bytemuck::Pod, bytemuck::Zeroable, repr_trait::C)]
[INFO] [stdout] 17 | | pub struct Vertex {
[INFO] [stdout] 18 | |     position: [f32; 2],
[INFO] [stdout] 19 | |     tex_coords: [f32; 2],
[INFO] [stdout] 20 | |     texture: u32,
[INFO] [stdout] 21 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/vertex/mod.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Vertex {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] 23 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `render_sprite` is never used
[INFO] [stdout]   --> src/vertex/mod.rs:43:8
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub fn render_sprite(
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/vertex/simple_vertex.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct SimpleVertex {
[INFO] [stdout]   |            ^^^^^^^^^^^^ field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]  --> src/vertex/simple_vertex.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | / #[repr(C)]
[INFO] [stdout] 6 | | #[derive(Debug, Clone, Copy, bytemuck::Pod, bytemuck::Zeroable, repr_trait::C)]
[INFO] [stdout] 7 | | pub struct SimpleVertex {
[INFO] [stdout] 8 | |     position: [f32; 2],
[INFO] [stdout] 9 | | }
[INFO] [stdout]   | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/vertex/simple_vertex.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl SimpleVertex {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 11 |     pub fn new(position: Vector<f32>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/vertex/ui_vertex.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct UiVertex {
[INFO] [stdout]    |            ^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/vertex/ui_vertex.rs:12:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | / #[repr(C)]
[INFO] [stdout] 13 | | #[derive(Debug, Clone, Copy, bytemuck::Pod, bytemuck::Zeroable, repr_trait::C)]
[INFO] [stdout] 14 | | pub struct UiVertex {
[INFO] [stdout] 15 | |     position: [f32; 2],
[INFO] [stdout] ...  |
[INFO] [stdout] 18 | |     color: u32,
[INFO] [stdout] 19 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_text` is never used
[INFO] [stdout]   --> src/ui/text/mod.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl Text {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn set_text(&mut self, text: String) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FlexButtonLineManager` is never used
[INFO] [stdout]   --> src/ui/flex_button_line/mod.rs:76:27
[INFO] [stdout]    |
[INFO] [stdout] 76 | impl_flex_button_manager!(FlexButtonLineManager, FlexButtonLine, up: KeyE; down: KeyQ);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_flex_button_manager` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ui/flex_button_line/mod.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 23 |         impl $name {
[INFO] [stdout]    |         ---------- associated function in this implementation
[INFO] [stdout] 24 |             pub fn new(
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 | impl_flex_button_manager!(FlexButtonLineManager, FlexButtonLine, up: KeyE; down: KeyQ);
[INFO] [stdout]    | -------------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_flex_button_manager` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `focus_sprite`, `unfocus_sprite`, and `highlight_sprite` are never read
[INFO] [stdout]   --> src/ui/flex_button_line/button.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct ImageStyle {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 40 |     pub sprite_sheet: SpriteSheetName,
[INFO] [stdout] 41 |     pub focus_sprite: SpritePosition,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 42 |     pub unfocus_sprite: SpritePosition,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 43 |     pub highlight_sprite: SpritePosition,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_content` is never used
[INFO] [stdout]    --> src/ui/flex_button_line/button.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl Button {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub fn set_content(&mut self, text: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `rgba_from_slice` and `blend` are never used
[INFO] [stdout]   --> src/color.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout]  6 | impl Color {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn rgba_from_slice(color_slice: &[u8; 4]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn blend(&self, other: &Self) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `MainMenu` is never constructed
[INFO] [stdout]   --> src/game_state/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum GameState {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] 31 |     MainMenu,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_actions` is never used
[INFO] [stdout]   --> src/battle_action.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl BattleActionManager {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn get_actions(&self) -> &[BattleAction] {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `RequestNewScenes`, `UpdateUniformBuffer`, `InitiateBattle`, and `RequestDeleteScene` are never constructed
[INFO] [stdout]   --> src/event.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub enum Event {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 24 |     EndGame,
[INFO] [stdout] 25 |     RequestNewScenes(Vec<Scene<Self>>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     NewScene(SceneName),
[INFO] [stdout] 27 |     UpdateUniformBuffer(UniformBufferName, Vec<u8>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     InitiateBattle(EnemyType, EntityName, SceneName),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     RequestDeleteScene(SceneName),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Event` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `pending_battle` is never read
[INFO] [stdout]   --> src/game_logic.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct GameLogic {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 36 |     pending_battle: Option<(EnemyType, EntityName, SceneName)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHARACTER_DISPLAY_LINES` is never used
[INFO] [stdout]   --> src/character/mod.rs:93:11
[INFO] [stdout]    |
[INFO] [stdout] 93 | pub const CHARACTER_DISPLAY_LINES: f32 = 4.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CHARACTER_TEXT_HEIGHT` is never used
[INFO] [stdout]   --> src/character/skilled_character/mod.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const CHARACTER_TEXT_HEIGHT: f32 =
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_edge_factory` and `with_center_factory` are never used
[INFO] [stdout]    --> src/dungeon/mod.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl DungeonLayoutBuilder {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] 263 |     pub fn with_edge_factory(mut self, factory: Box<EdgeFactory>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     pub fn with_center_factory(mut self, factory: Box<CenterFactory>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 55s
[INFO] running `Command { std: "docker" "inspect" "bcfe37fa9612bad914a5772042244af0957561205fc4d7adc883357528f3b22a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bcfe37fa9612bad914a5772042244af0957561205fc4d7adc883357528f3b22a", kill_on_drop: false }`
[INFO] [stdout] bcfe37fa9612bad914a5772042244af0957561205fc4d7adc883357528f3b22a
