[INFO] cloning repository https://github.com/eggmunkee/suri-sprint
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/eggmunkee/suri-sprint" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feggmunkee%2Fsuri-sprint", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feggmunkee%2Fsuri-sprint'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 060054c2af528e7deb9508b1bddb638557ad0026
[INFO] testing eggmunkee/suri-sprint against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feggmunkee%2Fsuri-sprint" "/workspace/builds/worker-12/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/eggmunkee/suri-sprint on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/eggmunkee/suri-sprint
[INFO] finished tweaking git repo https://github.com/eggmunkee/suri-sprint
[INFO] tweaked toml for git repo https://github.com/eggmunkee/suri-sprint written to /workspace/builds/worker-12/source/Cargo.toml
[INFO] crate git repo https://github.com/eggmunkee/suri-sprint already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4d6b36edff3be089e55fd5bd5d4f61b5830538ab2f010a7e7b902b3b6570c391
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "4d6b36edff3be089e55fd5bd5d4f61b5830538ab2f010a7e7b902b3b6570c391", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4d6b36edff3be089e55fd5bd5d4f61b5830538ab2f010a7e7b902b3b6570c391", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d6b36edff3be089e55fd5bd5d4f61b5830538ab2f010a7e7b902b3b6570c391", kill_on_drop: false }`
[INFO] [stdout] 4d6b36edff3be089e55fd5bd5d4f61b5830538ab2f010a7e7b902b3b6570c391
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 002b8350b73966d8825613ff5caab6b1ce356a36a469f196ef75de6993dab3b9
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "002b8350b73966d8825613ff5caab6b1ce356a36a469f196ef75de6993dab3b9", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.68
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling syn v1.0.17
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling serde v1.0.105
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling arrayvec v0.5.1
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling linked-hash-map v0.5.2
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling downcast-rs v1.1.1
[INFO] [stderr]    Compiling nodrop v0.1.14
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling xml-rs v0.8.0
[INFO] [stderr]    Compiling xdg v2.2.0
[INFO] [stderr]    Compiling pulldown-cmark v0.2.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.6
[INFO] [stderr]    Compiling nix v0.15.0
[INFO] [stderr]    Compiling adler32 v1.0.4
[INFO] [stderr]    Compiling lzw v0.10.0
[INFO] [stderr]    Compiling vec_map v0.8.1
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling xi-unicode v0.2.0
[INFO] [stderr]    Compiling either v1.5.3
[INFO] [stderr]    Compiling bytecount v0.4.0
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling mint v0.5.4
[INFO] [stderr]    Compiling color_quant v1.0.1
[INFO] [stderr]    Compiling uuid v0.8.1
[INFO] [stderr]    Compiling claxon v0.4.2
[INFO] [stderr]    Compiling smallvec v1.2.0
[INFO] [stderr]    Compiling hound v3.4.0
[INFO] [stderr]    Compiling podio v0.1.6
[INFO] [stderr]    Compiling mopa v0.2.2
[INFO] [stderr]    Compiling atom v0.3.5
[INFO] [stderr]    Compiling fnv v1.0.6
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling tuple_utils v0.3.0
[INFO] [stderr]    Compiling shrev v1.1.1
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]    Compiling minimp3-sys v0.3.2
[INFO] [stderr]    Compiling bzip2-sys v0.1.8+1.0.8
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling num-rational v0.2.4
[INFO] [stderr]    Compiling num-complex v0.2.4
[INFO] [stderr]    Compiling hashbrown v0.7.1
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling error-chain v0.12.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling maybe-uninit v2.0.0
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling nix v0.14.1
[INFO] [stderr]    Compiling arrayvec v0.4.12
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling crc32fast v1.2.0
[INFO] [stderr]    Compiling typenum v1.11.2
[INFO] [stderr]    Compiling rayon-core v1.7.0
[INFO] [stderr]    Compiling lock_api v0.3.3
[INFO] [stderr]    Compiling walkdir v2.3.1
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling inflate v0.4.5
[INFO] [stderr]    Compiling matrixmultiply v0.2.3
[INFO] [stderr]    Compiling gif v0.10.3
[INFO] [stderr]    Compiling wrapped2d v0.4.0
[INFO] [stderr]    Compiling num-traits v0.2.11
[INFO] [stderr]    Compiling crossbeam-utils v0.7.2
[INFO] [stderr]    Compiling memoffset v0.5.4
[INFO] [stderr]    Compiling crossbeam-epoch v0.8.2
[INFO] [stderr]    Compiling num-integer v0.1.42
[INFO] [stderr]    Compiling x11-dl v2.18.5
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling alsa-sys v0.1.2
[INFO] [stderr]    Compiling num-iter v0.1.40
[INFO] [stderr]    Compiling nom v5.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling smallvec v0.6.13
[INFO] [stderr]    Compiling draw_state v0.8.0
[INFO] [stderr]    Compiling stb_truetype v0.3.1
[INFO] [stderr]    Compiling deflate v0.7.20
[INFO] [stderr]    Compiling ogg v0.7.0
[INFO] [stderr]    Compiling jpeg-decoder v0.1.18
[INFO] [stderr]    Compiling base64 v0.10.1
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.4
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.6
[INFO] [stderr]    Compiling generic-array v0.12.3
[INFO] [stderr]    Compiling crossbeam-queue v0.2.1
[INFO] [stderr]    Compiling dlib v0.4.1
[INFO] [stderr]    Compiling gfx_core v0.9.2
[INFO] [stderr]    Compiling png v0.15.3
[INFO] [stderr]    Compiling num_cpus v1.12.0
[INFO] [stderr]    Compiling memmap v0.7.0
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling shared_library v0.1.9
[INFO] [stderr]    Compiling raw-window-handle v0.3.3
[INFO] [stderr]    Compiling slice-deque v0.3.0
[INFO] [stderr]    Compiling dirs-sys v0.3.4
[INFO] [stderr]    Compiling backtrace-sys v0.1.34
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling euclid_macros v0.1.0
[INFO] [stderr]    Compiling num-derive v0.2.5
[INFO] [stderr]    Compiling smart-default v0.5.2
[INFO] [stderr]    Compiling gfx_gl v0.6.1
[INFO] [stderr]    Compiling crossbeam-deque v0.7.3
[INFO] [stderr]    Compiling wayland-sys v0.21.13
[INFO] [stderr]    Compiling approx v0.3.2
[INFO] [stderr]    Compiling ordered-float v1.0.2
[INFO] [stderr]    Compiling line_drawing v0.7.0
[INFO] [stderr]    Compiling num-traits v0.1.43
[INFO] [stderr]    Compiling lewton v0.9.4
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling cpal v0.8.2
[INFO] [stderr]    Compiling tynm v0.1.4
[INFO] [stderr]    Compiling directories v2.0.2
[INFO] [stderr]    Compiling backtrace v0.3.45
[INFO] [stderr]    Compiling minimp3 v0.3.5
[INFO] [stderr]    Compiling wayland-client v0.21.13
[INFO] [stderr]    Compiling wayland-protocols v0.21.13
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]    Compiling gfx v0.18.2
[INFO] [stderr]    Compiling rusttype v0.8.2
[INFO] [stderr]    Compiling sid v0.5.2
[INFO] [stderr]    Compiling bzip2 v0.3.3
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling alga v0.9.3
[INFO] [stderr]    Compiling wayland-commons v0.21.13
[INFO] [stderr]    Compiling euclid v0.19.9
[INFO] [stderr]    Compiling rayon v1.3.0
[INFO] [stderr]    Compiling gilrs-core v0.2.5
[INFO] [stderr]    Compiling tiff v0.3.1
[INFO] [stderr]    Compiling rusttype v0.7.9
[INFO] [stderr]    Compiling glyph_brush_layout v0.1.9
[INFO] [stderr]    Compiling zip v0.5.5
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling nalgebra v0.18.1
[INFO] [stderr]    Compiling lyon_geom v0.12.7
[INFO] [stderr]    Compiling andrew v0.2.1
[INFO] [stderr]    Compiling gilrs v0.7.4
[INFO] [stderr]    Compiling image v0.22.5
[INFO] [stderr]    Compiling serde_derive v1.0.105
[INFO] [stderr]    Compiling proc-macro-hack v0.5.12
[INFO] [stderr]    Compiling specs-derive v0.4.1
[INFO] [stderr]    Compiling lyon_path v0.13.2
[INFO] [stderr]    Compiling twox-hash v1.5.0
[INFO] [stderr]    Compiling hibitset v0.6.3
[INFO] [stderr]    Compiling gfx_device_gl v0.16.2
[INFO] [stderr]    Compiling glyph_brush v0.6.3
[INFO] [stderr]    Compiling lyon_tessellation v0.13.5
[INFO] [stderr]    Compiling lyon_algorithms v0.13.4
[INFO] [stderr]    Compiling glyph_brush v0.5.4
[INFO] [stderr]    Compiling const-random-macro v0.1.8
[INFO] [stderr]    Compiling lyon v0.13.5
[INFO] [stderr]    Compiling const-random v0.1.8
[INFO] [stderr]    Compiling ahash v0.3.2
[INFO] [stderr]    Compiling smithay-client-toolkit v0.4.6
[INFO] [stderr]    Compiling shred v0.10.2
[INFO] [stderr]    Compiling specs v0.16.1
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling serde_json v1.0.48
[INFO] [stderr]    Compiling toml v0.5.6
[INFO] [stderr]    Compiling ron v0.5.1
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]    Compiling cargo_metadata v0.6.4
[INFO] [stderr]    Compiling rodio v0.9.0
[INFO] [stderr]    Compiling winit v0.19.5
[INFO] [stderr]    Compiling skeptic v0.13.4
[INFO] [stderr]    Compiling ggez v0.5.1
[INFO] [stderr]    Compiling glutin v0.20.1
[INFO] [stderr]    Compiling gfx_window_glutin v0.30.0
[INFO] [stderr]    Compiling suri_sprint v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ggez::filesystem`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::filesystem;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContextBuilder`
[INFO] [stdout]  --> src/conf.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{ContextBuilder};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FullscreenType`, `NumSamples`
[INFO] [stdout]  --> src/conf.rs:2:41
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::conf::{WindowSetup,WindowMode,FullscreenType,NumSamples};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^ ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/platform.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/platform.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/platform.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/entities/platform.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EntityBuilder`
[INFO] [stdout]  --> src/entities/platform.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::conf::*`
[INFO] [stdout]  --> src/entities/platform.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::conf::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]  --> src/entities/platform.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::game_state::{GameState};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stdout]   --> src/entities/platform.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SpriteComponent`, `SpriteLayer`
[INFO] [stdout]   --> src/entities/platform.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NpcComponent`
[INFO] [stdout]   --> src/entities/platform.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::components::npc::{NpcComponent};
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CharacterDisplayComponent`
[INFO] [stdout]   --> src/entities/platform.rs:15:33
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::components::player::{CharacterDisplayComponent};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::systems::*`
[INFO] [stdout]   --> src/entities/platform.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::systems::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/empty_box.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/empty_box.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/empty_box.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EntityBuilder`
[INFO] [stdout]  --> src/entities/empty_box.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::conf::*`
[INFO] [stdout]  --> src/entities/empty_box.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::conf::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]   --> src/entities/empty_box.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::game_state::{GameState};
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stdout]   --> src/entities/empty_box.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpriteComponent`
[INFO] [stdout]   --> src/entities/empty_box.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer,MultiSpriteComponent};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CharacterDisplayComponent`
[INFO] [stdout]   --> src/entities/empty_box.rs:16:33
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::components::player::{CharacterDisplayComponent};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::systems::*`
[INFO] [stdout]   --> src/entities/empty_box.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::systems::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/button.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/button.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/button.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EntityBuilder`
[INFO] [stdout]  --> src/entities/button.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::conf::*`
[INFO] [stdout]  --> src/entities/button.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::conf::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]   --> src/entities/button.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::game_state::{GameState};
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stdout]   --> src/entities/button.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MultiSpriteComponent`, `SpriteComponent`
[INFO] [stdout]   --> src/entities/button.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer,MultiSpriteComponent};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NpcComponent`
[INFO] [stdout]   --> src/entities/button.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::components::npc::{NpcComponent};
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::systems::*`
[INFO] [stdout]   --> src/entities/button.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::systems::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/mouse.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/mouse.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/mouse.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/entities/mouse.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EntityBuilder`
[INFO] [stdout]  --> src/entities/mouse.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::conf::*`
[INFO] [stdout]  --> src/entities/mouse.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::conf::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]   --> src/entities/mouse.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::game_state::{GameState};
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stdout]   --> src/entities/mouse.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SpriteComponent`, `SpriteLayer`
[INFO] [stdout]   --> src/entities/mouse.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/portal_area.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/portal_area.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/portal_area.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/entities/portal_area.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Entities`, `EntityBuilder`
[INFO] [stdout]  --> src/entities/portal_area.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,Entities,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^ ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]  --> src/entities/portal_area.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::game_state::{GameState};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameStateResource`
[INFO] [stdout]  --> src/entities/portal_area.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::resources::{GameStateResource};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/exit.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/exit.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/exit.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/entities/exit.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Entities`, `EntityBuilder`
[INFO] [stdout]  --> src/entities/exit.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,Entities,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^ ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]  --> src/entities/exit.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::game_state::{GameState};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameStateResource`
[INFO] [stdout]  --> src/entities/exit.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::resources::{GameStateResource};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImageResources`
[INFO] [stdout]   --> src/entities/ghost.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::resources::{ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/suri.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/suri.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/suri.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/entities/suri.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EntityBuilder`
[INFO] [stdout]  --> src/entities/suri.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped2d::user_data::*`
[INFO] [stdout]  --> src/entities/suri.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use wrapped2d::user_data::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]  --> src/entities/suri.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::game_state::{GameState};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stdout]   --> src/entities/suri.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpriteComponent`
[INFO] [stdout]   --> src/entities/suri.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::components::sprite::{SpriteComponent,SpriteConfig};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::systems::*`
[INFO] [stdout]   --> src/entities/suri.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::systems::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/meow.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/meow.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/meow.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/entities/meow.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Entities`, `EntityBuilder`
[INFO] [stdout]  --> src/entities/meow.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,Entities,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^ ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]  --> src/entities/meow.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::game_state::{GameState};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameStateResource`
[INFO] [stdout]  --> src/entities/meow.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::resources::{GameStateResource};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::systems::*`
[INFO] [stdout]   --> src/entities/meow.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::systems::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entity`
[INFO] [stdout]  --> src/entities/ui.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use specs::{Builder,Entity,World,WorldExt};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Collision`
[INFO] [stdout]  --> src/entities/ui.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::collision::{Collision};
[INFO] [stdout]   |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CollisionCategory`, `PhysicsWorld`
[INFO] [stdout]   --> src/entities/ui.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::physics::{PhysicsWorld,CollisionCategory};
[INFO] [stdout]    |                      ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/entities/ui.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 if (!has_image) {
[INFO] [stdout]    |                    ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/bowl.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/bowl.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/bowl.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/entities/bowl.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EntityBuilder`
[INFO] [stdout]  --> src/entities/bowl.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::conf::*`
[INFO] [stdout]  --> src/entities/bowl.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::conf::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]  --> src/entities/bowl.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::game_state::{GameState};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stdout]   --> src/entities/bowl.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpriteComponent`
[INFO] [stdout]   --> src/entities/bowl.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CharacterDisplayComponent`
[INFO] [stdout]   --> src/entities/bowl.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::components::player::{CharacterDisplayComponent};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::systems::*`
[INFO] [stdout]   --> src/entities/bowl.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::systems::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Collision`
[INFO] [stdout]   --> src/entities/level_builder.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::components::collision::{Collision};
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImageResources`
[INFO] [stdout]   --> src/entities/level_builder.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::resources::{ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CollisionCategory`
[INFO] [stdout]   --> src/entities/level_builder.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::physics::{PhysicsWorld,CollisionCategory};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `distance_squared`, `distance`
[INFO] [stdout]  --> src/physics.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use na::{Point2,Vector2,distance_squared,distance};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^ ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MetaBody`
[INFO] [stdout]  --> src/physics.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use wrapped2d::dynamics::body::{MetaBody};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Player_Level` should have an upper camel case name
[INFO] [stdout]   --> src/physics.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     Player_Level,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlayerLevel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Player_Ghost` should have an upper camel case name
[INFO] [stdout]   --> src/physics.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     Player_Ghost,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlayerGhost`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Player_Portal` should have an upper camel case name
[INFO] [stdout]   --> src/physics.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     Player_Portal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlayerPortal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Npc_Level` should have an upper camel case name
[INFO] [stdout]   --> src/physics.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     Npc_Level,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `NpcLevel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Npc_Portal` should have an upper camel case name
[INFO] [stdout]   --> src/physics.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Npc_Portal,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `NpcPortal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Collider_Portal` should have an upper camel case name
[INFO] [stdout]   --> src/physics.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     Collider_Portal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ColliderPortal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Ghost_Meow` should have an upper camel case name
[INFO] [stdout]   --> src/physics.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     Ghost_Meow,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `GhostMeow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/physics.rs:517:45
[INFO] [stdout]     |
[INFO] [stdout] 517 | pub fn set_standing_status(interactor: &mut CharLevelInteractor, is_standing: bool) {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CharLevelInteractor`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/components/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameResult`
[INFO] [stdout]  --> src/components/mod.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::{Context,GameResult};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entity`
[INFO] [stdout]  --> src/components/mod.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use specs::{ Component,Entity, DenseVecStorage, VecStorage, World, WorldExt};
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]  --> src/components/mod.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::game_state::{GameState};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/components/logic.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped2d::b2`
[INFO] [stdout]  --> src/components/logic.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wrapped2d::b2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/components/logic.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `de::DeserializeOwned`
[INFO] [stdout]  --> src/components/logic.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::{Deserialize,de::DeserializeOwned,Serialize};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpriteComponent`
[INFO] [stdout]  --> src/components/logic.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::sprite::{SpriteComponent};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Collision`
[INFO] [stdout]   --> src/components/logic.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::components::collision::{Collision};
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics`
[INFO] [stdout]   --> src/components/logic.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::physics;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsWorld`
[INFO] [stdout]   --> src/components/logic.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::physics::{PhysicsWorld};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/components/sprite.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlendMode`, `Image`
[INFO] [stdout]  --> src/components/sprite.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::graphics::{Rect,Image,Color,DrawParam,WrapMode,BlendMode};
[INFO] [stdout]   |                           ^^^^^                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/components/sprite.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `de::DeserializeOwned`
[INFO] [stdout]   --> src/components/sprite.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::{Deserialize,de::DeserializeOwned};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/components/button.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpriteComponent`
[INFO] [stdout]  --> src/components/button.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::sprite::{SpriteComponent};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics`
[INFO] [stdout]   --> src/components/button.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::physics;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]  --> src/components/player.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Image`, `ShaderLock`
[INFO] [stdout]  --> src/components/player.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::graphics::{Rect,Image,Color,DrawParam,ShaderLock};
[INFO] [stdout]   |                           ^^^^^ ^^^^^           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Velocity`
[INFO] [stdout]   --> src/components/player.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::components::{Velocity};
[INFO] [stdout]    |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsBody`
[INFO] [stdout]   --> src/components/player.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::physics::{PhysicsBody};
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `distance`
[INFO] [stdout]  --> src/components/collision.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::nalgebra::{Point2,Vector2,distance};
[INFO] [stdout]   |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped2d::user_data::NoUserData`
[INFO] [stdout]  --> src/components/collision.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wrapped2d::user_data::NoUserData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/components/collision.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsBody`
[INFO] [stdout]   --> src/components/collision.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::physics::{PhysicsWorld, PhysicsBody, PhysicsBodyHandle, EntityType, CollisionCategory, CollideType};
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped2d::b2`
[INFO] [stdout]  --> src/components/npc.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wrapped2d::b2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpriteComponent`
[INFO] [stdout]  --> src/components/npc.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::sprite::{SpriteComponent};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Collision`
[INFO] [stdout]   --> src/components/npc.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::components::collision::{Collision};
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsWorld`
[INFO] [stdout]   --> src/components/npc.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::physics::{PhysicsWorld};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics`
[INFO] [stdout]   --> src/components/portal.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::physics;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped2d::b2`
[INFO] [stdout]  --> src/components/exit.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wrapped2d::b2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpriteComponent`
[INFO] [stdout]  --> src/components/exit.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::sprite::{SpriteComponent};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Collision`
[INFO] [stdout]  --> src/components/exit.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::collision::{Collision};
[INFO] [stdout]   |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics`
[INFO] [stdout]   --> src/components/exit.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::physics;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsWorld`
[INFO] [stdout]   --> src/components/exit.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::physics::{PhysicsWorld};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> src/resources/mod.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::hash_map::{Entry};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Font`
[INFO] [stdout]  --> src/resources/mod.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics::{Image,Font};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/resources/mod.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ggez::{Context,GameResult,GameError};
[INFO] [stdout]   |                    ^^^^^^^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsWorld`
[INFO] [stdout]   --> src/resources/mod.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::physics::{PhysicsWorld};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/resources/image.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WindowMode`
[INFO] [stdout]  --> src/resources/image.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ggez::conf::{WindowMode};
[INFO] [stdout]   |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsWorld`
[INFO] [stdout]   --> src/resources/image.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::physics::{PhysicsWorld};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> src/resources/connection.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::hash_map::{Entry};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/resources/connection.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Font`, `Image`
[INFO] [stdout]  --> src/resources/connection.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ggez::graphics::{Image,Font};
[INFO] [stdout]   |                      ^^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context`, `GameError`, `GameResult`
[INFO] [stdout]  --> src/resources/connection.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ggez::{Context,GameResult,GameError};
[INFO] [stdout]   |            ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WindowMode`
[INFO] [stdout]  --> src/resources/connection.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ggez::conf::{WindowMode};
[INFO] [stdout]   |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `World`
[INFO] [stdout]   --> src/resources/connection.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use specs::{World};
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsWorld`
[INFO] [stdout]   --> src/resources/connection.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::physics::{PhysicsWorld};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EmptyConst`
[INFO] [stdout]  --> src/resources/shaders.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ggez::graphics::{Shader,EmptyConst,BlendMode};
[INFO] [stdout]   |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Font`, `Image`
[INFO] [stdout]  --> src/resources/shaders.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ggez::graphics::{Image,Font};
[INFO] [stdout]   |                      ^^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WindowMode`
[INFO] [stdout]   --> src/resources/shaders.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ggez::conf::{WindowMode};
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `World`
[INFO] [stdout]   --> src/resources/shaders.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use specs::{World};
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsWorld`
[INFO] [stdout]   --> src/resources/shaders.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::physics::{PhysicsWorld};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/systems/mod.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use core::time::{Duration};
[INFO] [stdout]   |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/systems/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/systems/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `specs::prelude::*`
[INFO] [stdout]  --> src/systems/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Entities`, `ReadStorage`, `Read`, `System`, `WriteStorage`
[INFO] [stdout]   --> src/systems/mod.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 8  |     Entities,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 9  |     ReadStorage, WriteStorage, System, //VecStorage, 
[INFO] [stdout]    |     ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 10 |     Read,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/systems/input.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::{Context};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped2d::b2`
[INFO] [stdout]  --> src/systems/input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wrapped2d::b2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldAction`
[INFO] [stdout]  --> src/systems/input.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::resources::{InputResource,WorldAction,GameStateResource};
[INFO] [stdout]   |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::*`
[INFO] [stdout]  --> src/systems/input.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CollisionCategory`
[INFO] [stdout]   --> src/systems/input.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::physics::{CollisionCategory};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::*`
[INFO] [stdout]  --> src/systems/interactor.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::hash_map::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/systems/interactor.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/systems/interactor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldExt`
[INFO] [stdout]  --> src/systems/interactor.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use specs::{WorldExt};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Point2`, `Vector2`, `distance_squared`, `distance`
[INFO] [stdout]  --> src/systems/interactor.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ggez::nalgebra::{Point2,Vector2,distance,distance_squared};
[INFO] [stdout]   |                      ^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InputResource`
[INFO] [stdout]  --> src/systems/interactor.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::resources::{InputResource,GameStateResource};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics`
[INFO] [stdout]   --> src/systems/interactor.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::physics;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/interactor.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 5  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 59 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `specs::Join`
[INFO] [stdout]   --> src/systems/interactor.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameState`, `RunningState`
[INFO] [stdout]  --> src/systems/logic.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::game_state::{GameState,RunningState};
[INFO] [stdout]   |                         ^^^^^^^^^ ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InputResource`, `WorldAction`
[INFO] [stdout]  --> src/systems/logic.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::resources::{InputResource,WorldAction,GameStateResource};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 4  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 29 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entity`
[INFO] [stdout]  --> src/world.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use specs::{World, WorldExt, Entity, Builder}; // Builder, Component, ReadStorage, System, VecStorage, RunNow
[INFO] [stdout]   |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/world.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Position`, `Velocity`
[INFO] [stdout]  --> src/world.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::components::{Position, Velocity,register_components};
[INFO] [stdout]   |                         ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SpriteConfig`, `SpriteLayer`
[INFO] [stdout]  --> src/world.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::sprite::{SpriteLayer,SpriteConfig};
[INFO] [stdout]   |                                 ^^^^^^^^^^^ ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlatformBuilder`
[INFO] [stdout]  --> src/world.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::entities::platform::{PlatformBuilder};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SuriBuilder`
[INFO] [stdout]   --> src/world.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::entities::suri::{SuriBuilder};
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GhostBuilder`
[INFO] [stdout]   --> src/world.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::entities::ghost::{GhostBuilder};
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UIBuilder`
[INFO] [stdout]   --> src/world.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::entities::ui::{UIBuilder};
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InterActorSys`
[INFO] [stdout]   --> src/world.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::systems::interactor::{InterActorSys};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameError`
[INFO] [stdout]  --> src/render.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Scale`
[INFO] [stdout]  --> src/render.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics::{Color,DrawParam,Scale,set_window_title};
[INFO] [stdout]   |                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `System`, `WriteStorage`
[INFO] [stdout]  --> src/render.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | use specs::{Entity,World,WorldExt,System,WriteStorage};
[INFO] [stdout]   |                                   ^^^^^^ ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/render/level.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/render/level.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Scale`, `set_window_title`
[INFO] [stdout]  --> src/render/level.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics::{Color,DrawParam,Scale,set_window_title};
[INFO] [stdout]   |                      ^^^^^           ^^^^^ ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/render/dialog.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `set_window_title`
[INFO] [stdout]  --> src/render/dialog.rs:6:44
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics::{Color,DrawParam,Scale,set_window_title};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/render/paused.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/render/paused.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/render/paused.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `DrawParam`, `Scale`, `set_window_title`
[INFO] [stdout]  --> src/render/paused.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics::{Color,DrawParam,Scale,set_window_title};
[INFO] [stdout]   |                      ^^^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Velocity`
[INFO] [stdout]   --> src/render.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::components::{Position,Velocity,RenderTrait};
[INFO] [stdout]    |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LevelItem`
[INFO] [stdout]   --> src/render.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::entities::level_builder::{LevelItem};
[INFO] [stdout]    |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render.rs:330:123
[INFO] [stdout]     |
[INFO] [stdout] 330 |     fn render_item(ctx: &mut Context, world: &World, entity: Entity, pt: &na::Point2<f32>, item_index: u32, render_item: &RenderTrait) {
[INFO] [stdout]     |                                                                                                                           ^^^^^^^^^^^ help: use `dyn`: `dyn RenderTrait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Axis`
[INFO] [stdout]  --> src/input.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::event::{KeyCode,KeyMods,Axis,Button,GamepadId};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldExt`
[INFO] [stdout]  --> src/input.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{World, WorldExt};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldAction`
[INFO] [stdout]  --> src/input.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::resources::{InputResource,WorldAction};
[INFO] [stdout]   |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MeowBuilder`
[INFO] [stdout]  --> src/input.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::entities::meow::{MeowBuilder};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldAction`
[INFO] [stdout]   --> src/game_state.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::resources::{InputResource,WorldAction,GameStateResource};
[INFO] [stdout]    |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Velocity`
[INFO] [stdout]   --> src/game_state.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::components::{Position,Velocity};
[INFO] [stdout]    |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InterActorSys`
[INFO] [stdout]   --> src/game_state.rs:33:22
[INFO] [stdout]    |
[INFO] [stdout] 33 | use crate::systems::{InterActorSys,InputSystem};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_dispatcher`
[INFO] [stdout]   --> src/game_state.rs:35:33
[INFO] [stdout]    |
[INFO] [stdout] 35 | use crate::world::{create_world,create_dispatcher};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GhostBuilder`
[INFO] [stdout]   --> src/game_state.rs:37:30
[INFO] [stdout]    |
[INFO] [stdout] 37 | use crate::entities::ghost::{GhostBuilder};
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlatformBuilder`
[INFO] [stdout]   --> src/game_state.rs:39:33
[INFO] [stdout]    |
[INFO] [stdout] 39 | use crate::entities::platform::{PlatformBuilder};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BoxBuilder`
[INFO] [stdout]   --> src/game_state.rs:40:34
[INFO] [stdout]    |
[INFO] [stdout] 40 | use crate::entities::empty_box::{BoxBuilder};
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PhysicsBodyHandle`, `PhysicsBody`
[INFO] [stdout]   --> src/game_state.rs:42:36
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::physics::{PhysicsWorld, PhysicsBody, PhysicsBodyHandle};
[INFO] [stdout]    |                                    ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MouseInput`
[INFO] [stdout]   --> src/game_state.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 44 | use crate::input::{InputMap,MouseInput,InputKey};
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Builder`
[INFO] [stdout]  --> src/world.rs:2:38
[INFO] [stdout]   |
[INFO] [stdout] 2 | use specs::{World, WorldExt, Entity, Builder}; // Builder, Component, ReadStorage, System, VecStorage, RunNow
[INFO] [stdout]   |                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude`
[INFO] [stdout]   --> src/render.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/render.rs:283:13
[INFO] [stdout]     |
[INFO] [stdout] 283 |             _ => {}
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/input.rs:297:17
[INFO] [stdout]     |
[INFO] [stdout] 297 |                 _ => {}
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/input.rs:323:17
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 _ => {}
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/conf.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let config: T = match from_reader(f) {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/conf.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_order`
[INFO] [stdout]   --> src/entities/platform.rs:72:46
[INFO] [stdout]    |
[INFO] [stdout] 72 |         width: f32, height: f32, angle: f32, z_order: f32) -> Entity {
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `npc`
[INFO] [stdout]   --> src/entities/empty_box.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let npc = NpcComponent::new();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_npc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_order`
[INFO] [stdout]   --> src/entities/empty_box.rs:81:46
[INFO] [stdout]    |
[INFO] [stdout] 81 |         width: f32, height: f32, angle: f32, z_order: f32) -> Entity {
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `joint_handle`
[INFO] [stdout]    --> src/entities/button.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let joint_handle = Self::build_joint(physics_world, &mut collision, 0.25, 0.4, height, &body_handle, &trigger_handle);
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_joint_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off_y`
[INFO] [stdout]    --> src/entities/button.rs:153:13
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let off_y = create_size(bottom_offset.y);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_off_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off_y`
[INFO] [stdout]    --> src/entities/button.rs:207:17
[INFO] [stdout]     |
[INFO] [stdout] 207 |             let off_y = create_size(bottom_offset.y);
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_off_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `collision`
[INFO] [stdout]    --> src/entities/button.rs:233:50
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn build_joint(world: &mut PhysicsWorld, collision: &mut Collision, density: f32, restitution: f32, height: f32,
[INFO] [stdout]     |                                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collision`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `density`
[INFO] [stdout]    --> src/entities/button.rs:233:77
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn build_joint(world: &mut PhysicsWorld, collision: &mut Collision, density: f32, restitution: f32, height: f32,
[INFO] [stdout]     |                                                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_density`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `restitution`
[INFO] [stdout]    --> src/entities/button.rs:233:91
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn build_joint(world: &mut PhysicsWorld, collision: &mut Collision, density: f32, restitution: f32, height: f32,
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_restitution`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_order`
[INFO] [stdout]   --> src/entities/mouse.rs:26:46
[INFO] [stdout]    |
[INFO] [stdout] 26 |         width: f32, height: f32, angle: f32, z_order: f32) -> Entity {
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]   --> src/entities/ghost.rs:18:133
[INFO] [stdout]    |
[INFO] [stdout] 18 | ...x: f32, y: f32, vx: f32, vy: f32, m: f32, fric: f32, dim_1: f32, dim_2: f32) -> Entity {
[INFO] [stdout]    |                                      ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fric`
[INFO] [stdout]   --> src/entities/ghost.rs:18:141
[INFO] [stdout]    |
[INFO] [stdout] 18 | ...f32, vx: f32, vy: f32, m: f32, fric: f32, dim_1: f32, dim_2: f32) -> Entity {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_fric`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_order`
[INFO] [stdout]   --> src/entities/bowl.rs:64:46
[INFO] [stdout]    |
[INFO] [stdout] 64 |         width: f32, height: f32, angle: f32, z_order: f32) -> Entity {
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn_type`
[INFO] [stdout]    --> src/entities/level_builder.rs:190:51
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 LevelItem::Connection { from, to, conn_type } => {
[INFO] [stdout]     |                                                   ^^^^^^^^^ help: try ignoring the field: `conn_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fixture`
[INFO] [stdout]    --> src/physics.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let fixture = body.fixture(fixture_handle);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fixture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]    --> src/physics.rs:469:49
[INFO] [stdout]     |
[INFO] [stdout] 469 |     for (mut collision, mut character, mut npc, ent) in (&mut phys_writer, (&mut char_writer).maybe(),(&mut npc_writer).maybe(), &entitie...
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `existing_portal` is assigned to, but never used
[INFO] [stdout]    --> src/physics.rs:558:13
[INFO] [stdout]     |
[INFO] [stdout] 558 |         let mut existing_portal = -1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_existing_portal` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `existing_portal` is never read
[INFO] [stdout]    --> src/physics.rs:563:13
[INFO] [stdout]     |
[INFO] [stdout] 563 |             existing_portal = collision.portal_id;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]    --> src/physics.rs:713:34
[INFO] [stdout]     |
[INFO] [stdout] 713 |     for (mut collision, mut pos, ent) in (&mut phys_writer, &mut pos_writer, &entities).join() {
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta_seconds`
[INFO] [stdout]    --> src/physics.rs:707:78
[INFO] [stdout]     |
[INFO] [stdout] 707 | fn post_advance_physics(world: &mut World, physics_world: &mut PhysicsWorld, delta_seconds: f32) {
[INFO] [stdout]     |                                                                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_seconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/components/mod.rs:99:20
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]   --> src/components/mod.rs:99:39
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/components/mod.rs:99:54
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stdout]    |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/components/mod.rs:99:72
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stdout]    |                                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_index`
[INFO] [stdout]   --> src/components/mod.rs:99:96
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_delta`
[INFO] [stdout]   --> src/components/logic.rs:90:30
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn update(&mut self, time_delta: f32) {
[INFO] [stdout]    |                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/components/sprite.rs:116:16
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn new(ctx: &mut Context, char_img: &String, z_order: f32) -> SpriteComponent {
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/components/sprite.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/components/sprite.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let w = texture.width();
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/components/sprite.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |             let h = texture.height();
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_index`
[INFO] [stdout]    --> src/components/sprite.rs:139:96
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stdout]     |                                                                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/components/sprite.rs:208:16
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn new(ctx: &mut Context) -> MultiSpriteComponent {
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/components/sprite.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other_body_handle`
[INFO] [stdout]   --> src/components/button.rs:70:26
[INFO] [stdout]    |
[INFO] [stdout] 70 |             if let Some((other_body_handle, joint_handle)) = &joints.nth(0) {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other_body_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/components/player.rs:137:16
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn new(ctx: &mut Context, char_img: &String) -> CharacterDisplayComponent {
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_delta`
[INFO] [stdout]    --> src/components/player.rs:255:36
[INFO] [stdout]     |
[INFO] [stdout] 255 |     pub fn process_walk(&mut self, time_delta: f32) {
[INFO] [stdout]     |                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_delta`
[INFO] [stdout]    --> src/components/player.rs:281:36
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn process_idle(&mut self, time_delta: f32) {
[INFO] [stdout]     |                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/components/player.rs:627:13
[INFO] [stdout]     |
[INFO] [stdout] 627 |         let time : f32 = {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gs`
[INFO] [stdout]    --> src/components/player.rs:630:17
[INFO] [stdout]     |
[INFO] [stdout] 630 |             let gs = &*game_state_res;
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_gs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/components/player.rs:633:13
[INFO] [stdout]     |
[INFO] [stdout] 633 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exhaust_radius`
[INFO] [stdout]    --> src/components/player.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |         let exhaust_radius = 27.0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exhaust_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `self_rot`
[INFO] [stdout]    --> src/components/player.rs:653:13
[INFO] [stdout]     |
[INFO] [stdout] 653 |         let self_rot = self.rot;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_self_rot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rect`
[INFO] [stdout]    --> src/components/player.rs:662:19
[INFO] [stdout]     |
[INFO] [stdout] 662 |         if let Ok(rect) = graphics::Mesh::new_circle(
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_rect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]    --> src/components/player.rs:734:21
[INFO] [stdout]     |
[INFO] [stdout] 734 |                 let font = image_resources.font;
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_index`
[INFO] [stdout]    --> src/components/player.rs:625:96
[INFO] [stdout]     |
[INFO] [stdout] 625 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stdout]     |                                                                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/components/collision.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity_id`
[INFO] [stdout]    --> src/components/collision.rs:360:18
[INFO] [stdout]     |
[INFO] [stdout] 360 |             for (entity_id, collide_type) in &self.body_contacts {
[INFO] [stdout]     |                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `collide_type`
[INFO] [stdout]    --> src/components/collision.rs:360:29
[INFO] [stdout]     |
[INFO] [stdout] 360 |             for (entity_id, collide_type) in &self.body_contacts {
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collide_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meta`
[INFO] [stdout]   --> src/components/meow.rs:59:27
[INFO] [stdout]    |
[INFO] [stdout] 59 |             for (fixture, meta) in body.fixtures() {
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body_movement`
[INFO] [stdout]   --> src/components/npc.rs:60:30
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn update(&mut self, body_movement: na::Vector2::<f32>, time_delta: f32) {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_body_movement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag`
[INFO] [stdout]   --> src/resources/connection.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |         if let Some( (ref val, ref flag)) = self.value_register.get(input_key) {
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/resources/connection.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 54 |         if let Some( (ref mut val, ref mut flag)) = self.value_register.get_mut(input_key) {
[INFO] [stdout]    |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/resources/connection.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if let Some( (ref val, ref flag)) = self.value_register.get(input_key) {
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `in_value` is never read
[INFO] [stdout]   --> src/resources/connection.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut in_value = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/audio.rs:84:34
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn stop_music(&mut self, ctx: &mut Context) {
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/systems/input.rs:31:93
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn handle_npc_input<'a>(&mut self, v: &mut (&mut Collision, &mut NpcComponent, Entity), input: &InputResource,
[INFO] [stdout]    |                                                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/systems/input.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |         ent: &Entities, lazy: &Read<'a, LazyUpdate>, time_delta: f32) {
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lazy`
[INFO] [stdout]   --> src/systems/input.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |         ent: &Entities, lazy: &Read<'a, LazyUpdate>, time_delta: f32) {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_lazy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/systems/input.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         ent: &Entities, lazy: &Read<'a, LazyUpdate>, time_delta: f32) {
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lazy`
[INFO] [stdout]   --> src/systems/input.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |         ent: &Entities, lazy: &Read<'a, LazyUpdate>, time_delta: f32) {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_lazy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `up_pressed` is assigned to, but never used
[INFO] [stdout]    --> src/systems/input.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut up_pressed = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_up_pressed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `left_pressed` is assigned to, but never used
[INFO] [stdout]    --> src/systems/input.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let mut left_pressed = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_left_pressed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `right_pressed` is assigned to, but never used
[INFO] [stdout]    --> src/systems/input.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut right_pressed = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_right_pressed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `down_pressed` is assigned to, but never used
[INFO] [stdout]    --> src/systems/input.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut down_pressed = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_down_pressed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fire_pressed` is assigned to, but never used
[INFO] [stdout]    --> src/systems/input.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut fire_pressed = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_fire_pressed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `left_pressed` is never read
[INFO] [stdout]    --> src/systems/input.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |             left_pressed = true;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `right_pressed` is never read
[INFO] [stdout]    --> src/systems/input.rs:136:13
[INFO] [stdout]     |
[INFO] [stdout] 136 |             right_pressed = true;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `up_pressed` is never read
[INFO] [stdout]    --> src/systems/input.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |             up_pressed = true;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `down_pressed` is never read
[INFO] [stdout]    --> src/systems/input.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |             down_pressed = true;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `fire_pressed` is never read
[INFO] [stdout]    --> src/systems/input.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |             fire_pressed = true;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_delta`
[INFO] [stdout]    --> src/systems/input.rs:123:79
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn handle_dialog_input(input: &InputResource, game_state: &GameState, time_delta: f32) -> RunningState {
[INFO] [stdout]     |                                                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/systems/interactor.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/systems/interactor.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stdout]    |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vel`
[INFO] [stdout]   --> src/systems/interactor.rs:58:33
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stdout]    |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `collision`
[INFO] [stdout]   --> src/systems/interactor.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stdout]    |                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collision`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_res`
[INFO] [stdout]   --> src/systems/interactor.rs:58:53
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/systems/interactor.rs:58:63
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stdout]    |                                                               ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_delta`
[INFO] [stdout]   --> src/systems/logic.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let time_delta = game_state.delta_seconds;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/systems/logic.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |         for (mut logic, portal, ent) in (&mut logic_res, &portal_res, &entities).join() {
[INFO] [stdout]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/systems/logic.rs:43:33
[INFO] [stdout]    |
[INFO] [stdout] 43 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stdout]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]   --> src/systems/logic.rs:52:25
[INFO] [stdout]    |
[INFO] [stdout] 52 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/systems/logic.rs:52:33
[INFO] [stdout]    |
[INFO] [stdout] 52 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stdout]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active`
[INFO] [stdout]   --> src/systems/logic.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let active = logic.is_active;
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/systems/logic.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         for i in 0..3 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/systems/logic.rs:62:29
[INFO] [stdout]    |
[INFO] [stdout] 62 |             for (mut logic, ent) in (&mut logic_res, &entities).join() {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag`
[INFO] [stdout]   --> src/systems/logic.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 |             let flag = connection.get_flagged(input_key);
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/world.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]   --> src/world.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn init_world(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]    |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/world.rs:18:34
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn init_world(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physics_world`
[INFO] [stdout]   --> src/world.rs:18:53
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn init_world(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physics_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/world.rs:137:20
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn empty_world(ctx: &mut Context, world: &mut World, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/world.rs:137:39
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn empty_world(ctx: &mut Context, world: &mut World, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physics_world`
[INFO] [stdout]    --> src/world.rs:137:58
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn empty_world(ctx: &mut Context, world: &mut World, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physics_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `char_in_warp`
[INFO] [stdout]   --> src/render.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut char_in_warp = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_char_in_warp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `level_run_time` is assigned to, but never used
[INFO] [stdout]   --> src/render.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut level_run_time : f32 = 0.0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_level_run_time` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `game_run_time` is never read
[INFO] [stdout]   --> src/render.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let mut game_run_time : f32 = 0.0;        
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `level_run_time` is never read
[INFO] [stdout]   --> src/render.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |             level_run_time = gs_res.level_world_seconds;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/render.rs:222:25
[INFO] [stdout]     |
[INFO] [stdout] 222 |                     let mut dim = shader_ref.send(ctx, crate::resources::Dim {rate: game_run_time});
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/render.rs:338:74
[INFO] [stdout]     |
[INFO] [stdout] 338 |     fn pre_render_list(&self, game_state: &GameState, ctx: &mut Context, world: &World) {
[INFO] [stdout]     |                                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/render.rs:351:51
[INFO] [stdout]     |
[INFO] [stdout] 351 |     fn post_render_list(&self, ctx: &mut Context, world: &World) {
[INFO] [stdout]     |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]   --> src/render/dialog.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let (w, h) = (game_state.window_w, game_state.window_h);
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]   --> src/render/dialog.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let (w, h) = (game_state.window_w, game_state.window_h);
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/input.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         ctx: &mut Context,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keymod`
[INFO] [stdout]    --> src/input.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         keymod: KeyMods,) -> Option<InputKey> {
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_keymod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/input.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         ctx: &mut Context,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/input.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         id: GamepadId) -> Option<InputKey> {
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/input.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         ctx: &mut Context,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keymod`
[INFO] [stdout]    --> src/input.rs:194:9
[INFO] [stdout]     |
[INFO] [stdout] 194 |         keymod: KeyMods,) -> Option<InputKey> {
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_keymod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/input.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         ctx: &mut Context,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/input.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |         id: GamepadId) -> Option<InputKey> {
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/game_state.rs:167:33
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn dim_music(&mut self, ctx: &mut Context) {
[INFO] [stdout]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test`
[INFO] [stdout]    --> src/game_state.rs:405:17
[INFO] [stdout]     |
[INFO] [stdout] 405 |             let test : u16 = rng.gen::<u16>();
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_test`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/game_state.rs:426:41
[INFO] [stdout]     |
[INFO] [stdout] 426 |     pub fn run_dialog_update(&mut self, ctx: &mut Context, time_delta: f32) {
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_delta`
[INFO] [stdout]    --> src/game_state.rs:426:60
[INFO] [stdout]     |
[INFO] [stdout] 426 |     pub fn run_dialog_update(&mut self, ctx: &mut Context, time_delta: f32) {
[INFO] [stdout]     |                                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `portal_id` is never read
[INFO] [stdout]    --> src/game_state.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 |         let mut portal_id = -1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]    --> src/game_state.rs:464:18
[INFO] [stdout]     |
[INFO] [stdout] 464 |             for (ent, mut character_opt, mut npc_opt,  mut pos, mut coll) in 
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `portal_id`
[INFO] [stdout]    --> src/game_state.rs:523:42
[INFO] [stdout]     |
[INFO] [stdout] 523 | ...                   if let Some((portal_id, x, y)) = portal_hash.get(&portal_dest) {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_portal_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/game_state.rs:436:47
[INFO] [stdout]     |
[INFO] [stdout] 436 |     pub fn run_post_physics_update(&mut self, ctx: &mut Context, time_delta: f32) {
[INFO] [stdout]     |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_delta`
[INFO] [stdout]    --> src/game_state.rs:436:66
[INFO] [stdout]     |
[INFO] [stdout] 436 |     pub fn run_post_physics_update(&mut self, ctx: &mut Context, time_delta: f32) {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/game_state.rs:723:35
[INFO] [stdout]     |
[INFO] [stdout] 723 |     pub fn game_key_up(&mut self, ctx: &mut Context, key: &InputKey) {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/game_state.rs:797:83
[INFO] [stdout]     |
[INFO] [stdout] 797 |     fn mouse_button_down_event(&mut self, ctx: &mut Context, button: MouseButton, x: f32, y: f32) {
[INFO] [stdout]     |                                                                                   ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/game_state.rs:797:91
[INFO] [stdout]     |
[INFO] [stdout] 797 |     fn mouse_button_down_event(&mut self, ctx: &mut Context, button: MouseButton, x: f32, y: f32) {
[INFO] [stdout]     |                                                                                           ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/game_state.rs:815:81
[INFO] [stdout]     |
[INFO] [stdout] 815 |     fn mouse_button_up_event(&mut self, ctx: &mut Context, button: MouseButton, x: f32, y: f32) {
[INFO] [stdout]     |                                                                                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/game_state.rs:815:89
[INFO] [stdout]     |
[INFO] [stdout] 815 |     fn mouse_button_up_event(&mut self, ctx: &mut Context, button: MouseButton, x: f32, y: f32) {
[INFO] [stdout]     |                                                                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xrel`
[INFO] [stdout]    --> src/game_state.rs:834:74
[INFO] [stdout]     |
[INFO] [stdout] 834 |     fn mouse_motion_event(&mut self, _ctx: &mut Context, x: f32, y: f32, xrel: f32, yrel: f32) {
[INFO] [stdout]     |                                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_xrel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `yrel`
[INFO] [stdout]    --> src/game_state.rs:834:85
[INFO] [stdout]     |
[INFO] [stdout] 834 |     fn mouse_motion_event(&mut self, _ctx: &mut Context, x: f32, y: f32, xrel: f32, yrel: f32) {
[INFO] [stdout]     |                                                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_yrel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/game_state.rs:838:57
[INFO] [stdout]     |
[INFO] [stdout] 838 |     fn mouse_wheel_event(&mut self, _ctx: &mut Context, x: f32, y: f32) {
[INFO] [stdout]     |                                                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/game_state.rs:838:65
[INFO] [stdout]     |
[INFO] [stdout] 838 |     fn mouse_wheel_event(&mut self, _ctx: &mut Context, x: f32, y: f32) {
[INFO] [stdout]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ch`
[INFO] [stdout]     --> src/game_state.rs:1003:56
[INFO] [stdout]      |
[INFO] [stdout] 1003 |     fn text_input_event(&mut self, _ctx: &mut Context, ch: char) {
[INFO] [stdout]      |                                                        ^^ help: if this is intentional, prefix it with an underscore: `_ch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/entities/button.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut button = ButtonComponent::new(name.clone());
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/entities/ui.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |         if let Some(mut images) = world.get_mut::<ImageResources>() {
[INFO] [stdout]    |                     ----^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/entities/level_builder.rs:193:25
[INFO] [stdout]     |
[INFO] [stdout] 193 |                     let mut connection = &mut *connection_res;
[INFO] [stdout]     |                         ----^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/physics.rs:469:10
[INFO] [stdout]     |
[INFO] [stdout] 469 |     for (mut collision, mut character, mut npc, ent) in (&mut phys_writer, (&mut char_writer).maybe(),(&mut npc_writer).maybe(), &entitie...
[INFO] [stdout]     |          ----^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/physics.rs:469:25
[INFO] [stdout]     |
[INFO] [stdout] 469 |     for (mut collision, mut character, mut npc, ent) in (&mut phys_writer, (&mut char_writer).maybe(),(&mut npc_writer).maybe(), &entitie...
[INFO] [stdout]     |                         ----^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/physics.rs:469:40
[INFO] [stdout]     |
[INFO] [stdout] 469 |     for (mut collision, mut character, mut npc, ent) in (&mut phys_writer, (&mut char_writer).maybe(),(&mut npc_writer).maybe(), &entitie...
[INFO] [stdout]     |                                        ----^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/physics.rs:713:10
[INFO] [stdout]     |
[INFO] [stdout] 713 |     for (mut collision, mut pos, ent) in (&mut phys_writer, &mut pos_writer, &entities).join() {
[INFO] [stdout]     |          ----^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/logic.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut logic = LogicComponent {
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/sprite.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |         if let Some(mut images) = world.get_mut::<ImageResources>() {
[INFO] [stdout]    |                     ----^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/sprite.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/sprite.rs:165:19
[INFO] [stdout]     |
[INFO] [stdout] 165 |         if let Ok(mut texture) = texture_ref {
[INFO] [stdout]     |                   ----^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/sprite.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/button.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let mut button = ButtonComponent {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/button.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut button = ButtonTriggerComponent {
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/player.rs:633:13
[INFO] [stdout]     |
[INFO] [stdout] 633 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/collision.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/collision.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |             let mut body = physics_world.body_mut(body_handle);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/npc.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut npc = NpcComponent {
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/portal.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut portal = PortalComponent {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/exit.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut portal = ExitComponent {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/resources/image.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |         if let Some(mut images) = world.get_mut::<ImageResources>() {
[INFO] [stdout]    |                     ----^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/input.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 |             let mut y = coll.pos.y;
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/systems/input.rs:168:73
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn run(&mut self, (mut coll, mut char_display, mut npc, game_state, mut input, mut ent, lazy): Self::SystemData) {
[INFO] [stdout]     |                                                                         ----^^^^^
[INFO] [stdout]     |                                                                         |
[INFO] [stdout]     |                                                                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/systems/input.rs:168:84
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn run(&mut self, (mut coll, mut char_display, mut npc, game_state, mut input, mut ent, lazy): Self::SystemData) {
[INFO] [stdout]     |                                                                                    ----^^^
[INFO] [stdout]     |                                                                                    |
[INFO] [stdout]     |                                                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/interactor.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stdout]    |                        ----^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/interactor.rs:58:33
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stdout]    |                                 ----^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/interactor.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/logic.rs:28:55
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn run(&mut self, (mut logic_res, mut portal_res, mut button_res, mut sprite_res, game_state, mut connection, mut entities): Self::Sy...
[INFO] [stdout]    |                                                       ----^^^^^^^^^^
[INFO] [stdout]    |                                                       |
[INFO] [stdout]    |                                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/logic.rs:28:115
[INFO] [stdout]    |
[INFO] [stdout] 28 | ...ton_res, mut sprite_res, game_state, mut connection, mut entities): Self::SystemData) {
[INFO] [stdout]    |                                                         ----^^^^^^^^
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/logic.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |         for (mut logic, portal, ent) in (&mut logic_res, &portal_res, &entities).join() {
[INFO] [stdout]    |              ----^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/logic.rs:43:14
[INFO] [stdout]    |
[INFO] [stdout] 43 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stdout]    |              ----^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/logic.rs:52:14
[INFO] [stdout]    |
[INFO] [stdout] 52 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stdout]    |              ----^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/logic.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |             for (mut logic, ent) in (&mut logic_res, &entities).join() {
[INFO] [stdout]    |                  ----^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/logic.rs:78:14
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for (mut logic, ent) in (&mut logic_res, &entities).join() {
[INFO] [stdout]    |              ----^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/world.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/render.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut char_in_warp = false;
[INFO] [stdout]    |             ----^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/render.rs:217:23
[INFO] [stdout]     |
[INFO] [stdout] 217 |             if let Ok(mut texture) = texture_ref {
[INFO] [stdout]     |                       ----^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/render.rs:222:25
[INFO] [stdout]     |
[INFO] [stdout] 222 |                     let mut dim = shader_ref.send(ctx, crate::resources::Dim {rate: game_run_time});
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game_state.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |             let mut world = &mut self.world;
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `save_ron_config`
[INFO] [stdout]   --> src/conf.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn save_ron_config<'a,T>(config_path: String, config: &T) -> bool
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `build_npc`
[INFO] [stdout]   --> src/entities/suri.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn build_npc(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld, x: f32, y: f32) -> Entity {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `UIBuilder`
[INFO] [stdout]   --> src/entities/ui.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct UIBuilder;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_sprite_paths`
[INFO] [stdout]   --> src/entities/ui.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn get_sprite_paths() -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `init_images`
[INFO] [stdout]   --> src/entities/ui.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn init_images(world: &mut World, ctx: &mut Context) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `build_icon`
[INFO] [stdout]   --> src/entities/ui.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn build_icon(world: &mut World, ctx: &mut Context) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `build_dynamic`
[INFO] [stdout]   --> src/entities/bowl.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn build_dynamic(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld, x: f32, y: f32,
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Player_Ghost`
[INFO] [stdout]   --> src/physics.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     Player_Ghost,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Player_Portal`
[INFO] [stdout]   --> src/physics.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     Player_Portal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Npc_Level`
[INFO] [stdout]   --> src/physics.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     Npc_Level,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Npc_Portal`
[INFO] [stdout]   --> src/physics.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Npc_Portal,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Other`
[INFO] [stdout]   --> src/physics.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     Other,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Player`
[INFO] [stdout]   --> src/physics.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     Player,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Platform`
[INFO] [stdout]   --> src/physics.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     Platform,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Ghost`
[INFO] [stdout]   --> src/physics.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     Ghost,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Meow`
[INFO] [stdout]   --> src/physics.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Meow,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Portal`
[INFO] [stdout]   --> src/physics.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     Portal,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Exit`
[INFO] [stdout]   --> src/physics.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     Exit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_size`
[INFO] [stdout]    --> src/physics.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub fn get_size(phys_size: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `add_kinematic_body_box`
[INFO] [stdout]    --> src/physics.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub fn add_kinematic_body_box(world: &mut PhysicsWorld, pos: &Point2<f32>, vel: &Vector2<f32>, 
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/components/logic.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn new(frm: String, t: String, cntype: ConnectionType) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/components/logic.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn update(&mut self, time_delta: f32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_trigger`
[INFO] [stdout]   --> src/components/button.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn set_trigger(&mut self, trigger_id: i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `FALL_ONLY_SET`
[INFO] [stdout]   --> src/components/player.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | const FALL_ONLY_SET : u32 = 2;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `FALL_ONLY_FRAMES`
[INFO] [stdout]   --> src/components/player.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | const FALL_ONLY_FRAMES : u32 = 4;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update_body_status`
[INFO] [stdout]    --> src/components/player.rs:587:12
[INFO] [stdout]     |
[INFO] [stdout] 587 |     pub fn update_body_status(&mut self, is_standing: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_active`
[INFO] [stdout]    --> src/components/collision.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn set_active(&mut self, physics_world: &mut PhysicsWorld, is_active: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `create_kinematic_body_box_upright`
[INFO] [stdout]    --> src/components/collision.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn create_kinematic_body_box_upright(&mut self, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `create_dynamic_body_circle`
[INFO] [stdout]    --> src/components/collision.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn create_dynamic_body_circle(&mut self, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `can_use_portal`
[INFO] [stdout]    --> src/components/collision.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn can_use_portal(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `start_jump`
[INFO] [stdout]    --> src/components/npc.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn start_jump(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `init_images`
[INFO] [stdout]   --> src/resources/image.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn init_images(world: &mut World, ctx: &mut Context, paths: &Vec<String>) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `AddCircle`
[INFO] [stdout]   --> src/resources/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     AddCircle,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_jump`
[INFO] [stdout]   --> src/resources/mod.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn set_jump(&mut self, press: bool) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_mouse_x`
[INFO] [stdout]   --> src/resources/mod.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn set_mouse_x(&mut self, mouse_x: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_mouse_y`
[INFO] [stdout]   --> src/resources/mod.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn set_mouse_y(&mut self, mouse_y: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `stop_music`
[INFO] [stdout]   --> src/audio.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn stop_music(&mut self, ctx: &mut Context) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/systems/interactor.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(physics_world: &'a mut PhysicsWorld) -> InterActorSys<'a> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `POSX_RANGE`
[INFO] [stdout]   --> src/world.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     const POSX_RANGE: f32 = 7000.0;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `POSY_RANGE`
[INFO] [stdout]   --> src/world.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     const POSY_RANGE: f32 = 12000.0;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `VELX_RANGE`
[INFO] [stdout]   --> src/world.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     const VELX_RANGE: f32 = 395.0;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `VELY_RANGE`
[INFO] [stdout]   --> src/world.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     const VELY_RANGE: f32 = 375.0;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `empty_world`
[INFO] [stdout]    --> src/world.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn empty_world(ctx: &mut Context, world: &mut World, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `create_dispatcher`
[INFO] [stdout]    --> src/world.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn create_dispatcher<'a>() -> Dispatcher<'a,'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/render/paused.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `RenderObjectType`
[INFO] [stdout]   --> src/render.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum RenderObjectType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `run_dialog_update`
[INFO] [stdout]    --> src/game_state.rs:426:12
[INFO] [stdout]     |
[INFO] [stdout] 426 |     pub fn run_dialog_update(&mut self, ctx: &mut Context, time_delta: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `save_level`
[INFO] [stdout]    --> src/game_state.rs:658:12
[INFO] [stdout]     |
[INFO] [stdout] 658 |     pub fn save_level(&self, save_name: String) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/conf.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |             fs::write(&input_path, source);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/entities/ui.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |                     images.load_image(path.clone(), ctx);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/physics.rs:699:13
[INFO] [stdout]     |
[INFO] [stdout] 699 |             world.entities().delete(entity);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/components/sprite.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 images.load_image(path.clone(), ctx);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/components/sprite.rs:223:12
[INFO] [stdout]     |
[INFO] [stdout] 223 |         if item_index >= 0 && (item_index as usize) < self.sprites.len() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `typeText` should have a snake case name
[INFO] [stdout]    --> src/components/player.rs:735:21
[INFO] [stdout]     |
[INFO] [stdout] 735 |                 let typeText = String::from("*meow*");
[INFO] [stdout]     |                     ^^^^^^^^ help: convert the identifier to snake case: `type_text`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/resources/mod.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     images.load_image("/overlay.png".to_string(), ctx);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/resources/mod.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     shaders.load_shader("overlay".to_string(), "shaders/overlay_shader".to_string(), ctx);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/resources/mod.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     shaders.load_shader("suri_shader".to_string(), "shaders/suri_shader".to_string(), ctx);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/resources/mod.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     shaders.load_shader("suri_shadow".to_string(), "shaders/suri_shadow".to_string(), ctx);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/resources/image.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     images.load_image(path.clone(), ctx);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 source.play();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     source.play();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/render.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 | /                 ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 193 | |                     .dest(na::Point2::new(level_bounds.min_x, level_bounds.min_y)) );
[INFO] [stdout]     | |_____________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/render.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 | /                 ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 203 | |                     .dest(na::Point2::new(level_bounds.min_x, level_bounds.min_y)) );
[INFO] [stdout]     | |_____________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/render.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         graphics::apply_transformations(ctx);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/render.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 354 |         graphics::apply_transformations(ctx);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/level.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 35 | |                             .dest(na::Point2::new(x - 5.0, y - 5.0)) );
[INFO] [stdout]    | |_______________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/level.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 47 | |                             .dest(na::Point2::new(x - 5.0, y - 5.0)) );
[INFO] [stdout]    | |_______________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/level.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 60 | |                             .dest(na::Point2::new(*x, *y))
[INFO] [stdout] 61 | |                             .offset(na::Point2::new(*w, *w))
[INFO] [stdout] 62 | |                             
[INFO] [stdout] 63 | |                         );
[INFO] [stdout]    | |__________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/level.rs:75:25
[INFO] [stdout]    |
[INFO] [stdout] 75 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 76 | |                             .dest(na::Point2::<f32>::new(*x, *y)) );
[INFO] [stdout]    | |____________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/level.rs:87:25
[INFO] [stdout]    |
[INFO] [stdout] 87 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 88 | |                             //.dest(na::Point2::new(x - 5.0, y - 5.0)) );
[INFO] [stdout] 89 | |                             .dest(na::Point2::new(*x, *y))
[INFO] [stdout] 90 | |                             .offset(na::Point2::new(0.0, 0.0))
[INFO] [stdout] 91 | |                             .rotation(*angle));
[INFO] [stdout]    | |_______________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/render/level.rs:102:25
[INFO] [stdout]     |
[INFO] [stdout] 102 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()                                
[INFO] [stdout] 103 | |                             .dest(na::Point2::new(*x-*w, *y-*h))
[INFO] [stdout] 104 | |                             .offset(na::Point2::new(*w, *h))
[INFO] [stdout] 105 | |                             .rotation(*ang)
[INFO] [stdout] 106 | |                              );
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/render/level.rs:117:25
[INFO] [stdout]     |
[INFO] [stdout] 117 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()                                
[INFO] [stdout] 118 | |                             .dest(na::Point2::new(*x-*w, *y-*h))
[INFO] [stdout] 119 | |                             .offset(na::Point2::new(*w, *h))
[INFO] [stdout] 120 | |                             .rotation(*ang)
[INFO] [stdout] 121 | |                              );
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/render/level.rs:132:25
[INFO] [stdout]     |
[INFO] [stdout] 132 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()                                
[INFO] [stdout] 133 | |                             .dest(na::Point2::new(*x-*w, *y-*h))
[INFO] [stdout] 134 | |                             .offset(na::Point2::new(*w, *h))
[INFO] [stdout] 135 | |                             .rotation(*ang)
[INFO] [stdout] 136 | |                              );
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/dialog.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 | /             ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 61 | |                 .dest(na::Point2::new(cent_x - dialog_w * 0.5, cent_y - dialog_h * 0.5)) );
[INFO] [stdout]    | |___________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/dialog.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 | /             ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 70 | |                 .dest(na::Point2::new(cent_x - dialog_w * 0.5, cent_y - dialog_h * 0.5)) );
[INFO] [stdout]    | |___________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/dialog.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 | /             ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 80 | |                 .dest(na::Point2::new(cent_x - 3.0 - dialog_w * 0.5, cent_y - 3.0 - dialog_h * 0.5)) );
[INFO] [stdout]    | |_______________________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/game_state.rs:337:21
[INFO] [stdout]     |
[INFO] [stdout] 337 |                     entities.delete(ent);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> src/game_state.rs:1033:9
[INFO] [stdout]      |
[INFO] [stdout] 1033 |         ggez::graphics::set_screen_coordinates(ctx, Rect::new(0.0, 0.0, width, height));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 473 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [optimized + debuginfo] target(s) in 13m 13s
[INFO] running `Command { std: "docker" "inspect" "002b8350b73966d8825613ff5caab6b1ce356a36a469f196ef75de6993dab3b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "002b8350b73966d8825613ff5caab6b1ce356a36a469f196ef75de6993dab3b9", kill_on_drop: false }`
[INFO] [stdout] 002b8350b73966d8825613ff5caab6b1ce356a36a469f196ef75de6993dab3b9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 983d859fff236f6007177e4c112188428658f11aa2a47180675fbd62e781b7e7
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "983d859fff236f6007177e4c112188428658f11aa2a47180675fbd62e781b7e7", kill_on_drop: false }`
[INFO] [stderr]    Compiling suri_sprint v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ggez::filesystem`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::filesystem;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ContextBuilder`
[INFO] [stdout]  --> src/conf.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{ContextBuilder};
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FullscreenType`, `NumSamples`
[INFO] [stdout]  --> src/conf.rs:2:41
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::conf::{WindowSetup,WindowMode,FullscreenType,NumSamples};
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^ ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/platform.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/platform.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/platform.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/entities/platform.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EntityBuilder`
[INFO] [stdout]  --> src/entities/platform.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::conf::*`
[INFO] [stdout]  --> src/entities/platform.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::conf::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]  --> src/entities/platform.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::game_state::{GameState};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stdout]   --> src/entities/platform.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SpriteComponent`, `SpriteLayer`
[INFO] [stdout]   --> src/entities/platform.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NpcComponent`
[INFO] [stdout]   --> src/entities/platform.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::components::npc::{NpcComponent};
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CharacterDisplayComponent`
[INFO] [stdout]   --> src/entities/platform.rs:15:33
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::components::player::{CharacterDisplayComponent};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::systems::*`
[INFO] [stdout]   --> src/entities/platform.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::systems::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/empty_box.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/empty_box.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/empty_box.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EntityBuilder`
[INFO] [stdout]  --> src/entities/empty_box.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::conf::*`
[INFO] [stdout]  --> src/entities/empty_box.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::conf::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]   --> src/entities/empty_box.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::game_state::{GameState};
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stdout]   --> src/entities/empty_box.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpriteComponent`
[INFO] [stdout]   --> src/entities/empty_box.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer,MultiSpriteComponent};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CharacterDisplayComponent`
[INFO] [stdout]   --> src/entities/empty_box.rs:16:33
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::components::player::{CharacterDisplayComponent};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::systems::*`
[INFO] [stdout]   --> src/entities/empty_box.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::systems::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/button.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/button.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/button.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EntityBuilder`
[INFO] [stdout]  --> src/entities/button.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::conf::*`
[INFO] [stdout]  --> src/entities/button.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::conf::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]   --> src/entities/button.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::game_state::{GameState};
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stdout]   --> src/entities/button.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MultiSpriteComponent`, `SpriteComponent`
[INFO] [stdout]   --> src/entities/button.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer,MultiSpriteComponent};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NpcComponent`
[INFO] [stdout]   --> src/entities/button.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::components::npc::{NpcComponent};
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::systems::*`
[INFO] [stdout]   --> src/entities/button.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::systems::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/mouse.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/mouse.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/mouse.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/entities/mouse.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EntityBuilder`
[INFO] [stdout]  --> src/entities/mouse.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::conf::*`
[INFO] [stdout]  --> src/entities/mouse.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::conf::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]   --> src/entities/mouse.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::game_state::{GameState};
[INFO] [stdout]    |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stdout]   --> src/entities/mouse.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SpriteComponent`, `SpriteLayer`
[INFO] [stdout]   --> src/entities/mouse.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/portal_area.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/portal_area.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/portal_area.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/entities/portal_area.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Entities`, `EntityBuilder`
[INFO] [stdout]  --> src/entities/portal_area.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,Entities,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^ ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]  --> src/entities/portal_area.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::game_state::{GameState};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameStateResource`
[INFO] [stdout]  --> src/entities/portal_area.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::resources::{GameStateResource};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/exit.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/exit.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/exit.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/entities/exit.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Entities`, `EntityBuilder`
[INFO] [stdout]  --> src/entities/exit.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,Entities,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^ ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]  --> src/entities/exit.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::game_state::{GameState};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameStateResource`
[INFO] [stdout]  --> src/entities/exit.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::resources::{GameStateResource};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImageResources`
[INFO] [stdout]   --> src/entities/ghost.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::resources::{ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/suri.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/suri.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/suri.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/entities/suri.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EntityBuilder`
[INFO] [stdout]  --> src/entities/suri.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped2d::user_data::*`
[INFO] [stdout]  --> src/entities/suri.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use wrapped2d::user_data::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]  --> src/entities/suri.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::game_state::{GameState};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stdout]   --> src/entities/suri.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpriteComponent`
[INFO] [stdout]   --> src/entities/suri.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::components::sprite::{SpriteComponent,SpriteConfig};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::systems::*`
[INFO] [stdout]   --> src/entities/suri.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::systems::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/meow.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/meow.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/meow.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/entities/meow.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Entities`, `EntityBuilder`
[INFO] [stdout]  --> src/entities/meow.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,Entities,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^ ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]  --> src/entities/meow.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::game_state::{GameState};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameStateResource`
[INFO] [stdout]  --> src/entities/meow.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::resources::{GameStateResource};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::systems::*`
[INFO] [stdout]   --> src/entities/meow.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::systems::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entity`
[INFO] [stdout]  --> src/entities/ui.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use specs::{Builder,Entity,World,WorldExt};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Collision`
[INFO] [stdout]  --> src/entities/ui.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::collision::{Collision};
[INFO] [stdout]   |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CollisionCategory`, `PhysicsWorld`
[INFO] [stdout]   --> src/entities/ui.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::physics::{PhysicsWorld,CollisionCategory};
[INFO] [stdout]    |                      ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/entities/ui.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 if (!has_image) {
[INFO] [stdout]    |                    ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/entities/bowl.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/entities/bowl.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Image`
[INFO] [stdout]  --> src/entities/bowl.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics::{Image};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/entities/bowl.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EntityBuilder`
[INFO] [stdout]  --> src/entities/bowl.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::conf::*`
[INFO] [stdout]  --> src/entities/bowl.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::conf::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]  --> src/entities/bowl.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::game_state::{GameState};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stdout]   --> src/entities/bowl.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpriteComponent`
[INFO] [stdout]   --> src/entities/bowl.rs:12:33
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CharacterDisplayComponent`
[INFO] [stdout]   --> src/entities/bowl.rs:14:33
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::components::player::{CharacterDisplayComponent};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::systems::*`
[INFO] [stdout]   --> src/entities/bowl.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::systems::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Collision`
[INFO] [stdout]   --> src/entities/level_builder.rs:20:36
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::components::collision::{Collision};
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImageResources`
[INFO] [stdout]   --> src/entities/level_builder.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::resources::{ImageResources};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CollisionCategory`
[INFO] [stdout]   --> src/entities/level_builder.rs:23:35
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::physics::{PhysicsWorld,CollisionCategory};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `distance_squared`, `distance`
[INFO] [stdout]  --> src/physics.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use na::{Point2,Vector2,distance_squared,distance};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^ ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MetaBody`
[INFO] [stdout]  --> src/physics.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use wrapped2d::dynamics::body::{MetaBody};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Player_Level` should have an upper camel case name
[INFO] [stdout]   --> src/physics.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     Player_Level,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlayerLevel`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Player_Ghost` should have an upper camel case name
[INFO] [stdout]   --> src/physics.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     Player_Ghost,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlayerGhost`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Player_Portal` should have an upper camel case name
[INFO] [stdout]   --> src/physics.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     Player_Portal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlayerPortal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Npc_Level` should have an upper camel case name
[INFO] [stdout]   --> src/physics.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     Npc_Level,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `NpcLevel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Npc_Portal` should have an upper camel case name
[INFO] [stdout]   --> src/physics.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Npc_Portal,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `NpcPortal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Collider_Portal` should have an upper camel case name
[INFO] [stdout]   --> src/physics.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     Collider_Portal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ColliderPortal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Ghost_Meow` should have an upper camel case name
[INFO] [stdout]   --> src/physics.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     Ghost_Meow,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `GhostMeow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/physics.rs:517:45
[INFO] [stdout]     |
[INFO] [stdout] 517 | pub fn set_standing_status(interactor: &mut CharLevelInteractor, is_standing: bool) {
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CharLevelInteractor`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]  --> src/components/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameResult`
[INFO] [stdout]  --> src/components/mod.rs:2:20
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::{Context,GameResult};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entity`
[INFO] [stdout]  --> src/components/mod.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use specs::{ Component,Entity, DenseVecStorage, VecStorage, World, WorldExt};
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameState`
[INFO] [stdout]  --> src/components/mod.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::game_state::{GameState};
[INFO] [stdout]   |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/components/logic.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped2d::b2`
[INFO] [stdout]  --> src/components/logic.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wrapped2d::b2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/components/logic.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `de::DeserializeOwned`
[INFO] [stdout]  --> src/components/logic.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use serde::{Deserialize,de::DeserializeOwned,Serialize};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpriteComponent`
[INFO] [stdout]  --> src/components/logic.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::sprite::{SpriteComponent};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Collision`
[INFO] [stdout]   --> src/components/logic.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::components::collision::{Collision};
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics`
[INFO] [stdout]   --> src/components/logic.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::physics;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsWorld`
[INFO] [stdout]   --> src/components/logic.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::physics::{PhysicsWorld};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/components/sprite.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlendMode`, `Image`
[INFO] [stdout]  --> src/components/sprite.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::graphics::{Rect,Image,Color,DrawParam,WrapMode,BlendMode};
[INFO] [stdout]   |                           ^^^^^                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/components/sprite.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `de::DeserializeOwned`
[INFO] [stdout]   --> src/components/sprite.rs:10:25
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::{Deserialize,de::DeserializeOwned};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/components/button.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpriteComponent`
[INFO] [stdout]  --> src/components/button.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::sprite::{SpriteComponent};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics`
[INFO] [stdout]   --> src/components/button.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::physics;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]  --> src/components/player.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cmp;
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Image`, `ShaderLock`
[INFO] [stdout]  --> src/components/player.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::graphics::{Rect,Image,Color,DrawParam,ShaderLock};
[INFO] [stdout]   |                           ^^^^^ ^^^^^           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Velocity`
[INFO] [stdout]   --> src/components/player.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::components::{Velocity};
[INFO] [stdout]    |                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsBody`
[INFO] [stdout]   --> src/components/player.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::physics::{PhysicsBody};
[INFO] [stdout]    |                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `distance`
[INFO] [stdout]  --> src/components/collision.rs:3:37
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::nalgebra::{Point2,Vector2,distance};
[INFO] [stdout]   |                                     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped2d::user_data::NoUserData`
[INFO] [stdout]  --> src/components/collision.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wrapped2d::user_data::NoUserData;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/components/collision.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsBody`
[INFO] [stdout]   --> src/components/collision.rs:11:36
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::physics::{PhysicsWorld, PhysicsBody, PhysicsBodyHandle, EntityType, CollisionCategory, CollideType};
[INFO] [stdout]    |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped2d::b2`
[INFO] [stdout]  --> src/components/npc.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wrapped2d::b2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpriteComponent`
[INFO] [stdout]  --> src/components/npc.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::sprite::{SpriteComponent};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Collision`
[INFO] [stdout]   --> src/components/npc.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::components::collision::{Collision};
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsWorld`
[INFO] [stdout]   --> src/components/npc.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::physics::{PhysicsWorld};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics`
[INFO] [stdout]   --> src/components/portal.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::physics;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped2d::b2`
[INFO] [stdout]  --> src/components/exit.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wrapped2d::b2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SpriteComponent`
[INFO] [stdout]  --> src/components/exit.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::sprite::{SpriteComponent};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Collision`
[INFO] [stdout]  --> src/components/exit.rs:9:36
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::components::collision::{Collision};
[INFO] [stdout]   |                                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics`
[INFO] [stdout]   --> src/components/exit.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::physics;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsWorld`
[INFO] [stdout]   --> src/components/exit.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::physics::{PhysicsWorld};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> src/resources/mod.rs:4:34
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::hash_map::{Entry};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Font`
[INFO] [stdout]  --> src/resources/mod.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics::{Image,Font};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/resources/mod.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ggez::{Context,GameResult,GameError};
[INFO] [stdout]   |                    ^^^^^^^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsWorld`
[INFO] [stdout]   --> src/resources/mod.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::physics::{PhysicsWorld};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/resources/image.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WindowMode`
[INFO] [stdout]  --> src/resources/image.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ggez::conf::{WindowMode};
[INFO] [stdout]   |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsWorld`
[INFO] [stdout]   --> src/resources/image.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::physics::{PhysicsWorld};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entry`
[INFO] [stdout]  --> src/resources/connection.rs:5:34
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::hash_map::{Entry};
[INFO] [stdout]   |                                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/resources/connection.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Font`, `Image`
[INFO] [stdout]  --> src/resources/connection.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ggez::graphics::{Image,Font};
[INFO] [stdout]   |                      ^^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Context`, `GameError`, `GameResult`
[INFO] [stdout]  --> src/resources/connection.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ggez::{Context,GameResult,GameError};
[INFO] [stdout]   |            ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WindowMode`
[INFO] [stdout]  --> src/resources/connection.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use ggez::conf::{WindowMode};
[INFO] [stdout]   |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `World`
[INFO] [stdout]   --> src/resources/connection.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use specs::{World};
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsWorld`
[INFO] [stdout]   --> src/resources/connection.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::physics::{PhysicsWorld};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EmptyConst`
[INFO] [stdout]  --> src/resources/shaders.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ggez::graphics::{Shader,EmptyConst,BlendMode};
[INFO] [stdout]   |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Font`, `Image`
[INFO] [stdout]  --> src/resources/shaders.rs:8:22
[INFO] [stdout]   |
[INFO] [stdout] 8 | use ggez::graphics::{Image,Font};
[INFO] [stdout]   |                      ^^^^^ ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WindowMode`
[INFO] [stdout]   --> src/resources/shaders.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ggez::conf::{WindowMode};
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `World`
[INFO] [stdout]   --> src/resources/shaders.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 | use specs::{World};
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PhysicsWorld`
[INFO] [stdout]   --> src/resources/shaders.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::physics::{PhysicsWorld};
[INFO] [stdout]    |                      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/systems/mod.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use core::time::{Duration};
[INFO] [stdout]   |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/systems/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/systems/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `specs::prelude::*`
[INFO] [stdout]  --> src/systems/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Entities`, `ReadStorage`, `Read`, `System`, `WriteStorage`
[INFO] [stdout]   --> src/systems/mod.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 8  |     Entities,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 9  |     ReadStorage, WriteStorage, System, //VecStorage, 
[INFO] [stdout]    |     ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 10 |     Read,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Context`
[INFO] [stdout]  --> src/systems/input.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::{Context};
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wrapped2d::b2`
[INFO] [stdout]  --> src/systems/input.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use wrapped2d::b2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldAction`
[INFO] [stdout]  --> src/systems/input.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::resources::{InputResource,WorldAction,GameStateResource};
[INFO] [stdout]   |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::components::*`
[INFO] [stdout]  --> src/systems/input.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CollisionCategory`
[INFO] [stdout]   --> src/systems/input.rs:12:22
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::physics::{CollisionCategory};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::*`
[INFO] [stdout]  --> src/systems/interactor.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::collections::hash_map::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/systems/interactor.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/systems/interactor.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldExt`
[INFO] [stdout]  --> src/systems/interactor.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use specs::{WorldExt};
[INFO] [stdout]   |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Point2`, `Vector2`, `distance_squared`, `distance`
[INFO] [stdout]  --> src/systems/interactor.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 | use ggez::nalgebra::{Point2,Vector2,distance,distance_squared};
[INFO] [stdout]   |                      ^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InputResource`
[INFO] [stdout]  --> src/systems/interactor.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::resources::{InputResource,GameStateResource};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::physics`
[INFO] [stdout]   --> src/systems/interactor.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::physics;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/interactor.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 5  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 59 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `specs::Join`
[INFO] [stdout]   --> src/systems/interactor.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameState`, `RunningState`
[INFO] [stdout]  --> src/systems/logic.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::game_state::{GameState,RunningState};
[INFO] [stdout]   |                         ^^^^^^^^^ ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InputResource`, `WorldAction`
[INFO] [stdout]  --> src/systems/logic.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::resources::{InputResource,WorldAction,GameStateResource};
[INFO] [stdout]   |                        ^^^^^^^^^^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Join` is imported redundantly
[INFO] [stdout]   --> src/systems/logic.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 4  | use specs::prelude::*;
[INFO] [stdout]    |     ----------------- the item `Join` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 29 |         use specs::Join;
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entity`
[INFO] [stdout]  --> src/world.rs:2:30
[INFO] [stdout]   |
[INFO] [stdout] 2 | use specs::{World, WorldExt, Entity, Builder}; // Builder, Component, ReadStorage, System, VecStorage, RunNow
[INFO] [stdout]   |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude::*`
[INFO] [stdout]  --> src/world.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Position`, `Velocity`
[INFO] [stdout]  --> src/world.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::components::{Position, Velocity,register_components};
[INFO] [stdout]   |                         ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SpriteConfig`, `SpriteLayer`
[INFO] [stdout]  --> src/world.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::components::sprite::{SpriteLayer,SpriteConfig};
[INFO] [stdout]   |                                 ^^^^^^^^^^^ ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlatformBuilder`
[INFO] [stdout]  --> src/world.rs:9:33
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::entities::platform::{PlatformBuilder};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SuriBuilder`
[INFO] [stdout]   --> src/world.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::entities::suri::{SuriBuilder};
[INFO] [stdout]    |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GhostBuilder`
[INFO] [stdout]   --> src/world.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::entities::ghost::{GhostBuilder};
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `UIBuilder`
[INFO] [stdout]   --> src/world.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::entities::ui::{UIBuilder};
[INFO] [stdout]    |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InterActorSys`
[INFO] [stdout]   --> src/world.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::systems::interactor::{InterActorSys};
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameError`
[INFO] [stdout]  --> src/render.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Scale`
[INFO] [stdout]  --> src/render.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics::{Color,DrawParam,Scale,set_window_title};
[INFO] [stdout]   |                                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `System`, `WriteStorage`
[INFO] [stdout]  --> src/render.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | use specs::{Entity,World,WorldExt,System,WriteStorage};
[INFO] [stdout]   |                                   ^^^^^^ ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/render/level.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/render/level.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `Scale`, `set_window_title`
[INFO] [stdout]  --> src/render/level.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics::{Color,DrawParam,Scale,set_window_title};
[INFO] [stdout]   |                      ^^^^^           ^^^^^ ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/render/dialog.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `set_window_title`
[INFO] [stdout]  --> src/render/dialog.rs:6:44
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics::{Color,DrawParam,Scale,set_window_title};
[INFO] [stdout]   |                                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameError`, `GameResult`
[INFO] [stdout]  --> src/render/paused.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ggez::{Context, GameResult, GameError};
[INFO] [stdout]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::graphics`
[INFO] [stdout]  --> src/render/paused.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::graphics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ggez::nalgebra as na`
[INFO] [stdout]  --> src/render/paused.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ggez::nalgebra as na;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color`, `DrawParam`, `Scale`, `set_window_title`
[INFO] [stdout]  --> src/render/paused.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ggez::graphics::{Color,DrawParam,Scale,set_window_title};
[INFO] [stdout]   |                      ^^^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Velocity`
[INFO] [stdout]   --> src/render.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::components::{Position,Velocity,RenderTrait};
[INFO] [stdout]    |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `LevelItem`
[INFO] [stdout]   --> src/render.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::entities::level_builder::{LevelItem};
[INFO] [stdout]    |                                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/render.rs:330:123
[INFO] [stdout]     |
[INFO] [stdout] 330 |     fn render_item(ctx: &mut Context, world: &World, entity: Entity, pt: &na::Point2<f32>, item_index: u32, render_item: &RenderTrait) {
[INFO] [stdout]     |                                                                                                                           ^^^^^^^^^^^ help: use `dyn`: `dyn RenderTrait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Axis`
[INFO] [stdout]  --> src/input.rs:4:35
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ggez::event::{KeyCode,KeyMods,Axis,Button,GamepadId};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldExt`
[INFO] [stdout]  --> src/input.rs:5:20
[INFO] [stdout]   |
[INFO] [stdout] 5 | use specs::{World, WorldExt};
[INFO] [stdout]   |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldAction`
[INFO] [stdout]  --> src/input.rs:7:38
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::resources::{InputResource,WorldAction};
[INFO] [stdout]   |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MeowBuilder`
[INFO] [stdout]  --> src/input.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::entities::meow::{MeowBuilder};
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldAction`
[INFO] [stdout]   --> src/game_state.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::resources::{InputResource,WorldAction,GameStateResource};
[INFO] [stdout]    |                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Velocity`
[INFO] [stdout]   --> src/game_state.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::components::{Position,Velocity};
[INFO] [stdout]    |                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InterActorSys`
[INFO] [stdout]   --> src/game_state.rs:33:22
[INFO] [stdout]    |
[INFO] [stdout] 33 | use crate::systems::{InterActorSys,InputSystem};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_dispatcher`
[INFO] [stdout]   --> src/game_state.rs:35:33
[INFO] [stdout]    |
[INFO] [stdout] 35 | use crate::world::{create_world,create_dispatcher};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GhostBuilder`
[INFO] [stdout]   --> src/game_state.rs:37:30
[INFO] [stdout]    |
[INFO] [stdout] 37 | use crate::entities::ghost::{GhostBuilder};
[INFO] [stdout]    |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlatformBuilder`
[INFO] [stdout]   --> src/game_state.rs:39:33
[INFO] [stdout]    |
[INFO] [stdout] 39 | use crate::entities::platform::{PlatformBuilder};
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BoxBuilder`
[INFO] [stdout]   --> src/game_state.rs:40:34
[INFO] [stdout]    |
[INFO] [stdout] 40 | use crate::entities::empty_box::{BoxBuilder};
[INFO] [stdout]    |                                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PhysicsBodyHandle`, `PhysicsBody`
[INFO] [stdout]   --> src/game_state.rs:42:36
[INFO] [stdout]    |
[INFO] [stdout] 42 | use crate::physics::{PhysicsWorld, PhysicsBody, PhysicsBodyHandle};
[INFO] [stdout]    |                                    ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `MouseInput`
[INFO] [stdout]   --> src/game_state.rs:44:29
[INFO] [stdout]    |
[INFO] [stdout] 44 | use crate::input::{InputMap,MouseInput,InputKey};
[INFO] [stdout]    |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Builder`
[INFO] [stdout]  --> src/world.rs:2:38
[INFO] [stdout]   |
[INFO] [stdout] 2 | use specs::{World, WorldExt, Entity, Builder}; // Builder, Component, ReadStorage, System, VecStorage, RunNow
[INFO] [stdout]   |                                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::prelude`
[INFO] [stdout]   --> src/render.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/render.rs:283:13
[INFO] [stdout]     |
[INFO] [stdout] 283 |             _ => {}
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/input.rs:297:17
[INFO] [stdout]     |
[INFO] [stdout] 297 |                 _ => {}
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/input.rs:323:17
[INFO] [stdout]     |
[INFO] [stdout] 323 |                 _ => {}
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/conf.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let config: T = match from_reader(f) {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/conf.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_order`
[INFO] [stdout]   --> src/entities/platform.rs:72:46
[INFO] [stdout]    |
[INFO] [stdout] 72 |         width: f32, height: f32, angle: f32, z_order: f32) -> Entity {
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `npc`
[INFO] [stdout]   --> src/entities/empty_box.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let npc = NpcComponent::new();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_npc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_order`
[INFO] [stdout]   --> src/entities/empty_box.rs:81:46
[INFO] [stdout]    |
[INFO] [stdout] 81 |         width: f32, height: f32, angle: f32, z_order: f32) -> Entity {
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `joint_handle`
[INFO] [stdout]    --> src/entities/button.rs:101:17
[INFO] [stdout]     |
[INFO] [stdout] 101 |             let joint_handle = Self::build_joint(physics_world, &mut collision, 0.25, 0.4, height, &body_handle, &trigger_handle);
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_joint_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off_y`
[INFO] [stdout]    --> src/entities/button.rs:153:13
[INFO] [stdout]     |
[INFO] [stdout] 153 |         let off_y = create_size(bottom_offset.y);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_off_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `off_y`
[INFO] [stdout]    --> src/entities/button.rs:207:17
[INFO] [stdout]     |
[INFO] [stdout] 207 |             let off_y = create_size(bottom_offset.y);
[INFO] [stdout]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_off_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `collision`
[INFO] [stdout]    --> src/entities/button.rs:233:50
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn build_joint(world: &mut PhysicsWorld, collision: &mut Collision, density: f32, restitution: f32, height: f32,
[INFO] [stdout]     |                                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collision`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `density`
[INFO] [stdout]    --> src/entities/button.rs:233:77
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn build_joint(world: &mut PhysicsWorld, collision: &mut Collision, density: f32, restitution: f32, height: f32,
[INFO] [stdout]     |                                                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_density`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `restitution`
[INFO] [stdout]    --> src/entities/button.rs:233:91
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn build_joint(world: &mut PhysicsWorld, collision: &mut Collision, density: f32, restitution: f32, height: f32,
[INFO] [stdout]     |                                                                                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_restitution`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_order`
[INFO] [stdout]   --> src/entities/mouse.rs:26:46
[INFO] [stdout]    |
[INFO] [stdout] 26 |         width: f32, height: f32, angle: f32, z_order: f32) -> Entity {
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]   --> src/entities/ghost.rs:18:133
[INFO] [stdout]    |
[INFO] [stdout] 18 | ...x: f32, y: f32, vx: f32, vy: f32, m: f32, fric: f32, dim_1: f32, dim_2: f32) -> Entity {
[INFO] [stdout]    |                                      ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fric`
[INFO] [stdout]   --> src/entities/ghost.rs:18:141
[INFO] [stdout]    |
[INFO] [stdout] 18 | ...f32, vx: f32, vy: f32, m: f32, fric: f32, dim_1: f32, dim_2: f32) -> Entity {
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_fric`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z_order`
[INFO] [stdout]   --> src/entities/bowl.rs:64:46
[INFO] [stdout]    |
[INFO] [stdout] 64 |         width: f32, height: f32, angle: f32, z_order: f32) -> Entity {
[INFO] [stdout]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_order`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn_type`
[INFO] [stdout]    --> src/entities/level_builder.rs:190:51
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 LevelItem::Connection { from, to, conn_type } => {
[INFO] [stdout]     |                                                   ^^^^^^^^^ help: try ignoring the field: `conn_type: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `fixture`
[INFO] [stdout]    --> src/physics.rs:233:9
[INFO] [stdout]     |
[INFO] [stdout] 233 |     let fixture = body.fixture(fixture_handle);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fixture`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]    --> src/physics.rs:469:49
[INFO] [stdout]     |
[INFO] [stdout] 469 |     for (mut collision, mut character, mut npc, ent) in (&mut phys_writer, (&mut char_writer).maybe(),(&mut npc_writer).maybe(), &entitie...
[INFO] [stdout]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `existing_portal` is assigned to, but never used
[INFO] [stdout]    --> src/physics.rs:558:13
[INFO] [stdout]     |
[INFO] [stdout] 558 |         let mut existing_portal = -1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_existing_portal` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `existing_portal` is never read
[INFO] [stdout]    --> src/physics.rs:563:13
[INFO] [stdout]     |
[INFO] [stdout] 563 |             existing_portal = collision.portal_id;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]    --> src/physics.rs:713:34
[INFO] [stdout]     |
[INFO] [stdout] 713 |     for (mut collision, mut pos, ent) in (&mut phys_writer, &mut pos_writer, &entities).join() {
[INFO] [stdout]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta_seconds`
[INFO] [stdout]    --> src/physics.rs:707:78
[INFO] [stdout]     |
[INFO] [stdout] 707 | fn post_advance_physics(world: &mut World, physics_world: &mut PhysicsWorld, delta_seconds: f32) {
[INFO] [stdout]     |                                                                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_seconds`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/components/mod.rs:99:20
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]   --> src/components/mod.rs:99:39
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stdout]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/components/mod.rs:99:54
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stdout]    |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/components/mod.rs:99:72
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stdout]    |                                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_index`
[INFO] [stdout]   --> src/components/mod.rs:99:96
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_delta`
[INFO] [stdout]   --> src/components/logic.rs:90:30
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn update(&mut self, time_delta: f32) {
[INFO] [stdout]    |                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/components/sprite.rs:116:16
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn new(ctx: &mut Context, char_img: &String, z_order: f32) -> SpriteComponent {
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/components/sprite.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]    --> src/components/sprite.rs:166:17
[INFO] [stdout]     |
[INFO] [stdout] 166 |             let w = texture.width();
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]    --> src/components/sprite.rs:167:17
[INFO] [stdout]     |
[INFO] [stdout] 167 |             let h = texture.height();
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_index`
[INFO] [stdout]    --> src/components/sprite.rs:139:96
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stdout]     |                                                                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/components/sprite.rs:208:16
[INFO] [stdout]     |
[INFO] [stdout] 208 |     pub fn new(ctx: &mut Context) -> MultiSpriteComponent {
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/components/sprite.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other_body_handle`
[INFO] [stdout]   --> src/components/button.rs:70:26
[INFO] [stdout]    |
[INFO] [stdout] 70 |             if let Some((other_body_handle, joint_handle)) = &joints.nth(0) {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other_body_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/components/player.rs:137:16
[INFO] [stdout]     |
[INFO] [stdout] 137 |     pub fn new(ctx: &mut Context, char_img: &String) -> CharacterDisplayComponent {
[INFO] [stdout]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_delta`
[INFO] [stdout]    --> src/components/player.rs:255:36
[INFO] [stdout]     |
[INFO] [stdout] 255 |     pub fn process_walk(&mut self, time_delta: f32) {
[INFO] [stdout]     |                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_delta`
[INFO] [stdout]    --> src/components/player.rs:281:36
[INFO] [stdout]     |
[INFO] [stdout] 281 |     pub fn process_idle(&mut self, time_delta: f32) {
[INFO] [stdout]     |                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/components/player.rs:627:13
[INFO] [stdout]     |
[INFO] [stdout] 627 |         let time : f32 = {
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gs`
[INFO] [stdout]    --> src/components/player.rs:630:17
[INFO] [stdout]     |
[INFO] [stdout] 630 |             let gs = &*game_state_res;
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_gs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/components/player.rs:633:13
[INFO] [stdout]     |
[INFO] [stdout] 633 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `exhaust_radius`
[INFO] [stdout]    --> src/components/player.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |         let exhaust_radius = 27.0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exhaust_radius`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `self_rot`
[INFO] [stdout]    --> src/components/player.rs:653:13
[INFO] [stdout]     |
[INFO] [stdout] 653 |         let self_rot = self.rot;
[INFO] [stdout]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_self_rot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rect`
[INFO] [stdout]    --> src/components/player.rs:662:19
[INFO] [stdout]     |
[INFO] [stdout] 662 |         if let Ok(rect) = graphics::Mesh::new_circle(
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_rect`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `font`
[INFO] [stdout]    --> src/components/player.rs:734:21
[INFO] [stdout]     |
[INFO] [stdout] 734 |                 let font = image_resources.font;
[INFO] [stdout]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item_index`
[INFO] [stdout]    --> src/components/player.rs:625:96
[INFO] [stdout]     |
[INFO] [stdout] 625 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stdout]     |                                                                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/components/collision.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity_id`
[INFO] [stdout]    --> src/components/collision.rs:360:18
[INFO] [stdout]     |
[INFO] [stdout] 360 |             for (entity_id, collide_type) in &self.body_contacts {
[INFO] [stdout]     |                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `collide_type`
[INFO] [stdout]    --> src/components/collision.rs:360:29
[INFO] [stdout]     |
[INFO] [stdout] 360 |             for (entity_id, collide_type) in &self.body_contacts {
[INFO] [stdout]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collide_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `meta`
[INFO] [stdout]   --> src/components/meow.rs:59:27
[INFO] [stdout]    |
[INFO] [stdout] 59 |             for (fixture, meta) in body.fixtures() {
[INFO] [stdout]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body_movement`
[INFO] [stdout]   --> src/components/npc.rs:60:30
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn update(&mut self, body_movement: na::Vector2::<f32>, time_delta: f32) {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_body_movement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag`
[INFO] [stdout]   --> src/resources/connection.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |         if let Some( (ref val, ref flag)) = self.value_register.get(input_key) {
[INFO] [stdout]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/resources/connection.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 54 |         if let Some( (ref mut val, ref mut flag)) = self.value_register.get_mut(input_key) {
[INFO] [stdout]    |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/resources/connection.rs:62:23
[INFO] [stdout]    |
[INFO] [stdout] 62 |         if let Some( (ref val, ref flag)) = self.value_register.get(input_key) {
[INFO] [stdout]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `in_value` is never read
[INFO] [stdout]   --> src/resources/connection.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut in_value = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/audio.rs:84:34
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn stop_music(&mut self, ctx: &mut Context) {
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/systems/input.rs:31:93
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn handle_npc_input<'a>(&mut self, v: &mut (&mut Collision, &mut NpcComponent, Entity), input: &InputResource,
[INFO] [stdout]    |                                                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/systems/input.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |         ent: &Entities, lazy: &Read<'a, LazyUpdate>, time_delta: f32) {
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lazy`
[INFO] [stdout]   --> src/systems/input.rs:32:25
[INFO] [stdout]    |
[INFO] [stdout] 32 |         ent: &Entities, lazy: &Read<'a, LazyUpdate>, time_delta: f32) {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_lazy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/systems/input.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         ent: &Entities, lazy: &Read<'a, LazyUpdate>, time_delta: f32) {
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lazy`
[INFO] [stdout]   --> src/systems/input.rs:43:25
[INFO] [stdout]    |
[INFO] [stdout] 43 |         ent: &Entities, lazy: &Read<'a, LazyUpdate>, time_delta: f32) {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_lazy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `up_pressed` is assigned to, but never used
[INFO] [stdout]    --> src/systems/input.rs:125:13
[INFO] [stdout]     |
[INFO] [stdout] 125 |         let mut up_pressed = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_up_pressed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `left_pressed` is assigned to, but never used
[INFO] [stdout]    --> src/systems/input.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let mut left_pressed = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_left_pressed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `right_pressed` is assigned to, but never used
[INFO] [stdout]    --> src/systems/input.rs:127:13
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let mut right_pressed = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_right_pressed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `down_pressed` is assigned to, but never used
[INFO] [stdout]    --> src/systems/input.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut down_pressed = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_down_pressed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `fire_pressed` is assigned to, but never used
[INFO] [stdout]    --> src/systems/input.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let mut fire_pressed = false;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_fire_pressed` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `left_pressed` is never read
[INFO] [stdout]    --> src/systems/input.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |             left_pressed = true;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `right_pressed` is never read
[INFO] [stdout]    --> src/systems/input.rs:136:13
[INFO] [stdout]     |
[INFO] [stdout] 136 |             right_pressed = true;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `up_pressed` is never read
[INFO] [stdout]    --> src/systems/input.rs:140:13
[INFO] [stdout]     |
[INFO] [stdout] 140 |             up_pressed = true;
[INFO] [stdout]     |             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `down_pressed` is never read
[INFO] [stdout]    --> src/systems/input.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |             down_pressed = true;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `fire_pressed` is never read
[INFO] [stdout]    --> src/systems/input.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |             fire_pressed = true;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_delta`
[INFO] [stdout]    --> src/systems/input.rs:123:79
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn handle_dialog_input(input: &InputResource, game_state: &GameState, time_delta: f32) -> RunningState {
[INFO] [stdout]     |                                                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/systems/interactor.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/systems/interactor.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stdout]    |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vel`
[INFO] [stdout]   --> src/systems/interactor.rs:58:33
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stdout]    |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `collision`
[INFO] [stdout]   --> src/systems/interactor.rs:58:42
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stdout]    |                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collision`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_res`
[INFO] [stdout]   --> src/systems/interactor.rs:58:53
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stdout]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/systems/interactor.rs:58:63
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stdout]    |                                                               ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_delta`
[INFO] [stdout]   --> src/systems/logic.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |         let time_delta = game_state.delta_seconds;
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/systems/logic.rs:33:33
[INFO] [stdout]    |
[INFO] [stdout] 33 |         for (mut logic, portal, ent) in (&mut logic_res, &portal_res, &entities).join() {
[INFO] [stdout]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/systems/logic.rs:43:33
[INFO] [stdout]    |
[INFO] [stdout] 43 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stdout]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]   --> src/systems/logic.rs:52:25
[INFO] [stdout]    |
[INFO] [stdout] 52 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stdout]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/systems/logic.rs:52:33
[INFO] [stdout]    |
[INFO] [stdout] 52 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stdout]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `active`
[INFO] [stdout]   --> src/systems/logic.rs:55:17
[INFO] [stdout]    |
[INFO] [stdout] 55 |             let active = logic.is_active;
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_active`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/systems/logic.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |         for i in 0..3 {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]   --> src/systems/logic.rs:62:29
[INFO] [stdout]    |
[INFO] [stdout] 62 |             for (mut logic, ent) in (&mut logic_res, &entities).join() {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `flag`
[INFO] [stdout]   --> src/systems/logic.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 |             let flag = connection.get_flagged(input_key);
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/world.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]   --> src/world.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn init_world(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]    |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> src/world.rs:18:34
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn init_world(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physics_world`
[INFO] [stdout]   --> src/world.rs:18:53
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn init_world(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]    |                                                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physics_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/world.rs:137:20
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn empty_world(ctx: &mut Context, world: &mut World, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/world.rs:137:39
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn empty_world(ctx: &mut Context, world: &mut World, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physics_world`
[INFO] [stdout]    --> src/world.rs:137:58
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn empty_world(ctx: &mut Context, world: &mut World, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physics_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `char_in_warp`
[INFO] [stdout]   --> src/render.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut char_in_warp = false;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_char_in_warp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `level_run_time` is assigned to, but never used
[INFO] [stdout]   --> src/render.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut level_run_time : f32 = 0.0;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_level_run_time` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `game_run_time` is never read
[INFO] [stdout]   --> src/render.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let mut game_run_time : f32 = 0.0;        
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `level_run_time` is never read
[INFO] [stdout]   --> src/render.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |             level_run_time = gs_res.level_world_seconds;
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> src/render.rs:222:25
[INFO] [stdout]     |
[INFO] [stdout] 222 |                     let mut dim = shader_ref.send(ctx, crate::resources::Dim {rate: game_run_time});
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/render.rs:338:74
[INFO] [stdout]     |
[INFO] [stdout] 338 |     fn pre_render_list(&self, game_state: &GameState, ctx: &mut Context, world: &World) {
[INFO] [stdout]     |                                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/render.rs:351:51
[INFO] [stdout]     |
[INFO] [stdout] 351 |     fn post_render_list(&self, ctx: &mut Context, world: &World) {
[INFO] [stdout]     |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `w`
[INFO] [stdout]   --> src/render/dialog.rs:49:14
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let (w, h) = (game_state.window_w, game_state.window_h);
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h`
[INFO] [stdout]   --> src/render/dialog.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let (w, h) = (game_state.window_w, game_state.window_h);
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/input.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         ctx: &mut Context,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keymod`
[INFO] [stdout]    --> src/input.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         keymod: KeyMods,) -> Option<InputKey> {
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_keymod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/input.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         ctx: &mut Context,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/input.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 154 |         id: GamepadId) -> Option<InputKey> {
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/input.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         ctx: &mut Context,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keymod`
[INFO] [stdout]    --> src/input.rs:194:9
[INFO] [stdout]     |
[INFO] [stdout] 194 |         keymod: KeyMods,) -> Option<InputKey> {
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_keymod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/input.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         ctx: &mut Context,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/input.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 236 |         id: GamepadId) -> Option<InputKey> {
[INFO] [stdout]     |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/game_state.rs:167:33
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn dim_music(&mut self, ctx: &mut Context) {
[INFO] [stdout]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test`
[INFO] [stdout]    --> src/game_state.rs:405:17
[INFO] [stdout]     |
[INFO] [stdout] 405 |             let test : u16 = rng.gen::<u16>();
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_test`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/game_state.rs:426:41
[INFO] [stdout]     |
[INFO] [stdout] 426 |     pub fn run_dialog_update(&mut self, ctx: &mut Context, time_delta: f32) {
[INFO] [stdout]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_delta`
[INFO] [stdout]    --> src/game_state.rs:426:60
[INFO] [stdout]     |
[INFO] [stdout] 426 |     pub fn run_dialog_update(&mut self, ctx: &mut Context, time_delta: f32) {
[INFO] [stdout]     |                                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `portal_id` is never read
[INFO] [stdout]    --> src/game_state.rs:441:13
[INFO] [stdout]     |
[INFO] [stdout] 441 |         let mut portal_id = -1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ent`
[INFO] [stdout]    --> src/game_state.rs:464:18
[INFO] [stdout]     |
[INFO] [stdout] 464 |             for (ent, mut character_opt, mut npc_opt,  mut pos, mut coll) in 
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `portal_id`
[INFO] [stdout]    --> src/game_state.rs:523:42
[INFO] [stdout]     |
[INFO] [stdout] 523 | ...                   if let Some((portal_id, x, y)) = portal_hash.get(&portal_dest) {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_portal_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/game_state.rs:436:47
[INFO] [stdout]     |
[INFO] [stdout] 436 |     pub fn run_post_physics_update(&mut self, ctx: &mut Context, time_delta: f32) {
[INFO] [stdout]     |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time_delta`
[INFO] [stdout]    --> src/game_state.rs:436:66
[INFO] [stdout]     |
[INFO] [stdout] 436 |     pub fn run_post_physics_update(&mut self, ctx: &mut Context, time_delta: f32) {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/game_state.rs:723:35
[INFO] [stdout]     |
[INFO] [stdout] 723 |     pub fn game_key_up(&mut self, ctx: &mut Context, key: &InputKey) {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/game_state.rs:797:83
[INFO] [stdout]     |
[INFO] [stdout] 797 |     fn mouse_button_down_event(&mut self, ctx: &mut Context, button: MouseButton, x: f32, y: f32) {
[INFO] [stdout]     |                                                                                   ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/game_state.rs:797:91
[INFO] [stdout]     |
[INFO] [stdout] 797 |     fn mouse_button_down_event(&mut self, ctx: &mut Context, button: MouseButton, x: f32, y: f32) {
[INFO] [stdout]     |                                                                                           ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/game_state.rs:815:81
[INFO] [stdout]     |
[INFO] [stdout] 815 |     fn mouse_button_up_event(&mut self, ctx: &mut Context, button: MouseButton, x: f32, y: f32) {
[INFO] [stdout]     |                                                                                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/game_state.rs:815:89
[INFO] [stdout]     |
[INFO] [stdout] 815 |     fn mouse_button_up_event(&mut self, ctx: &mut Context, button: MouseButton, x: f32, y: f32) {
[INFO] [stdout]     |                                                                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `xrel`
[INFO] [stdout]    --> src/game_state.rs:834:74
[INFO] [stdout]     |
[INFO] [stdout] 834 |     fn mouse_motion_event(&mut self, _ctx: &mut Context, x: f32, y: f32, xrel: f32, yrel: f32) {
[INFO] [stdout]     |                                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_xrel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `yrel`
[INFO] [stdout]    --> src/game_state.rs:834:85
[INFO] [stdout]     |
[INFO] [stdout] 834 |     fn mouse_motion_event(&mut self, _ctx: &mut Context, x: f32, y: f32, xrel: f32, yrel: f32) {
[INFO] [stdout]     |                                                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_yrel`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/game_state.rs:838:57
[INFO] [stdout]     |
[INFO] [stdout] 838 |     fn mouse_wheel_event(&mut self, _ctx: &mut Context, x: f32, y: f32) {
[INFO] [stdout]     |                                                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> src/game_state.rs:838:65
[INFO] [stdout]     |
[INFO] [stdout] 838 |     fn mouse_wheel_event(&mut self, _ctx: &mut Context, x: f32, y: f32) {
[INFO] [stdout]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ch`
[INFO] [stdout]     --> src/game_state.rs:1003:56
[INFO] [stdout]      |
[INFO] [stdout] 1003 |     fn text_input_event(&mut self, _ctx: &mut Context, ch: char) {
[INFO] [stdout]      |                                                        ^^ help: if this is intentional, prefix it with an underscore: `_ch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/entities/button.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |         let mut button = ButtonComponent::new(name.clone());
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/entities/ui.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |         if let Some(mut images) = world.get_mut::<ImageResources>() {
[INFO] [stdout]    |                     ----^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/entities/level_builder.rs:193:25
[INFO] [stdout]     |
[INFO] [stdout] 193 |                     let mut connection = &mut *connection_res;
[INFO] [stdout]     |                         ----^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/physics.rs:469:10
[INFO] [stdout]     |
[INFO] [stdout] 469 |     for (mut collision, mut character, mut npc, ent) in (&mut phys_writer, (&mut char_writer).maybe(),(&mut npc_writer).maybe(), &entitie...
[INFO] [stdout]     |          ----^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/physics.rs:469:25
[INFO] [stdout]     |
[INFO] [stdout] 469 |     for (mut collision, mut character, mut npc, ent) in (&mut phys_writer, (&mut char_writer).maybe(),(&mut npc_writer).maybe(), &entitie...
[INFO] [stdout]     |                         ----^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/physics.rs:469:40
[INFO] [stdout]     |
[INFO] [stdout] 469 |     for (mut collision, mut character, mut npc, ent) in (&mut phys_writer, (&mut char_writer).maybe(),(&mut npc_writer).maybe(), &entitie...
[INFO] [stdout]     |                                        ----^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/physics.rs:713:10
[INFO] [stdout]     |
[INFO] [stdout] 713 |     for (mut collision, mut pos, ent) in (&mut phys_writer, &mut pos_writer, &entities).join() {
[INFO] [stdout]     |          ----^^^^^^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/logic.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut logic = LogicComponent {
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/sprite.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |         if let Some(mut images) = world.get_mut::<ImageResources>() {
[INFO] [stdout]    |                     ----^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/sprite.rs:142:13
[INFO] [stdout]     |
[INFO] [stdout] 142 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/sprite.rs:165:19
[INFO] [stdout]     |
[INFO] [stdout] 165 |         if let Ok(mut texture) = texture_ref {
[INFO] [stdout]     |                   ----^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/sprite.rs:221:13
[INFO] [stdout]     |
[INFO] [stdout] 221 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/button.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |         let mut button = ButtonComponent {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/button.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         let mut button = ButtonTriggerComponent {
[INFO] [stdout]     |             ----^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/player.rs:633:13
[INFO] [stdout]     |
[INFO] [stdout] 633 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/collision.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/components/collision.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |             let mut body = physics_world.body_mut(body_handle);
[INFO] [stdout]     |                 ----^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/npc.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let mut npc = NpcComponent {
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/portal.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let mut portal = PortalComponent {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/components/exit.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |         let mut portal = ExitComponent {
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/resources/image.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |         if let Some(mut images) = world.get_mut::<ImageResources>() {
[INFO] [stdout]    |                     ----^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/input.rs:81:17
[INFO] [stdout]    |
[INFO] [stdout] 81 |             let mut y = coll.pos.y;
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/systems/input.rs:168:73
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn run(&mut self, (mut coll, mut char_display, mut npc, game_state, mut input, mut ent, lazy): Self::SystemData) {
[INFO] [stdout]     |                                                                         ----^^^^^
[INFO] [stdout]     |                                                                         |
[INFO] [stdout]     |                                                                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/systems/input.rs:168:84
[INFO] [stdout]     |
[INFO] [stdout] 168 |     fn run(&mut self, (mut coll, mut char_display, mut npc, game_state, mut input, mut ent, lazy): Self::SystemData) {
[INFO] [stdout]     |                                                                                    ----^^^
[INFO] [stdout]     |                                                                                    |
[INFO] [stdout]     |                                                                                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/interactor.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stdout]    |                        ----^^^
[INFO] [stdout]    |                        |
[INFO] [stdout]    |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/interactor.rs:58:33
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stdout]    |                                 ----^^^
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/interactor.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut rng = rand::thread_rng();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/logic.rs:28:55
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn run(&mut self, (mut logic_res, mut portal_res, mut button_res, mut sprite_res, game_state, mut connection, mut entities): Self::Sy...
[INFO] [stdout]    |                                                       ----^^^^^^^^^^
[INFO] [stdout]    |                                                       |
[INFO] [stdout]    |                                                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/logic.rs:28:115
[INFO] [stdout]    |
[INFO] [stdout] 28 | ...ton_res, mut sprite_res, game_state, mut connection, mut entities): Self::SystemData) {
[INFO] [stdout]    |                                                         ----^^^^^^^^
[INFO] [stdout]    |                                                         |
[INFO] [stdout]    |                                                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/logic.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |         for (mut logic, portal, ent) in (&mut logic_res, &portal_res, &entities).join() {
[INFO] [stdout]    |              ----^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/logic.rs:43:14
[INFO] [stdout]    |
[INFO] [stdout] 43 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stdout]    |              ----^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/logic.rs:52:14
[INFO] [stdout]    |
[INFO] [stdout] 52 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stdout]    |              ----^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/logic.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |             for (mut logic, ent) in (&mut logic_res, &entities).join() {
[INFO] [stdout]    |                  ----^^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/logic.rs:78:14
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for (mut logic, ent) in (&mut logic_res, &entities).join() {
[INFO] [stdout]    |              ----^^^^^
[INFO] [stdout]    |              |
[INFO] [stdout]    |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/world.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut rng = rand::thread_rng();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/render.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let mut char_in_warp = false;
[INFO] [stdout]    |             ----^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/render.rs:217:23
[INFO] [stdout]     |
[INFO] [stdout] 217 |             if let Ok(mut texture) = texture_ref {
[INFO] [stdout]     |                       ----^^^^^^^
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/render.rs:222:25
[INFO] [stdout]     |
[INFO] [stdout] 222 |                     let mut dim = shader_ref.send(ctx, crate::resources::Dim {rate: game_run_time});
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/game_state.rs:429:17
[INFO] [stdout]     |
[INFO] [stdout] 429 |             let mut world = &mut self.world;
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `save_ron_config`
[INFO] [stdout]   --> src/conf.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn save_ron_config<'a,T>(config_path: String, config: &T) -> bool
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `build_npc`
[INFO] [stdout]   --> src/entities/suri.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn build_npc(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld, x: f32, y: f32) -> Entity {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `UIBuilder`
[INFO] [stdout]   --> src/entities/ui.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct UIBuilder;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_sprite_paths`
[INFO] [stdout]   --> src/entities/ui.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn get_sprite_paths() -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `init_images`
[INFO] [stdout]   --> src/entities/ui.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn init_images(world: &mut World, ctx: &mut Context) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `build_icon`
[INFO] [stdout]   --> src/entities/ui.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn build_icon(world: &mut World, ctx: &mut Context) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `build_dynamic`
[INFO] [stdout]   --> src/entities/bowl.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn build_dynamic(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld, x: f32, y: f32,
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Player_Ghost`
[INFO] [stdout]   --> src/physics.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     Player_Ghost,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Player_Portal`
[INFO] [stdout]   --> src/physics.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     Player_Portal,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Npc_Level`
[INFO] [stdout]   --> src/physics.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     Npc_Level,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Npc_Portal`
[INFO] [stdout]   --> src/physics.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     Npc_Portal,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Other`
[INFO] [stdout]   --> src/physics.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     Other,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Player`
[INFO] [stdout]   --> src/physics.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     Player,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Platform`
[INFO] [stdout]   --> src/physics.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     Platform,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Ghost`
[INFO] [stdout]   --> src/physics.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     Ghost,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Meow`
[INFO] [stdout]   --> src/physics.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Meow,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Portal`
[INFO] [stdout]   --> src/physics.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     Portal,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Exit`
[INFO] [stdout]   --> src/physics.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     Exit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `get_size`
[INFO] [stdout]    --> src/physics.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub fn get_size(phys_size: f32) -> f32 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `add_kinematic_body_box`
[INFO] [stdout]    --> src/physics.rs:239:8
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub fn add_kinematic_body_box(world: &mut PhysicsWorld, pos: &Point2<f32>, vel: &Vector2<f32>, 
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/components/logic.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn new(frm: String, t: String, cntype: ConnectionType) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update`
[INFO] [stdout]   --> src/components/logic.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn update(&mut self, time_delta: f32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_trigger`
[INFO] [stdout]   --> src/components/button.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn set_trigger(&mut self, trigger_id: i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `FALL_ONLY_SET`
[INFO] [stdout]   --> src/components/player.rs:83:1
[INFO] [stdout]    |
[INFO] [stdout] 83 | const FALL_ONLY_SET : u32 = 2;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `FALL_ONLY_FRAMES`
[INFO] [stdout]   --> src/components/player.rs:84:1
[INFO] [stdout]    |
[INFO] [stdout] 84 | const FALL_ONLY_FRAMES : u32 = 4;
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `update_body_status`
[INFO] [stdout]    --> src/components/player.rs:587:12
[INFO] [stdout]     |
[INFO] [stdout] 587 |     pub fn update_body_status(&mut self, is_standing: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_active`
[INFO] [stdout]    --> src/components/collision.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn set_active(&mut self, physics_world: &mut PhysicsWorld, is_active: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `create_kinematic_body_box_upright`
[INFO] [stdout]    --> src/components/collision.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub fn create_kinematic_body_box_upright(&mut self, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `create_dynamic_body_circle`
[INFO] [stdout]    --> src/components/collision.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn create_dynamic_body_circle(&mut self, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `can_use_portal`
[INFO] [stdout]    --> src/components/collision.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 214 |     pub fn can_use_portal(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `start_jump`
[INFO] [stdout]    --> src/components/npc.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn start_jump(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `init_images`
[INFO] [stdout]   --> src/resources/image.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn init_images(world: &mut World, ctx: &mut Context, paths: &Vec<String>) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `AddCircle`
[INFO] [stdout]   --> src/resources/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     AddCircle,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_jump`
[INFO] [stdout]   --> src/resources/mod.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn set_jump(&mut self, press: bool) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_mouse_x`
[INFO] [stdout]   --> src/resources/mod.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn set_mouse_x(&mut self, mouse_x: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `set_mouse_y`
[INFO] [stdout]   --> src/resources/mod.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn set_mouse_y(&mut self, mouse_y: f32) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `stop_music`
[INFO] [stdout]   --> src/audio.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub fn stop_music(&mut self, ctx: &mut Context) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/systems/interactor.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(physics_world: &'a mut PhysicsWorld) -> InterActorSys<'a> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `POSX_RANGE`
[INFO] [stdout]   --> src/world.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     const POSX_RANGE: f32 = 7000.0;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `POSY_RANGE`
[INFO] [stdout]   --> src/world.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     const POSY_RANGE: f32 = 12000.0;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `VELX_RANGE`
[INFO] [stdout]   --> src/world.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     const VELX_RANGE: f32 = 395.0;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant is never used: `VELY_RANGE`
[INFO] [stdout]   --> src/world.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     const VELY_RANGE: f32 = 375.0;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `empty_world`
[INFO] [stdout]    --> src/world.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub fn empty_world(ctx: &mut Context, world: &mut World, physics_world: &mut PhysicsWorld) {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `create_dispatcher`
[INFO] [stdout]    --> src/world.rs:161:8
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub fn create_dispatcher<'a>() -> Dispatcher<'a,'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/render/paused.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `RenderObjectType`
[INFO] [stdout]   --> src/render.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum RenderObjectType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `run_dialog_update`
[INFO] [stdout]    --> src/game_state.rs:426:12
[INFO] [stdout]     |
[INFO] [stdout] 426 |     pub fn run_dialog_update(&mut self, ctx: &mut Context, time_delta: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `save_level`
[INFO] [stdout]    --> src/game_state.rs:658:12
[INFO] [stdout]     |
[INFO] [stdout] 658 |     pub fn save_level(&self, save_name: String) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/conf.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |             fs::write(&input_path, source);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/entities/ui.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |                     images.load_image(path.clone(), ctx);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/physics.rs:699:13
[INFO] [stdout]     |
[INFO] [stdout] 699 |             world.entities().delete(entity);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/components/sprite.rs:75:17
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 images.load_image(path.clone(), ctx);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/components/sprite.rs:223:12
[INFO] [stdout]     |
[INFO] [stdout] 223 |         if item_index >= 0 && (item_index as usize) < self.sprites.len() {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `typeText` should have a snake case name
[INFO] [stdout]    --> src/components/player.rs:735:21
[INFO] [stdout]     |
[INFO] [stdout] 735 |                 let typeText = String::from("*meow*");
[INFO] [stdout]     |                     ^^^^^^^^ help: convert the identifier to snake case: `type_text`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/resources/mod.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     images.load_image("/overlay.png".to_string(), ctx);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/resources/mod.rs:148:5
[INFO] [stdout]     |
[INFO] [stdout] 148 |     shaders.load_shader("overlay".to_string(), "shaders/overlay_shader".to_string(), ctx);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/resources/mod.rs:149:5
[INFO] [stdout]     |
[INFO] [stdout] 149 |     shaders.load_shader("suri_shader".to_string(), "shaders/suri_shader".to_string(), ctx);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/resources/mod.rs:150:5
[INFO] [stdout]     |
[INFO] [stdout] 150 |     shaders.load_shader("suri_shadow".to_string(), "shaders/suri_shadow".to_string(), ctx);
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/resources/image.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     images.load_image(path.clone(), ctx);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 source.play();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/audio.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     source.play();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/render.rs:192:17
[INFO] [stdout]     |
[INFO] [stdout] 192 | /                 ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 193 | |                     .dest(na::Point2::new(level_bounds.min_x, level_bounds.min_y)) );
[INFO] [stdout]     | |_____________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/render.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 | /                 ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 203 | |                     .dest(na::Point2::new(level_bounds.min_x, level_bounds.min_y)) );
[INFO] [stdout]     | |_____________________________________________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/render.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         graphics::apply_transformations(ctx);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/render.rs:354:9
[INFO] [stdout]     |
[INFO] [stdout] 354 |         graphics::apply_transformations(ctx);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/level.rs:34:25
[INFO] [stdout]    |
[INFO] [stdout] 34 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 35 | |                             .dest(na::Point2::new(x - 5.0, y - 5.0)) );
[INFO] [stdout]    | |_______________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/level.rs:46:25
[INFO] [stdout]    |
[INFO] [stdout] 46 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 47 | |                             .dest(na::Point2::new(x - 5.0, y - 5.0)) );
[INFO] [stdout]    | |_______________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/level.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 60 | |                             .dest(na::Point2::new(*x, *y))
[INFO] [stdout] 61 | |                             .offset(na::Point2::new(*w, *w))
[INFO] [stdout] 62 | |                             
[INFO] [stdout] 63 | |                         );
[INFO] [stdout]    | |__________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/level.rs:75:25
[INFO] [stdout]    |
[INFO] [stdout] 75 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 76 | |                             .dest(na::Point2::<f32>::new(*x, *y)) );
[INFO] [stdout]    | |____________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/level.rs:87:25
[INFO] [stdout]    |
[INFO] [stdout] 87 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 88 | |                             //.dest(na::Point2::new(x - 5.0, y - 5.0)) );
[INFO] [stdout] 89 | |                             .dest(na::Point2::new(*x, *y))
[INFO] [stdout] 90 | |                             .offset(na::Point2::new(0.0, 0.0))
[INFO] [stdout] 91 | |                             .rotation(*angle));
[INFO] [stdout]    | |_______________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/render/level.rs:102:25
[INFO] [stdout]     |
[INFO] [stdout] 102 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()                                
[INFO] [stdout] 103 | |                             .dest(na::Point2::new(*x-*w, *y-*h))
[INFO] [stdout] 104 | |                             .offset(na::Point2::new(*w, *h))
[INFO] [stdout] 105 | |                             .rotation(*ang)
[INFO] [stdout] 106 | |                              );
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/render/level.rs:117:25
[INFO] [stdout]     |
[INFO] [stdout] 117 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()                                
[INFO] [stdout] 118 | |                             .dest(na::Point2::new(*x-*w, *y-*h))
[INFO] [stdout] 119 | |                             .offset(na::Point2::new(*w, *h))
[INFO] [stdout] 120 | |                             .rotation(*ang)
[INFO] [stdout] 121 | |                              );
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/render/level.rs:132:25
[INFO] [stdout]     |
[INFO] [stdout] 132 | /                         ggez::graphics::draw(ctx, &rect, DrawParam::default()                                
[INFO] [stdout] 133 | |                             .dest(na::Point2::new(*x-*w, *y-*h))
[INFO] [stdout] 134 | |                             .offset(na::Point2::new(*w, *h))
[INFO] [stdout] 135 | |                             .rotation(*ang)
[INFO] [stdout] 136 | |                              );
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/dialog.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 | /             ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 61 | |                 .dest(na::Point2::new(cent_x - dialog_w * 0.5, cent_y - dialog_h * 0.5)) );
[INFO] [stdout]    | |___________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/dialog.rs:69:13
[INFO] [stdout]    |
[INFO] [stdout] 69 | /             ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 70 | |                 .dest(na::Point2::new(cent_x - dialog_w * 0.5, cent_y - dialog_h * 0.5)) );
[INFO] [stdout]    | |___________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/render/dialog.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 79 | /             ggez::graphics::draw(ctx, &rect, DrawParam::default()
[INFO] [stdout] 80 | |                 .dest(na::Point2::new(cent_x - 3.0 - dialog_w * 0.5, cent_y - 3.0 - dialog_h * 0.5)) );
[INFO] [stdout]    | |_______________________________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/game_state.rs:337:21
[INFO] [stdout]     |
[INFO] [stdout] 337 |                     entities.delete(ent);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> src/game_state.rs:1033:9
[INFO] [stdout]      |
[INFO] [stdout] 1033 |         ggez::graphics::set_screen_coordinates(ctx, Rect::new(0.0, 0.0, width, height));
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 473 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [optimized + debuginfo] target(s) in 5.63s
[INFO] running `Command { std: "docker" "inspect" "983d859fff236f6007177e4c112188428658f11aa2a47180675fbd62e781b7e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "983d859fff236f6007177e4c112188428658f11aa2a47180675fbd62e781b7e7", kill_on_drop: false }`
[INFO] [stdout] 983d859fff236f6007177e4c112188428658f11aa2a47180675fbd62e781b7e7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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=warn" "-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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] be7219fb4507ca013949e797c75b9d57ec8a862b12693d7337ae3bbe2e183895
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "be7219fb4507ca013949e797c75b9d57ec8a862b12693d7337ae3bbe2e183895", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `ggez::filesystem`
[INFO] [stderr]  --> src/main.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ggez::filesystem;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ContextBuilder`
[INFO] [stderr]  --> src/conf.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ggez::{ContextBuilder};
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `FullscreenType`, `NumSamples`
[INFO] [stderr]  --> src/conf.rs:2:41
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::conf::{WindowSetup,WindowMode,FullscreenType,NumSamples};
[INFO] [stderr]   |                                         ^^^^^^^^^^^^^^ ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameError`, `GameResult`
[INFO] [stderr]  --> src/entities/platform.rs:1:21
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stderr]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics`
[INFO] [stderr]  --> src/entities/platform.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::graphics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Image`
[INFO] [stderr]  --> src/entities/platform.rs:3:22
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ggez::graphics::{Image};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::nalgebra as na`
[INFO] [stderr]  --> src/entities/platform.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ggez::nalgebra as na;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EntityBuilder`
[INFO] [stderr]  --> src/entities/platform.rs:5:28
[INFO] [stderr]   |
[INFO] [stderr] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stderr]   |                            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::conf::*`
[INFO] [stderr]  --> src/entities/platform.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::conf::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameState`
[INFO] [stderr]  --> src/entities/platform.rs:9:25
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::game_state::{GameState};
[INFO] [stderr]   |                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stderr]   --> src/entities/platform.rs:10:24
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SpriteComponent`, `SpriteLayer`
[INFO] [stderr]   --> src/entities/platform.rs:12:33
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer};
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `NpcComponent`
[INFO] [stderr]   --> src/entities/platform.rs:14:30
[INFO] [stderr]    |
[INFO] [stderr] 14 | use crate::components::npc::{NpcComponent};
[INFO] [stderr]    |                              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CharacterDisplayComponent`
[INFO] [stderr]   --> src/entities/platform.rs:15:33
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::components::player::{CharacterDisplayComponent};
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::systems::*`
[INFO] [stderr]   --> src/entities/platform.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::systems::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameError`, `GameResult`
[INFO] [stderr]  --> src/entities/empty_box.rs:1:21
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stderr]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics`
[INFO] [stderr]  --> src/entities/empty_box.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::graphics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Image`
[INFO] [stderr]  --> src/entities/empty_box.rs:3:22
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ggez::graphics::{Image};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EntityBuilder`
[INFO] [stderr]  --> src/entities/empty_box.rs:5:28
[INFO] [stderr]   |
[INFO] [stderr] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stderr]   |                            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::conf::*`
[INFO] [stderr]  --> src/entities/empty_box.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::conf::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameState`
[INFO] [stderr]   --> src/entities/empty_box.rs:10:25
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::game_state::{GameState};
[INFO] [stderr]    |                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stderr]   --> src/entities/empty_box.rs:11:24
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SpriteComponent`
[INFO] [stderr]   --> src/entities/empty_box.rs:13:33
[INFO] [stderr]    |
[INFO] [stderr] 13 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer,MultiSpriteComponent};
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CharacterDisplayComponent`
[INFO] [stderr]   --> src/entities/empty_box.rs:16:33
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::components::player::{CharacterDisplayComponent};
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::systems::*`
[INFO] [stderr]   --> src/entities/empty_box.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use crate::systems::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameError`, `GameResult`
[INFO] [stderr]  --> src/entities/button.rs:1:21
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stderr]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics`
[INFO] [stderr]  --> src/entities/button.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::graphics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Image`
[INFO] [stderr]  --> src/entities/button.rs:3:22
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ggez::graphics::{Image};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EntityBuilder`
[INFO] [stderr]  --> src/entities/button.rs:5:28
[INFO] [stderr]   |
[INFO] [stderr] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stderr]   |                            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::conf::*`
[INFO] [stderr]  --> src/entities/button.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::conf::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameState`
[INFO] [stderr]   --> src/entities/button.rs:10:25
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::game_state::{GameState};
[INFO] [stderr]    |                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stderr]   --> src/entities/button.rs:11:24
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `MultiSpriteComponent`, `SpriteComponent`
[INFO] [stderr]   --> src/entities/button.rs:14:33
[INFO] [stderr]    |
[INFO] [stderr] 14 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer,MultiSpriteComponent};
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `NpcComponent`
[INFO] [stderr]   --> src/entities/button.rs:16:30
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::components::npc::{NpcComponent};
[INFO] [stderr]    |                              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::systems::*`
[INFO] [stderr]   --> src/entities/button.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use crate::systems::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameError`, `GameResult`
[INFO] [stderr]  --> src/entities/mouse.rs:1:21
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stderr]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics`
[INFO] [stderr]  --> src/entities/mouse.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::graphics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Image`
[INFO] [stderr]  --> src/entities/mouse.rs:3:22
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ggez::graphics::{Image};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::nalgebra as na`
[INFO] [stderr]  --> src/entities/mouse.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ggez::nalgebra as na;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EntityBuilder`
[INFO] [stderr]  --> src/entities/mouse.rs:5:28
[INFO] [stderr]   |
[INFO] [stderr] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stderr]   |                            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::conf::*`
[INFO] [stderr]  --> src/entities/mouse.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::conf::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameState`
[INFO] [stderr]   --> src/entities/mouse.rs:10:25
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::game_state::{GameState};
[INFO] [stderr]    |                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stderr]   --> src/entities/mouse.rs:11:24
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SpriteComponent`, `SpriteLayer`
[INFO] [stderr]   --> src/entities/mouse.rs:13:33
[INFO] [stderr]    |
[INFO] [stderr] 13 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer};
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^              ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameError`, `GameResult`
[INFO] [stderr]  --> src/entities/portal_area.rs:1:21
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stderr]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics`
[INFO] [stderr]  --> src/entities/portal_area.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::graphics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Image`
[INFO] [stderr]  --> src/entities/portal_area.rs:3:22
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ggez::graphics::{Image};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::nalgebra as na`
[INFO] [stderr]  --> src/entities/portal_area.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ggez::nalgebra as na;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Entities`, `EntityBuilder`
[INFO] [stderr]  --> src/entities/portal_area.rs:5:28
[INFO] [stderr]   |
[INFO] [stderr] 5 | use specs::{Builder,Entity,Entities,EntityBuilder,World,WorldExt};
[INFO] [stderr]   |                            ^^^^^^^^ ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameState`
[INFO] [stderr]  --> src/entities/portal_area.rs:8:25
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::game_state::{GameState};
[INFO] [stderr]   |                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameStateResource`
[INFO] [stderr]  --> src/entities/portal_area.rs:9:24
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::resources::{GameStateResource};
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameError`, `GameResult`
[INFO] [stderr]  --> src/entities/exit.rs:1:21
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stderr]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics`
[INFO] [stderr]  --> src/entities/exit.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::graphics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Image`
[INFO] [stderr]  --> src/entities/exit.rs:3:22
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ggez::graphics::{Image};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::nalgebra as na`
[INFO] [stderr]  --> src/entities/exit.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ggez::nalgebra as na;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Entities`, `EntityBuilder`
[INFO] [stderr]  --> src/entities/exit.rs:5:28
[INFO] [stderr]   |
[INFO] [stderr] 5 | use specs::{Builder,Entity,Entities,EntityBuilder,World,WorldExt};
[INFO] [stderr]   |                            ^^^^^^^^ ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameState`
[INFO] [stderr]  --> src/entities/exit.rs:8:25
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::game_state::{GameState};
[INFO] [stderr]   |                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameStateResource`
[INFO] [stderr]  --> src/entities/exit.rs:9:24
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::resources::{GameStateResource};
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ImageResources`
[INFO] [stderr]   --> src/entities/ghost.rs:10:24
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::resources::{ImageResources};
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameError`, `GameResult`
[INFO] [stderr]  --> src/entities/suri.rs:1:21
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stderr]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics`
[INFO] [stderr]  --> src/entities/suri.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::graphics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Image`
[INFO] [stderr]  --> src/entities/suri.rs:3:22
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ggez::graphics::{Image};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::nalgebra as na`
[INFO] [stderr]  --> src/entities/suri.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ggez::nalgebra as na;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EntityBuilder`
[INFO] [stderr]  --> src/entities/suri.rs:5:28
[INFO] [stderr]   |
[INFO] [stderr] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stderr]   |                            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wrapped2d::user_data::*`
[INFO] [stderr]  --> src/entities/suri.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use wrapped2d::user_data::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameState`
[INFO] [stderr]  --> src/entities/suri.rs:9:25
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::game_state::{GameState};
[INFO] [stderr]   |                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stderr]   --> src/entities/suri.rs:10:24
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SpriteComponent`
[INFO] [stderr]   --> src/entities/suri.rs:12:33
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::components::sprite::{SpriteComponent,SpriteConfig};
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::systems::*`
[INFO] [stderr]   --> src/entities/suri.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 | use crate::systems::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameError`, `GameResult`
[INFO] [stderr]  --> src/entities/meow.rs:1:21
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stderr]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics`
[INFO] [stderr]  --> src/entities/meow.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::graphics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Image`
[INFO] [stderr]  --> src/entities/meow.rs:3:22
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ggez::graphics::{Image};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::nalgebra as na`
[INFO] [stderr]  --> src/entities/meow.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ggez::nalgebra as na;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Entities`, `EntityBuilder`
[INFO] [stderr]  --> src/entities/meow.rs:5:28
[INFO] [stderr]   |
[INFO] [stderr] 5 | use specs::{Builder,Entity,Entities,EntityBuilder,World,WorldExt};
[INFO] [stderr]   |                            ^^^^^^^^ ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameState`
[INFO] [stderr]  --> src/entities/meow.rs:8:25
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::game_state::{GameState};
[INFO] [stderr]   |                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameStateResource`
[INFO] [stderr]  --> src/entities/meow.rs:9:24
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::resources::{GameStateResource};
[INFO] [stderr]   |                        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::systems::*`
[INFO] [stderr]   --> src/entities/meow.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use crate::systems::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Entity`
[INFO] [stderr]  --> src/entities/ui.rs:4:21
[INFO] [stderr]   |
[INFO] [stderr] 4 | use specs::{Builder,Entity,World,WorldExt};
[INFO] [stderr]   |                     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Collision`
[INFO] [stderr]  --> src/entities/ui.rs:9:36
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::components::collision::{Collision};
[INFO] [stderr]   |                                    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `CollisionCategory`, `PhysicsWorld`
[INFO] [stderr]   --> src/entities/ui.rs:11:22
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::physics::{PhysicsWorld,CollisionCategory};
[INFO] [stderr]    |                      ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around `if` condition
[INFO] [stderr]   --> src/entities/ui.rs:27:20
[INFO] [stderr]    |
[INFO] [stderr] 27 |                 if (!has_image) {
[INFO] [stderr]    |                    ^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameError`, `GameResult`
[INFO] [stderr]  --> src/entities/bowl.rs:1:21
[INFO] [stderr]   |
[INFO] [stderr] 1 | use ggez::{Context, GameResult, GameError};
[INFO] [stderr]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics`
[INFO] [stderr]  --> src/entities/bowl.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::graphics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Image`
[INFO] [stderr]  --> src/entities/bowl.rs:3:22
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ggez::graphics::{Image};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::nalgebra as na`
[INFO] [stderr]  --> src/entities/bowl.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ggez::nalgebra as na;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EntityBuilder`
[INFO] [stderr]  --> src/entities/bowl.rs:5:28
[INFO] [stderr]   |
[INFO] [stderr] 5 | use specs::{Builder,Entity,EntityBuilder,World,WorldExt};
[INFO] [stderr]   |                            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::conf::*`
[INFO] [stderr]  --> src/entities/bowl.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::conf::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameState`
[INFO] [stderr]  --> src/entities/bowl.rs:9:25
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::game_state::{GameState};
[INFO] [stderr]   |                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameStateResource`, `ImageResources`
[INFO] [stderr]   --> src/entities/bowl.rs:10:24
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::resources::{GameStateResource,ImageResources};
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SpriteComponent`
[INFO] [stderr]   --> src/entities/bowl.rs:12:33
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::components::sprite::{SpriteComponent,SpriteConfig,SpriteLayer};
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CharacterDisplayComponent`
[INFO] [stderr]   --> src/entities/bowl.rs:14:33
[INFO] [stderr]    |
[INFO] [stderr] 14 | use crate::components::player::{CharacterDisplayComponent};
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::systems::*`
[INFO] [stderr]   --> src/entities/bowl.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::systems::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Collision`
[INFO] [stderr]   --> src/entities/level_builder.rs:20:36
[INFO] [stderr]    |
[INFO] [stderr] 20 | use crate::components::collision::{Collision};
[INFO] [stderr]    |                                    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ImageResources`
[INFO] [stderr]   --> src/entities/level_builder.rs:21:24
[INFO] [stderr]    |
[INFO] [stderr] 21 | use crate::resources::{ImageResources};
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CollisionCategory`
[INFO] [stderr]   --> src/entities/level_builder.rs:23:35
[INFO] [stderr]    |
[INFO] [stderr] 23 | use crate::physics::{PhysicsWorld,CollisionCategory};
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `distance_squared`, `distance`
[INFO] [stderr]  --> src/physics.rs:3:25
[INFO] [stderr]   |
[INFO] [stderr] 3 | use na::{Point2,Vector2,distance_squared,distance};
[INFO] [stderr]   |                         ^^^^^^^^^^^^^^^^ ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `MetaBody`
[INFO] [stderr]  --> src/physics.rs:9:33
[INFO] [stderr]   |
[INFO] [stderr] 9 | use wrapped2d::dynamics::body::{MetaBody};
[INFO] [stderr]   |                                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Player_Level` should have an upper camel case name
[INFO] [stderr]   --> src/physics.rs:47:5
[INFO] [stderr]    |
[INFO] [stderr] 47 |     Player_Level,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlayerLevel`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Player_Ghost` should have an upper camel case name
[INFO] [stderr]   --> src/physics.rs:48:5
[INFO] [stderr]    |
[INFO] [stderr] 48 |     Player_Ghost,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlayerGhost`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Player_Portal` should have an upper camel case name
[INFO] [stderr]   --> src/physics.rs:49:5
[INFO] [stderr]    |
[INFO] [stderr] 49 |     Player_Portal,
[INFO] [stderr]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlayerPortal`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Npc_Level` should have an upper camel case name
[INFO] [stderr]   --> src/physics.rs:50:5
[INFO] [stderr]    |
[INFO] [stderr] 50 |     Npc_Level,
[INFO] [stderr]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `NpcLevel`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Npc_Portal` should have an upper camel case name
[INFO] [stderr]   --> src/physics.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 |     Npc_Portal,
[INFO] [stderr]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `NpcPortal`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Collider_Portal` should have an upper camel case name
[INFO] [stderr]   --> src/physics.rs:52:5
[INFO] [stderr]    |
[INFO] [stderr] 52 |     Collider_Portal,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ColliderPortal`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Ghost_Meow` should have an upper camel case name
[INFO] [stderr]   --> src/physics.rs:53:5
[INFO] [stderr]    |
[INFO] [stderr] 53 |     Ghost_Meow,
[INFO] [stderr]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `GhostMeow`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/physics.rs:517:45
[INFO] [stderr]     |
[INFO] [stderr] 517 | pub fn set_standing_status(interactor: &mut CharLevelInteractor, is_standing: bool) {
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn CharLevelInteractor`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fmt`
[INFO] [stderr]  --> src/components/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fmt;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameResult`
[INFO] [stderr]  --> src/components/mod.rs:2:20
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::{Context,GameResult};
[INFO] [stderr]   |                    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Entity`
[INFO] [stderr]  --> src/components/mod.rs:4:24
[INFO] [stderr]   |
[INFO] [stderr] 4 | use specs::{ Component,Entity, DenseVecStorage, VecStorage, World, WorldExt};
[INFO] [stderr]   |                        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameState`
[INFO] [stderr]  --> src/components/mod.rs:9:25
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::game_state::{GameState};
[INFO] [stderr]   |                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::nalgebra as na`
[INFO] [stderr]  --> src/components/logic.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::nalgebra as na;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wrapped2d::b2`
[INFO] [stderr]  --> src/components/logic.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use wrapped2d::b2;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::prelude::*`
[INFO] [stderr]  --> src/components/logic.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use rand::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `de::DeserializeOwned`
[INFO] [stderr]  --> src/components/logic.rs:7:25
[INFO] [stderr]   |
[INFO] [stderr] 7 | use serde::{Deserialize,de::DeserializeOwned,Serialize};
[INFO] [stderr]   |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SpriteComponent`
[INFO] [stderr]  --> src/components/logic.rs:9:33
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::components::sprite::{SpriteComponent};
[INFO] [stderr]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Collision`
[INFO] [stderr]   --> src/components/logic.rs:10:36
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::components::collision::{Collision};
[INFO] [stderr]    |                                    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::physics`
[INFO] [stderr]   --> src/components/logic.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::physics;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PhysicsWorld`
[INFO] [stderr]   --> src/components/logic.rs:12:22
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::physics::{PhysicsWorld};
[INFO] [stderr]    |                      ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics`
[INFO] [stderr]  --> src/components/sprite.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ggez::graphics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BlendMode`, `Image`
[INFO] [stderr]  --> src/components/sprite.rs:4:27
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ggez::graphics::{Rect,Image,Color,DrawParam,WrapMode,BlendMode};
[INFO] [stderr]   |                           ^^^^^                          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::prelude::*`
[INFO] [stderr]  --> src/components/sprite.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use rand::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `de::DeserializeOwned`
[INFO] [stderr]   --> src/components/sprite.rs:10:25
[INFO] [stderr]    |
[INFO] [stderr] 10 | use serde::{Deserialize,de::DeserializeOwned};
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::nalgebra as na`
[INFO] [stderr]  --> src/components/button.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::nalgebra as na;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SpriteComponent`
[INFO] [stderr]  --> src/components/button.rs:9:33
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::components::sprite::{SpriteComponent};
[INFO] [stderr]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::physics`
[INFO] [stderr]   --> src/components/button.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::physics;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp`
[INFO] [stderr]  --> src/components/player.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::cmp;
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Color`, `Image`, `ShaderLock`
[INFO] [stderr]  --> src/components/player.rs:4:27
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ggez::graphics::{Rect,Image,Color,DrawParam,ShaderLock};
[INFO] [stderr]   |                           ^^^^^ ^^^^^           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Velocity`
[INFO] [stderr]   --> src/components/player.rs:13:25
[INFO] [stderr]    |
[INFO] [stderr] 13 | use crate::components::{Velocity};
[INFO] [stderr]    |                         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PhysicsBody`
[INFO] [stderr]   --> src/components/player.rs:15:22
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::physics::{PhysicsBody};
[INFO] [stderr]    |                      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `distance`
[INFO] [stderr]  --> src/components/collision.rs:3:37
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ggez::nalgebra::{Point2,Vector2,distance};
[INFO] [stderr]   |                                     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wrapped2d::user_data::NoUserData`
[INFO] [stderr]  --> src/components/collision.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use wrapped2d::user_data::NoUserData;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::prelude::*`
[INFO] [stderr]  --> src/components/collision.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use rand::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PhysicsBody`
[INFO] [stderr]   --> src/components/collision.rs:11:36
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::physics::{PhysicsWorld, PhysicsBody, PhysicsBodyHandle, EntityType, CollisionCategory, CollideType};
[INFO] [stderr]    |                                    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wrapped2d::b2`
[INFO] [stderr]  --> src/components/npc.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use wrapped2d::b2;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SpriteComponent`
[INFO] [stderr]  --> src/components/npc.rs:9:33
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::components::sprite::{SpriteComponent};
[INFO] [stderr]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Collision`
[INFO] [stderr]   --> src/components/npc.rs:10:36
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::components::collision::{Collision};
[INFO] [stderr]    |                                    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PhysicsWorld`
[INFO] [stderr]   --> src/components/npc.rs:12:22
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::physics::{PhysicsWorld};
[INFO] [stderr]    |                      ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::physics`
[INFO] [stderr]   --> src/components/portal.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::physics;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wrapped2d::b2`
[INFO] [stderr]  --> src/components/exit.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use wrapped2d::b2;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SpriteComponent`
[INFO] [stderr]  --> src/components/exit.rs:8:33
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::components::sprite::{SpriteComponent};
[INFO] [stderr]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Collision`
[INFO] [stderr]  --> src/components/exit.rs:9:36
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::components::collision::{Collision};
[INFO] [stderr]   |                                    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::physics`
[INFO] [stderr]   --> src/components/exit.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::physics;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PhysicsWorld`
[INFO] [stderr]   --> src/components/exit.rs:11:22
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::physics::{PhysicsWorld};
[INFO] [stderr]    |                      ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Entry`
[INFO] [stderr]  --> src/resources/mod.rs:4:34
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::hash_map::{Entry};
[INFO] [stderr]   |                                  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Font`
[INFO] [stderr]  --> src/resources/mod.rs:6:28
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ggez::graphics::{Image,Font};
[INFO] [stderr]   |                            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameError`, `GameResult`
[INFO] [stderr]  --> src/resources/mod.rs:7:20
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ggez::{Context,GameResult,GameError};
[INFO] [stderr]   |                    ^^^^^^^^^^ ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PhysicsWorld`
[INFO] [stderr]   --> src/resources/mod.rs:12:22
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::physics::{PhysicsWorld};
[INFO] [stderr]    |                      ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics`
[INFO] [stderr]  --> src/resources/image.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ggez::graphics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `WindowMode`
[INFO] [stderr]  --> src/resources/image.rs:9:18
[INFO] [stderr]   |
[INFO] [stderr] 9 | use ggez::conf::{WindowMode};
[INFO] [stderr]   |                  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PhysicsWorld`
[INFO] [stderr]   --> src/resources/image.rs:13:22
[INFO] [stderr]    |
[INFO] [stderr] 13 | use crate::physics::{PhysicsWorld};
[INFO] [stderr]    |                      ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Entry`
[INFO] [stderr]  --> src/resources/connection.rs:5:34
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::collections::hash_map::{Entry};
[INFO] [stderr]   |                                  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics`
[INFO] [stderr]  --> src/resources/connection.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ggez::graphics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Font`, `Image`
[INFO] [stderr]  --> src/resources/connection.rs:7:22
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ggez::graphics::{Image,Font};
[INFO] [stderr]   |                      ^^^^^ ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Context`, `GameError`, `GameResult`
[INFO] [stderr]  --> src/resources/connection.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | use ggez::{Context,GameResult,GameError};
[INFO] [stderr]   |            ^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `WindowMode`
[INFO] [stderr]  --> src/resources/connection.rs:9:18
[INFO] [stderr]   |
[INFO] [stderr] 9 | use ggez::conf::{WindowMode};
[INFO] [stderr]   |                  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `World`
[INFO] [stderr]   --> src/resources/connection.rs:10:13
[INFO] [stderr]    |
[INFO] [stderr] 10 | use specs::{World};
[INFO] [stderr]    |             ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PhysicsWorld`
[INFO] [stderr]   --> src/resources/connection.rs:13:22
[INFO] [stderr]    |
[INFO] [stderr] 13 | use crate::physics::{PhysicsWorld};
[INFO] [stderr]    |                      ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `EmptyConst`
[INFO] [stderr]  --> src/resources/shaders.rs:7:29
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ggez::graphics::{Shader,EmptyConst,BlendMode};
[INFO] [stderr]   |                             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Font`, `Image`
[INFO] [stderr]  --> src/resources/shaders.rs:8:22
[INFO] [stderr]   |
[INFO] [stderr] 8 | use ggez::graphics::{Image,Font};
[INFO] [stderr]   |                      ^^^^^ ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `WindowMode`
[INFO] [stderr]   --> src/resources/shaders.rs:10:18
[INFO] [stderr]    |
[INFO] [stderr] 10 | use ggez::conf::{WindowMode};
[INFO] [stderr]    |                  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `World`
[INFO] [stderr]   --> src/resources/shaders.rs:11:13
[INFO] [stderr]    |
[INFO] [stderr] 11 | use specs::{World};
[INFO] [stderr]    |             ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PhysicsWorld`
[INFO] [stderr]   --> src/resources/shaders.rs:14:22
[INFO] [stderr]    |
[INFO] [stderr] 14 | use crate::physics::{PhysicsWorld};
[INFO] [stderr]    |                      ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Duration`
[INFO] [stderr]  --> src/systems/mod.rs:2:18
[INFO] [stderr]   |
[INFO] [stderr] 2 | use core::time::{Duration};
[INFO] [stderr]   |                  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::nalgebra as na`
[INFO] [stderr]  --> src/systems/mod.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ggez::nalgebra as na;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::prelude::*`
[INFO] [stderr]  --> src/systems/mod.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rand::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `specs::prelude::*`
[INFO] [stderr]  --> src/systems/mod.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use specs::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Entities`, `ReadStorage`, `Read`, `System`, `WriteStorage`
[INFO] [stderr]   --> src/systems/mod.rs:8:5
[INFO] [stderr]    |
[INFO] [stderr] 8  |     Entities,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 9  |     ReadStorage, WriteStorage, System, //VecStorage, 
[INFO] [stderr]    |     ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^
[INFO] [stderr] 10 |     Read,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Context`
[INFO] [stderr]  --> src/systems/input.rs:2:12
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::{Context};
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wrapped2d::b2`
[INFO] [stderr]  --> src/systems/input.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use wrapped2d::b2;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `WorldAction`
[INFO] [stderr]  --> src/systems/input.rs:7:38
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::resources::{InputResource,WorldAction,GameStateResource};
[INFO] [stderr]   |                                      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::components::*`
[INFO] [stderr]  --> src/systems/input.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::components::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CollisionCategory`
[INFO] [stderr]   --> src/systems/input.rs:12:22
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::physics::{CollisionCategory};
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::hash_map::*`
[INFO] [stderr]  --> src/systems/interactor.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::collections::hash_map::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::nalgebra as na`
[INFO] [stderr]  --> src/systems/interactor.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ggez::nalgebra as na;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::prelude::*`
[INFO] [stderr]  --> src/systems/interactor.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rand::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `WorldExt`
[INFO] [stderr]  --> src/systems/interactor.rs:6:13
[INFO] [stderr]   |
[INFO] [stderr] 6 | use specs::{WorldExt};
[INFO] [stderr]   |             ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Point2`, `Vector2`, `distance_squared`, `distance`
[INFO] [stderr]  --> src/systems/interactor.rs:7:22
[INFO] [stderr]   |
[INFO] [stderr] 7 | use ggez::nalgebra::{Point2,Vector2,distance,distance_squared};
[INFO] [stderr]   |                      ^^^^^^ ^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `InputResource`
[INFO] [stderr]  --> src/systems/interactor.rs:9:24
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::resources::{InputResource,GameStateResource};
[INFO] [stderr]   |                        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::physics`
[INFO] [stderr]   --> src/systems/interactor.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::physics;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `Join` is imported redundantly
[INFO] [stderr]   --> src/systems/interactor.rs:59:13
[INFO] [stderr]    |
[INFO] [stderr] 5  | use specs::prelude::*;
[INFO] [stderr]    |     ----------------- the item `Join` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 59 |         use specs::Join;
[INFO] [stderr]    |             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `specs::Join`
[INFO] [stderr]   --> src/systems/interactor.rs:59:13
[INFO] [stderr]    |
[INFO] [stderr] 59 |         use specs::Join;
[INFO] [stderr]    |             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameState`, `RunningState`
[INFO] [stderr]  --> src/systems/logic.rs:7:25
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::game_state::{GameState,RunningState};
[INFO] [stderr]   |                         ^^^^^^^^^ ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `InputResource`, `WorldAction`
[INFO] [stderr]  --> src/systems/logic.rs:8:24
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::resources::{InputResource,WorldAction,GameStateResource};
[INFO] [stderr]   |                        ^^^^^^^^^^^^^ ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the item `Join` is imported redundantly
[INFO] [stderr]   --> src/systems/logic.rs:29:13
[INFO] [stderr]    |
[INFO] [stderr] 4  | use specs::prelude::*;
[INFO] [stderr]    |     ----------------- the item `Join` is already imported here
[INFO] [stderr] ...
[INFO] [stderr] 29 |         use specs::Join;
[INFO] [stderr]    |             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Entity`
[INFO] [stderr]  --> src/world.rs:2:30
[INFO] [stderr]   |
[INFO] [stderr] 2 | use specs::{World, WorldExt, Entity, Builder}; // Builder, Component, ReadStorage, System, VecStorage, RunNow
[INFO] [stderr]   |                              ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::prelude::*`
[INFO] [stderr]  --> src/world.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rand::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Position`, `Velocity`
[INFO] [stderr]  --> src/world.rs:7:25
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::components::{Position, Velocity,register_components};
[INFO] [stderr]   |                         ^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `SpriteConfig`, `SpriteLayer`
[INFO] [stderr]  --> src/world.rs:8:33
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::components::sprite::{SpriteLayer,SpriteConfig};
[INFO] [stderr]   |                                 ^^^^^^^^^^^ ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PlatformBuilder`
[INFO] [stderr]  --> src/world.rs:9:33
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::entities::platform::{PlatformBuilder};
[INFO] [stderr]   |                                 ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SuriBuilder`
[INFO] [stderr]   --> src/world.rs:10:29
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::entities::suri::{SuriBuilder};
[INFO] [stderr]    |                             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GhostBuilder`
[INFO] [stderr]   --> src/world.rs:11:30
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::entities::ghost::{GhostBuilder};
[INFO] [stderr]    |                              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `UIBuilder`
[INFO] [stderr]   --> src/world.rs:12:27
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::entities::ui::{UIBuilder};
[INFO] [stderr]    |                           ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `InterActorSys`
[INFO] [stderr]   --> src/world.rs:14:34
[INFO] [stderr]    |
[INFO] [stderr] 14 | use crate::systems::interactor::{InterActorSys};
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GameError`
[INFO] [stderr]  --> src/render.rs:2:33
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::{Context, GameResult, GameError};
[INFO] [stderr]   |                                 ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Scale`
[INFO] [stderr]  --> src/render.rs:6:38
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ggez::graphics::{Color,DrawParam,Scale,set_window_title};
[INFO] [stderr]   |                                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `System`, `WriteStorage`
[INFO] [stderr]  --> src/render.rs:8:35
[INFO] [stderr]   |
[INFO] [stderr] 8 | use specs::{Entity,World,WorldExt,System,WriteStorage};
[INFO] [stderr]   |                                   ^^^^^^ ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameError`, `GameResult`
[INFO] [stderr]  --> src/render/level.rs:2:21
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::{Context, GameResult, GameError};
[INFO] [stderr]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics`
[INFO] [stderr]  --> src/render/level.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ggez::graphics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Color`, `Scale`, `set_window_title`
[INFO] [stderr]  --> src/render/level.rs:6:22
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ggez::graphics::{Color,DrawParam,Scale,set_window_title};
[INFO] [stderr]   |                      ^^^^^           ^^^^^ ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameError`, `GameResult`
[INFO] [stderr]  --> src/render/dialog.rs:2:21
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::{Context, GameResult, GameError};
[INFO] [stderr]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `set_window_title`
[INFO] [stderr]  --> src/render/dialog.rs:6:44
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ggez::graphics::{Color,DrawParam,Scale,set_window_title};
[INFO] [stderr]   |                                            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GameError`, `GameResult`
[INFO] [stderr]  --> src/render/paused.rs:2:21
[INFO] [stderr]   |
[INFO] [stderr] 2 | use ggez::{Context, GameResult, GameError};
[INFO] [stderr]   |                     ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::graphics`
[INFO] [stderr]  --> src/render/paused.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ggez::graphics;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ggez::nalgebra as na`
[INFO] [stderr]  --> src/render/paused.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use ggez::nalgebra as na;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Color`, `DrawParam`, `Scale`, `set_window_title`
[INFO] [stderr]  --> src/render/paused.rs:6:22
[INFO] [stderr]   |
[INFO] [stderr] 6 | use ggez::graphics::{Color,DrawParam,Scale,set_window_title};
[INFO] [stderr]   |                      ^^^^^ ^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Velocity`
[INFO] [stderr]   --> src/render.rs:19:34
[INFO] [stderr]    |
[INFO] [stderr] 19 | use crate::components::{Position,Velocity,RenderTrait};
[INFO] [stderr]    |                                  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `LevelItem`
[INFO] [stderr]   --> src/render.rs:23:38
[INFO] [stderr]    |
[INFO] [stderr] 23 | use crate::entities::level_builder::{LevelItem};
[INFO] [stderr]    |                                      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/render.rs:330:123
[INFO] [stderr]     |
[INFO] [stderr] 330 |     fn render_item(ctx: &mut Context, world: &World, entity: Entity, pt: &na::Point2<f32>, item_index: u32, render_item: &RenderTrait) {
[INFO] [stderr]     |                                                                                                                           ^^^^^^^^^^^ help: use `dyn`: `dyn RenderTrait`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Axis`
[INFO] [stderr]  --> src/input.rs:4:35
[INFO] [stderr]   |
[INFO] [stderr] 4 | use ggez::event::{KeyCode,KeyMods,Axis,Button,GamepadId};
[INFO] [stderr]   |                                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `WorldExt`
[INFO] [stderr]  --> src/input.rs:5:20
[INFO] [stderr]   |
[INFO] [stderr] 5 | use specs::{World, WorldExt};
[INFO] [stderr]   |                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `WorldAction`
[INFO] [stderr]  --> src/input.rs:7:38
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::resources::{InputResource,WorldAction};
[INFO] [stderr]   |                                      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `MeowBuilder`
[INFO] [stderr]  --> src/input.rs:8:29
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::entities::meow::{MeowBuilder};
[INFO] [stderr]   |                             ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `WorldAction`
[INFO] [stderr]   --> src/game_state.rs:23:38
[INFO] [stderr]    |
[INFO] [stderr] 23 | use crate::resources::{InputResource,WorldAction,GameStateResource};
[INFO] [stderr]    |                                      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Velocity`
[INFO] [stderr]   --> src/game_state.rs:24:34
[INFO] [stderr]    |
[INFO] [stderr] 24 | use crate::components::{Position,Velocity};
[INFO] [stderr]    |                                  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `InterActorSys`
[INFO] [stderr]   --> src/game_state.rs:33:22
[INFO] [stderr]    |
[INFO] [stderr] 33 | use crate::systems::{InterActorSys,InputSystem};
[INFO] [stderr]    |                      ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `create_dispatcher`
[INFO] [stderr]   --> src/game_state.rs:35:33
[INFO] [stderr]    |
[INFO] [stderr] 35 | use crate::world::{create_world,create_dispatcher};
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GhostBuilder`
[INFO] [stderr]   --> src/game_state.rs:37:30
[INFO] [stderr]    |
[INFO] [stderr] 37 | use crate::entities::ghost::{GhostBuilder};
[INFO] [stderr]    |                              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `PlatformBuilder`
[INFO] [stderr]   --> src/game_state.rs:39:33
[INFO] [stderr]    |
[INFO] [stderr] 39 | use crate::entities::platform::{PlatformBuilder};
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BoxBuilder`
[INFO] [stderr]   --> src/game_state.rs:40:34
[INFO] [stderr]    |
[INFO] [stderr] 40 | use crate::entities::empty_box::{BoxBuilder};
[INFO] [stderr]    |                                  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PhysicsBodyHandle`, `PhysicsBody`
[INFO] [stderr]   --> src/game_state.rs:42:36
[INFO] [stderr]    |
[INFO] [stderr] 42 | use crate::physics::{PhysicsWorld, PhysicsBody, PhysicsBodyHandle};
[INFO] [stderr]    |                                    ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `MouseInput`
[INFO] [stderr]   --> src/game_state.rs:44:29
[INFO] [stderr]    |
[INFO] [stderr] 44 | use crate::input::{InputMap,MouseInput,InputKey};
[INFO] [stderr]    |                             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Builder`
[INFO] [stderr]  --> src/world.rs:2:38
[INFO] [stderr]   |
[INFO] [stderr] 2 | use specs::{World, WorldExt, Entity, Builder}; // Builder, Component, ReadStorage, System, VecStorage, RunNow
[INFO] [stderr]   |                                      ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::prelude`
[INFO] [stderr]   --> src/render.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use rand::prelude::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/render.rs:283:13
[INFO] [stderr]     |
[INFO] [stderr] 283 |             _ => {}
[INFO] [stderr]     |             ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/input.rs:297:17
[INFO] [stderr]     |
[INFO] [stderr] 297 |                 _ => {}
[INFO] [stderr]     |                 ^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]    --> src/input.rs:323:17
[INFO] [stderr]     |
[INFO] [stderr] 323 |                 _ => {}
[INFO] [stderr]     |                 ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `config`
[INFO] [stderr]   --> src/conf.rs:21:13
[INFO] [stderr]    |
[INFO] [stderr] 21 |         let config: T = match from_reader(f) {
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]   --> src/conf.rs:25:17
[INFO] [stderr]    |
[INFO] [stderr] 25 |             Err(e) => {
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `z_order`
[INFO] [stderr]   --> src/entities/platform.rs:72:46
[INFO] [stderr]    |
[INFO] [stderr] 72 |         width: f32, height: f32, angle: f32, z_order: f32) -> Entity {
[INFO] [stderr]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_order`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `npc`
[INFO] [stderr]   --> src/entities/empty_box.rs:99:13
[INFO] [stderr]    |
[INFO] [stderr] 99 |         let npc = NpcComponent::new();
[INFO] [stderr]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_npc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `z_order`
[INFO] [stderr]   --> src/entities/empty_box.rs:81:46
[INFO] [stderr]    |
[INFO] [stderr] 81 |         width: f32, height: f32, angle: f32, z_order: f32) -> Entity {
[INFO] [stderr]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_order`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `joint_handle`
[INFO] [stderr]    --> src/entities/button.rs:101:17
[INFO] [stderr]     |
[INFO] [stderr] 101 |             let joint_handle = Self::build_joint(physics_world, &mut collision, 0.25, 0.4, height, &body_handle, &trigger_handle);
[INFO] [stderr]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_joint_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `off_y`
[INFO] [stderr]    --> src/entities/button.rs:153:13
[INFO] [stderr]     |
[INFO] [stderr] 153 |         let off_y = create_size(bottom_offset.y);
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_off_y`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `off_y`
[INFO] [stderr]    --> src/entities/button.rs:207:17
[INFO] [stderr]     |
[INFO] [stderr] 207 |             let off_y = create_size(bottom_offset.y);
[INFO] [stderr]     |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_off_y`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `collision`
[INFO] [stderr]    --> src/entities/button.rs:233:50
[INFO] [stderr]     |
[INFO] [stderr] 233 |     pub fn build_joint(world: &mut PhysicsWorld, collision: &mut Collision, density: f32, restitution: f32, height: f32,
[INFO] [stderr]     |                                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collision`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `density`
[INFO] [stderr]    --> src/entities/button.rs:233:77
[INFO] [stderr]     |
[INFO] [stderr] 233 |     pub fn build_joint(world: &mut PhysicsWorld, collision: &mut Collision, density: f32, restitution: f32, height: f32,
[INFO] [stderr]     |                                                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_density`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `restitution`
[INFO] [stderr]    --> src/entities/button.rs:233:91
[INFO] [stderr]     |
[INFO] [stderr] 233 |     pub fn build_joint(world: &mut PhysicsWorld, collision: &mut Collision, density: f32, restitution: f32, height: f32,
[INFO] [stderr]     |                                                                                           ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_restitution`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `z_order`
[INFO] [stderr]   --> src/entities/mouse.rs:26:46
[INFO] [stderr]    |
[INFO] [stderr] 26 |         width: f32, height: f32, angle: f32, z_order: f32) -> Entity {
[INFO] [stderr]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_order`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `m`
[INFO] [stderr]   --> src/entities/ghost.rs:18:133
[INFO] [stderr]    |
[INFO] [stderr] 18 | ...x: f32, y: f32, vx: f32, vy: f32, m: f32, fric: f32, dim_1: f32, dim_2: f32) -> Entity {
[INFO] [stderr]    |                                      ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fric`
[INFO] [stderr]   --> src/entities/ghost.rs:18:141
[INFO] [stderr]    |
[INFO] [stderr] 18 | ...f32, vx: f32, vy: f32, m: f32, fric: f32, dim_1: f32, dim_2: f32) -> Entity {
[INFO] [stderr]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_fric`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `z_order`
[INFO] [stderr]   --> src/entities/bowl.rs:64:46
[INFO] [stderr]    |
[INFO] [stderr] 64 |         width: f32, height: f32, angle: f32, z_order: f32) -> Entity {
[INFO] [stderr]    |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_z_order`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `conn_type`
[INFO] [stderr]    --> src/entities/level_builder.rs:190:51
[INFO] [stderr]     |
[INFO] [stderr] 190 |                 LevelItem::Connection { from, to, conn_type } => {
[INFO] [stderr]     |                                                   ^^^^^^^^^ help: try ignoring the field: `conn_type: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `fixture`
[INFO] [stderr]    --> src/physics.rs:233:9
[INFO] [stderr]     |
[INFO] [stderr] 233 |     let fixture = body.fixture(fixture_handle);
[INFO] [stderr]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_fixture`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ent`
[INFO] [stderr]    --> src/physics.rs:469:49
[INFO] [stderr]     |
[INFO] [stderr] 469 |     for (mut collision, mut character, mut npc, ent) in (&mut phys_writer, (&mut char_writer).maybe(),(&mut npc_writer).maybe(), &entitie...
[INFO] [stderr]     |                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `existing_portal` is assigned to, but never used
[INFO] [stderr]    --> src/physics.rs:558:13
[INFO] [stderr]     |
[INFO] [stderr] 558 |         let mut existing_portal = -1;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_existing_portal` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `existing_portal` is never read
[INFO] [stderr]    --> src/physics.rs:563:13
[INFO] [stderr]     |
[INFO] [stderr] 563 |             existing_portal = collision.portal_id;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ent`
[INFO] [stderr]    --> src/physics.rs:713:34
[INFO] [stderr]     |
[INFO] [stderr] 713 |     for (mut collision, mut pos, ent) in (&mut phys_writer, &mut pos_writer, &entities).join() {
[INFO] [stderr]     |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `delta_seconds`
[INFO] [stderr]    --> src/physics.rs:707:78
[INFO] [stderr]     |
[INFO] [stderr] 707 | fn post_advance_physics(world: &mut World, physics_world: &mut PhysicsWorld, delta_seconds: f32) {
[INFO] [stderr]     |                                                                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_delta_seconds`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> src/components/mod.rs:99:20
[INFO] [stderr]    |
[INFO] [stderr] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stderr]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `world`
[INFO] [stderr]   --> src/components/mod.rs:99:39
[INFO] [stderr]    |
[INFO] [stderr] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stderr]    |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ent`
[INFO] [stderr]   --> src/components/mod.rs:99:54
[INFO] [stderr]    |
[INFO] [stderr] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stderr]    |                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pos`
[INFO] [stderr]   --> src/components/mod.rs:99:72
[INFO] [stderr]    |
[INFO] [stderr] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stderr]    |                                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item_index`
[INFO] [stderr]   --> src/components/mod.rs:99:96
[INFO] [stderr]    |
[INFO] [stderr] 99 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stderr]    |                                                                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `time_delta`
[INFO] [stderr]   --> src/components/logic.rs:90:30
[INFO] [stderr]    |
[INFO] [stderr] 90 |     pub fn update(&mut self, time_delta: f32) {
[INFO] [stderr]    |                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/components/sprite.rs:116:16
[INFO] [stderr]     |
[INFO] [stderr] 116 |     pub fn new(ctx: &mut Context, char_img: &String, z_order: f32) -> SpriteComponent {
[INFO] [stderr]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rng`
[INFO] [stderr]    --> src/components/sprite.rs:142:13
[INFO] [stderr]     |
[INFO] [stderr] 142 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w`
[INFO] [stderr]    --> src/components/sprite.rs:166:17
[INFO] [stderr]     |
[INFO] [stderr] 166 |             let w = texture.width();
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `h`
[INFO] [stderr]    --> src/components/sprite.rs:167:17
[INFO] [stderr]     |
[INFO] [stderr] 167 |             let h = texture.height();
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item_index`
[INFO] [stderr]    --> src/components/sprite.rs:139:96
[INFO] [stderr]     |
[INFO] [stderr] 139 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stderr]     |                                                                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/components/sprite.rs:208:16
[INFO] [stderr]     |
[INFO] [stderr] 208 |     pub fn new(ctx: &mut Context) -> MultiSpriteComponent {
[INFO] [stderr]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rng`
[INFO] [stderr]    --> src/components/sprite.rs:221:13
[INFO] [stderr]     |
[INFO] [stderr] 221 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `other_body_handle`
[INFO] [stderr]   --> src/components/button.rs:70:26
[INFO] [stderr]    |
[INFO] [stderr] 70 |             if let Some((other_body_handle, joint_handle)) = &joints.nth(0) {
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_other_body_handle`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/components/player.rs:137:16
[INFO] [stderr]     |
[INFO] [stderr] 137 |     pub fn new(ctx: &mut Context, char_img: &String) -> CharacterDisplayComponent {
[INFO] [stderr]     |                ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `time_delta`
[INFO] [stderr]    --> src/components/player.rs:255:36
[INFO] [stderr]     |
[INFO] [stderr] 255 |     pub fn process_walk(&mut self, time_delta: f32) {
[INFO] [stderr]     |                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `time_delta`
[INFO] [stderr]    --> src/components/player.rs:281:36
[INFO] [stderr]     |
[INFO] [stderr] 281 |     pub fn process_idle(&mut self, time_delta: f32) {
[INFO] [stderr]     |                                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `time`
[INFO] [stderr]    --> src/components/player.rs:627:13
[INFO] [stderr]     |
[INFO] [stderr] 627 |         let time : f32 = {
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gs`
[INFO] [stderr]    --> src/components/player.rs:630:17
[INFO] [stderr]     |
[INFO] [stderr] 630 |             let gs = &*game_state_res;
[INFO] [stderr]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_gs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rng`
[INFO] [stderr]    --> src/components/player.rs:633:13
[INFO] [stderr]     |
[INFO] [stderr] 633 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `exhaust_radius`
[INFO] [stderr]    --> src/components/player.rs:652:13
[INFO] [stderr]     |
[INFO] [stderr] 652 |         let exhaust_radius = 27.0;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_exhaust_radius`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `self_rot`
[INFO] [stderr]    --> src/components/player.rs:653:13
[INFO] [stderr]     |
[INFO] [stderr] 653 |         let self_rot = self.rot;
[INFO] [stderr]     |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_self_rot`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rect`
[INFO] [stderr]    --> src/components/player.rs:662:19
[INFO] [stderr]     |
[INFO] [stderr] 662 |         if let Ok(rect) = graphics::Mesh::new_circle(
[INFO] [stderr]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_rect`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `font`
[INFO] [stderr]    --> src/components/player.rs:734:21
[INFO] [stderr]     |
[INFO] [stderr] 734 |                 let font = image_resources.font;
[INFO] [stderr]     |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_font`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item_index`
[INFO] [stderr]    --> src/components/player.rs:625:96
[INFO] [stderr]     |
[INFO] [stderr] 625 |     fn draw(&self, ctx: &mut Context, world: &World, ent: Option<u32>, pos: na::Point2::<f32>, item_index: u32) {
[INFO] [stderr]     |                                                                                                ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_item_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rng`
[INFO] [stderr]    --> src/components/collision.rs:228:13
[INFO] [stderr]     |
[INFO] [stderr] 228 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `entity_id`
[INFO] [stderr]    --> src/components/collision.rs:360:18
[INFO] [stderr]     |
[INFO] [stderr] 360 |             for (entity_id, collide_type) in &self.body_contacts {
[INFO] [stderr]     |                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `collide_type`
[INFO] [stderr]    --> src/components/collision.rs:360:29
[INFO] [stderr]     |
[INFO] [stderr] 360 |             for (entity_id, collide_type) in &self.body_contacts {
[INFO] [stderr]     |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collide_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `meta`
[INFO] [stderr]   --> src/components/meow.rs:59:27
[INFO] [stderr]    |
[INFO] [stderr] 59 |             for (fixture, meta) in body.fixtures() {
[INFO] [stderr]    |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `body_movement`
[INFO] [stderr]   --> src/components/npc.rs:60:30
[INFO] [stderr]    |
[INFO] [stderr] 60 |     pub fn update(&mut self, body_movement: na::Vector2::<f32>, time_delta: f32) {
[INFO] [stderr]    |                              ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_body_movement`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `flag`
[INFO] [stderr]   --> src/resources/connection.rs:44:32
[INFO] [stderr]    |
[INFO] [stderr] 44 |         if let Some( (ref val, ref flag)) = self.value_register.get(input_key) {
[INFO] [stderr]    |                                ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `val`
[INFO] [stderr]   --> src/resources/connection.rs:54:23
[INFO] [stderr]    |
[INFO] [stderr] 54 |         if let Some( (ref mut val, ref mut flag)) = self.value_register.get_mut(input_key) {
[INFO] [stderr]    |                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `val`
[INFO] [stderr]   --> src/resources/connection.rs:62:23
[INFO] [stderr]    |
[INFO] [stderr] 62 |         if let Some( (ref val, ref flag)) = self.value_register.get(input_key) {
[INFO] [stderr]    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `in_value` is never read
[INFO] [stderr]   --> src/resources/connection.rs:91:13
[INFO] [stderr]    |
[INFO] [stderr] 91 |         let mut in_value = false;
[INFO] [stderr]    |             ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> src/audio.rs:84:34
[INFO] [stderr]    |
[INFO] [stderr] 84 |     pub fn stop_music(&mut self, ctx: &mut Context) {
[INFO] [stderr]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `input`
[INFO] [stderr]   --> src/systems/input.rs:31:93
[INFO] [stderr]    |
[INFO] [stderr] 31 |     fn handle_npc_input<'a>(&mut self, v: &mut (&mut Collision, &mut NpcComponent, Entity), input: &InputResource,
[INFO] [stderr]    |                                                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ent`
[INFO] [stderr]   --> src/systems/input.rs:32:9
[INFO] [stderr]    |
[INFO] [stderr] 32 |         ent: &Entities, lazy: &Read<'a, LazyUpdate>, time_delta: f32) {
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lazy`
[INFO] [stderr]   --> src/systems/input.rs:32:25
[INFO] [stderr]    |
[INFO] [stderr] 32 |         ent: &Entities, lazy: &Read<'a, LazyUpdate>, time_delta: f32) {
[INFO] [stderr]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_lazy`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ent`
[INFO] [stderr]   --> src/systems/input.rs:43:9
[INFO] [stderr]    |
[INFO] [stderr] 43 |         ent: &Entities, lazy: &Read<'a, LazyUpdate>, time_delta: f32) {
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lazy`
[INFO] [stderr]   --> src/systems/input.rs:43:25
[INFO] [stderr]    |
[INFO] [stderr] 43 |         ent: &Entities, lazy: &Read<'a, LazyUpdate>, time_delta: f32) {
[INFO] [stderr]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_lazy`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `up_pressed` is assigned to, but never used
[INFO] [stderr]    --> src/systems/input.rs:125:13
[INFO] [stderr]     |
[INFO] [stderr] 125 |         let mut up_pressed = false;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_up_pressed` instead
[INFO] [stderr] 
[INFO] [stderr] warning: variable `left_pressed` is assigned to, but never used
[INFO] [stderr]    --> src/systems/input.rs:126:13
[INFO] [stderr]     |
[INFO] [stderr] 126 |         let mut left_pressed = false;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_left_pressed` instead
[INFO] [stderr] 
[INFO] [stderr] warning: variable `right_pressed` is assigned to, but never used
[INFO] [stderr]    --> src/systems/input.rs:127:13
[INFO] [stderr]     |
[INFO] [stderr] 127 |         let mut right_pressed = false;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_right_pressed` instead
[INFO] [stderr] 
[INFO] [stderr] warning: variable `down_pressed` is assigned to, but never used
[INFO] [stderr]    --> src/systems/input.rs:128:13
[INFO] [stderr]     |
[INFO] [stderr] 128 |         let mut down_pressed = false;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_down_pressed` instead
[INFO] [stderr] 
[INFO] [stderr] warning: variable `fire_pressed` is assigned to, but never used
[INFO] [stderr]    --> src/systems/input.rs:129:13
[INFO] [stderr]     |
[INFO] [stderr] 129 |         let mut fire_pressed = false;
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: consider using `_fire_pressed` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `left_pressed` is never read
[INFO] [stderr]    --> src/systems/input.rs:133:13
[INFO] [stderr]     |
[INFO] [stderr] 133 |             left_pressed = true;
[INFO] [stderr]     |             ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `right_pressed` is never read
[INFO] [stderr]    --> src/systems/input.rs:136:13
[INFO] [stderr]     |
[INFO] [stderr] 136 |             right_pressed = true;
[INFO] [stderr]     |             ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `up_pressed` is never read
[INFO] [stderr]    --> src/systems/input.rs:140:13
[INFO] [stderr]     |
[INFO] [stderr] 140 |             up_pressed = true;
[INFO] [stderr]     |             ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `down_pressed` is never read
[INFO] [stderr]    --> src/systems/input.rs:143:13
[INFO] [stderr]     |
[INFO] [stderr] 143 |             down_pressed = true;
[INFO] [stderr]     |             ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `fire_pressed` is never read
[INFO] [stderr]    --> src/systems/input.rs:146:13
[INFO] [stderr]     |
[INFO] [stderr] 146 |             fire_pressed = true;
[INFO] [stderr]     |             ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `time_delta`
[INFO] [stderr]    --> src/systems/input.rs:123:79
[INFO] [stderr]     |
[INFO] [stderr] 123 |     pub fn handle_dialog_input(input: &InputResource, game_state: &GameState, time_delta: f32) -> RunningState {
[INFO] [stderr]     |                                                                               ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rng`
[INFO] [stderr]   --> src/systems/interactor.rs:60:13
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let mut rng = rand::thread_rng();
[INFO] [stderr]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `pos`
[INFO] [stderr]   --> src/systems/interactor.rs:58:24
[INFO] [stderr]    |
[INFO] [stderr] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stderr]    |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vel`
[INFO] [stderr]   --> src/systems/interactor.rs:58:33
[INFO] [stderr]    |
[INFO] [stderr] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stderr]    |                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_vel`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `collision`
[INFO] [stderr]   --> src/systems/interactor.rs:58:42
[INFO] [stderr]    |
[INFO] [stderr] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stderr]    |                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collision`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `game_res`
[INFO] [stderr]   --> src/systems/interactor.rs:58:53
[INFO] [stderr]    |
[INFO] [stderr] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stderr]    |                                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_res`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ent`
[INFO] [stderr]   --> src/systems/interactor.rs:58:63
[INFO] [stderr]    |
[INFO] [stderr] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stderr]    |                                                               ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `time_delta`
[INFO] [stderr]   --> src/systems/logic.rs:31:13
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let time_delta = game_state.delta_seconds;
[INFO] [stderr]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ent`
[INFO] [stderr]   --> src/systems/logic.rs:33:33
[INFO] [stderr]    |
[INFO] [stderr] 33 |         for (mut logic, portal, ent) in (&mut logic_res, &portal_res, &entities).join() {
[INFO] [stderr]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ent`
[INFO] [stderr]   --> src/systems/logic.rs:43:33
[INFO] [stderr]    |
[INFO] [stderr] 43 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stderr]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `button`
[INFO] [stderr]   --> src/systems/logic.rs:52:25
[INFO] [stderr]    |
[INFO] [stderr] 52 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stderr]    |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ent`
[INFO] [stderr]   --> src/systems/logic.rs:52:33
[INFO] [stderr]    |
[INFO] [stderr] 52 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stderr]    |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `active`
[INFO] [stderr]   --> src/systems/logic.rs:55:17
[INFO] [stderr]    |
[INFO] [stderr] 55 |             let active = logic.is_active;
[INFO] [stderr]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_active`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/systems/logic.rs:59:13
[INFO] [stderr]    |
[INFO] [stderr] 59 |         for i in 0..3 {
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ent`
[INFO] [stderr]   --> src/systems/logic.rs:62:29
[INFO] [stderr]    |
[INFO] [stderr] 62 |             for (mut logic, ent) in (&mut logic_res, &entities).join() {
[INFO] [stderr]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `flag`
[INFO] [stderr]   --> src/systems/logic.rs:81:17
[INFO] [stderr]    |
[INFO] [stderr] 81 |             let flag = connection.get_flagged(input_key);
[INFO] [stderr]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_flag`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rng`
[INFO] [stderr]   --> src/world.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |     let mut rng = rand::thread_rng();
[INFO] [stderr]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `world`
[INFO] [stderr]   --> src/world.rs:18:15
[INFO] [stderr]    |
[INFO] [stderr] 18 | fn init_world(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld) {
[INFO] [stderr]    |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> src/world.rs:18:34
[INFO] [stderr]    |
[INFO] [stderr] 18 | fn init_world(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld) {
[INFO] [stderr]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `physics_world`
[INFO] [stderr]   --> src/world.rs:18:53
[INFO] [stderr]    |
[INFO] [stderr] 18 | fn init_world(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld) {
[INFO] [stderr]    |                                                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physics_world`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/world.rs:137:20
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub fn empty_world(ctx: &mut Context, world: &mut World, physics_world: &mut PhysicsWorld) {
[INFO] [stderr]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `world`
[INFO] [stderr]    --> src/world.rs:137:39
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub fn empty_world(ctx: &mut Context, world: &mut World, physics_world: &mut PhysicsWorld) {
[INFO] [stderr]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `physics_world`
[INFO] [stderr]    --> src/world.rs:137:58
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub fn empty_world(ctx: &mut Context, world: &mut World, physics_world: &mut PhysicsWorld) {
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physics_world`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `char_in_warp`
[INFO] [stderr]   --> src/render.rs:57:13
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let mut char_in_warp = false;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_char_in_warp`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `level_run_time` is assigned to, but never used
[INFO] [stderr]   --> src/render.rs:60:13
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let mut level_run_time : f32 = 0.0;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: consider using `_level_run_time` instead
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `game_run_time` is never read
[INFO] [stderr]   --> src/render.rs:61:13
[INFO] [stderr]    |
[INFO] [stderr] 61 |         let mut game_run_time : f32 = 0.0;        
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `level_run_time` is never read
[INFO] [stderr]   --> src/render.rs:67:13
[INFO] [stderr]    |
[INFO] [stderr] 67 |             level_run_time = gs_res.level_world_seconds;
[INFO] [stderr]    |             ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dim`
[INFO] [stderr]    --> src/render.rs:222:25
[INFO] [stderr]     |
[INFO] [stderr] 222 |                     let mut dim = shader_ref.send(ctx, crate::resources::Dim {rate: game_run_time});
[INFO] [stderr]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `world`
[INFO] [stderr]    --> src/render.rs:338:74
[INFO] [stderr]     |
[INFO] [stderr] 338 |     fn pre_render_list(&self, game_state: &GameState, ctx: &mut Context, world: &World) {
[INFO] [stderr]     |                                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `world`
[INFO] [stderr]    --> src/render.rs:351:51
[INFO] [stderr]     |
[INFO] [stderr] 351 |     fn post_render_list(&self, ctx: &mut Context, world: &World) {
[INFO] [stderr]     |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `w`
[INFO] [stderr]   --> src/render/dialog.rs:49:14
[INFO] [stderr]    |
[INFO] [stderr] 49 |         let (w, h) = (game_state.window_w, game_state.window_h);
[INFO] [stderr]    |              ^ help: if this is intentional, prefix it with an underscore: `_w`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `h`
[INFO] [stderr]   --> src/render/dialog.rs:49:17
[INFO] [stderr]    |
[INFO] [stderr] 49 |         let (w, h) = (game_state.window_w, game_state.window_h);
[INFO] [stderr]    |                 ^ help: if this is intentional, prefix it with an underscore: `_h`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/input.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 110 |         ctx: &mut Context,
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `keymod`
[INFO] [stderr]    --> src/input.rs:112:9
[INFO] [stderr]     |
[INFO] [stderr] 112 |         keymod: KeyMods,) -> Option<InputKey> {
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_keymod`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/input.rs:152:9
[INFO] [stderr]     |
[INFO] [stderr] 152 |         ctx: &mut Context,
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/input.rs:154:9
[INFO] [stderr]     |
[INFO] [stderr] 154 |         id: GamepadId) -> Option<InputKey> {
[INFO] [stderr]     |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/input.rs:192:9
[INFO] [stderr]     |
[INFO] [stderr] 192 |         ctx: &mut Context,
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `keymod`
[INFO] [stderr]    --> src/input.rs:194:9
[INFO] [stderr]     |
[INFO] [stderr] 194 |         keymod: KeyMods,) -> Option<InputKey> {
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_keymod`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/input.rs:234:9
[INFO] [stderr]     |
[INFO] [stderr] 234 |         ctx: &mut Context,
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/input.rs:236:9
[INFO] [stderr]     |
[INFO] [stderr] 236 |         id: GamepadId) -> Option<InputKey> {
[INFO] [stderr]     |         ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/game_state.rs:167:33
[INFO] [stderr]     |
[INFO] [stderr] 167 |     pub fn dim_music(&mut self, ctx: &mut Context) {
[INFO] [stderr]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `test`
[INFO] [stderr]    --> src/game_state.rs:405:17
[INFO] [stderr]     |
[INFO] [stderr] 405 |             let test : u16 = rng.gen::<u16>();
[INFO] [stderr]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_test`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/game_state.rs:426:41
[INFO] [stderr]     |
[INFO] [stderr] 426 |     pub fn run_dialog_update(&mut self, ctx: &mut Context, time_delta: f32) {
[INFO] [stderr]     |                                         ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `time_delta`
[INFO] [stderr]    --> src/game_state.rs:426:60
[INFO] [stderr]     |
[INFO] [stderr] 426 |     pub fn run_dialog_update(&mut self, ctx: &mut Context, time_delta: f32) {
[INFO] [stderr]     |                                                            ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `portal_id` is never read
[INFO] [stderr]    --> src/game_state.rs:441:13
[INFO] [stderr]     |
[INFO] [stderr] 441 |         let mut portal_id = -1;
[INFO] [stderr]     |             ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ent`
[INFO] [stderr]    --> src/game_state.rs:464:18
[INFO] [stderr]     |
[INFO] [stderr] 464 |             for (ent, mut character_opt, mut npc_opt,  mut pos, mut coll) in 
[INFO] [stderr]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_ent`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `portal_id`
[INFO] [stderr]    --> src/game_state.rs:523:42
[INFO] [stderr]     |
[INFO] [stderr] 523 | ...                   if let Some((portal_id, x, y)) = portal_hash.get(&portal_dest) {
[INFO] [stderr]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_portal_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/game_state.rs:436:47
[INFO] [stderr]     |
[INFO] [stderr] 436 |     pub fn run_post_physics_update(&mut self, ctx: &mut Context, time_delta: f32) {
[INFO] [stderr]     |                                               ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `time_delta`
[INFO] [stderr]    --> src/game_state.rs:436:66
[INFO] [stderr]     |
[INFO] [stderr] 436 |     pub fn run_post_physics_update(&mut self, ctx: &mut Context, time_delta: f32) {
[INFO] [stderr]     |                                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_time_delta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]    --> src/game_state.rs:723:35
[INFO] [stderr]     |
[INFO] [stderr] 723 |     pub fn game_key_up(&mut self, ctx: &mut Context, key: &InputKey) {
[INFO] [stderr]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/game_state.rs:797:83
[INFO] [stderr]     |
[INFO] [stderr] 797 |     fn mouse_button_down_event(&mut self, ctx: &mut Context, button: MouseButton, x: f32, y: f32) {
[INFO] [stderr]     |                                                                                   ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]    --> src/game_state.rs:797:91
[INFO] [stderr]     |
[INFO] [stderr] 797 |     fn mouse_button_down_event(&mut self, ctx: &mut Context, button: MouseButton, x: f32, y: f32) {
[INFO] [stderr]     |                                                                                           ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/game_state.rs:815:81
[INFO] [stderr]     |
[INFO] [stderr] 815 |     fn mouse_button_up_event(&mut self, ctx: &mut Context, button: MouseButton, x: f32, y: f32) {
[INFO] [stderr]     |                                                                                 ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]    --> src/game_state.rs:815:89
[INFO] [stderr]     |
[INFO] [stderr] 815 |     fn mouse_button_up_event(&mut self, ctx: &mut Context, button: MouseButton, x: f32, y: f32) {
[INFO] [stderr]     |                                                                                         ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `xrel`
[INFO] [stderr]    --> src/game_state.rs:834:74
[INFO] [stderr]     |
[INFO] [stderr] 834 |     fn mouse_motion_event(&mut self, _ctx: &mut Context, x: f32, y: f32, xrel: f32, yrel: f32) {
[INFO] [stderr]     |                                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_xrel`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `yrel`
[INFO] [stderr]    --> src/game_state.rs:834:85
[INFO] [stderr]     |
[INFO] [stderr] 834 |     fn mouse_motion_event(&mut self, _ctx: &mut Context, x: f32, y: f32, xrel: f32, yrel: f32) {
[INFO] [stderr]     |                                                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_yrel`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]    --> src/game_state.rs:838:57
[INFO] [stderr]     |
[INFO] [stderr] 838 |     fn mouse_wheel_event(&mut self, _ctx: &mut Context, x: f32, y: f32) {
[INFO] [stderr]     |                                                         ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `y`
[INFO] [stderr]    --> src/game_state.rs:838:65
[INFO] [stderr]     |
[INFO] [stderr] 838 |     fn mouse_wheel_event(&mut self, _ctx: &mut Context, x: f32, y: f32) {
[INFO] [stderr]     |                                                                 ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ch`
[INFO] [stderr]     --> src/game_state.rs:1003:56
[INFO] [stderr]      |
[INFO] [stderr] 1003 |     fn text_input_event(&mut self, _ctx: &mut Context, ch: char) {
[INFO] [stderr]      |                                                        ^^ help: if this is intentional, prefix it with an underscore: `_ch`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/entities/button.rs:33:13
[INFO] [stderr]    |
[INFO] [stderr] 33 |         let mut button = ButtonComponent::new(name.clone());
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/entities/ui.rs:23:21
[INFO] [stderr]    |
[INFO] [stderr] 23 |         if let Some(mut images) = world.get_mut::<ImageResources>() {
[INFO] [stderr]    |                     ----^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/entities/level_builder.rs:193:25
[INFO] [stderr]     |
[INFO] [stderr] 193 |                     let mut connection = &mut *connection_res;
[INFO] [stderr]     |                         ----^^^^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/physics.rs:469:10
[INFO] [stderr]     |
[INFO] [stderr] 469 |     for (mut collision, mut character, mut npc, ent) in (&mut phys_writer, (&mut char_writer).maybe(),(&mut npc_writer).maybe(), &entitie...
[INFO] [stderr]     |          ----^^^^^^^^^
[INFO] [stderr]     |          |
[INFO] [stderr]     |          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/physics.rs:469:25
[INFO] [stderr]     |
[INFO] [stderr] 469 |     for (mut collision, mut character, mut npc, ent) in (&mut phys_writer, (&mut char_writer).maybe(),(&mut npc_writer).maybe(), &entitie...
[INFO] [stderr]     |                         ----^^^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/physics.rs:469:40
[INFO] [stderr]     |
[INFO] [stderr] 469 |     for (mut collision, mut character, mut npc, ent) in (&mut phys_writer, (&mut char_writer).maybe(),(&mut npc_writer).maybe(), &entitie...
[INFO] [stderr]     |                                        ----^^^
[INFO] [stderr]     |                                        |
[INFO] [stderr]     |                                        help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/physics.rs:713:10
[INFO] [stderr]     |
[INFO] [stderr] 713 |     for (mut collision, mut pos, ent) in (&mut phys_writer, &mut pos_writer, &entities).join() {
[INFO] [stderr]     |          ----^^^^^^^^^
[INFO] [stderr]     |          |
[INFO] [stderr]     |          help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/components/logic.rs:58:13
[INFO] [stderr]    |
[INFO] [stderr] 58 |         let mut logic = LogicComponent {
[INFO] [stderr]    |             ----^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/components/sprite.rs:71:21
[INFO] [stderr]    |
[INFO] [stderr] 71 |         if let Some(mut images) = world.get_mut::<ImageResources>() {
[INFO] [stderr]    |                     ----^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/components/sprite.rs:142:13
[INFO] [stderr]     |
[INFO] [stderr] 142 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/components/sprite.rs:165:19
[INFO] [stderr]     |
[INFO] [stderr] 165 |         if let Ok(mut texture) = texture_ref {
[INFO] [stderr]     |                   ----^^^^^^^
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/components/sprite.rs:221:13
[INFO] [stderr]     |
[INFO] [stderr] 221 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/components/button.rs:32:13
[INFO] [stderr]    |
[INFO] [stderr] 32 |         let mut button = ButtonComponent {
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/components/button.rs:128:13
[INFO] [stderr]     |
[INFO] [stderr] 128 |         let mut button = ButtonTriggerComponent {
[INFO] [stderr]     |             ----^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/components/player.rs:633:13
[INFO] [stderr]     |
[INFO] [stderr] 633 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/components/collision.rs:228:13
[INFO] [stderr]     |
[INFO] [stderr] 228 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/components/collision.rs:299:17
[INFO] [stderr]     |
[INFO] [stderr] 299 |             let mut body = physics_world.body_mut(body_handle);
[INFO] [stderr]     |                 ----^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/components/npc.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |         let mut npc = NpcComponent {
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/components/portal.rs:26:13
[INFO] [stderr]    |
[INFO] [stderr] 26 |         let mut portal = PortalComponent {
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/components/exit.rs:24:13
[INFO] [stderr]    |
[INFO] [stderr] 24 |         let mut portal = ExitComponent {
[INFO] [stderr]    |             ----^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/resources/image.rs:60:21
[INFO] [stderr]    |
[INFO] [stderr] 60 |         if let Some(mut images) = world.get_mut::<ImageResources>() {
[INFO] [stderr]    |                     ----^^^^^^
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/systems/input.rs:81:17
[INFO] [stderr]    |
[INFO] [stderr] 81 |             let mut y = coll.pos.y;
[INFO] [stderr]    |                 ----^
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/systems/input.rs:168:73
[INFO] [stderr]     |
[INFO] [stderr] 168 |     fn run(&mut self, (mut coll, mut char_display, mut npc, game_state, mut input, mut ent, lazy): Self::SystemData) {
[INFO] [stderr]     |                                                                         ----^^^^^
[INFO] [stderr]     |                                                                         |
[INFO] [stderr]     |                                                                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/systems/input.rs:168:84
[INFO] [stderr]     |
[INFO] [stderr] 168 |     fn run(&mut self, (mut coll, mut char_display, mut npc, game_state, mut input, mut ent, lazy): Self::SystemData) {
[INFO] [stderr]     |                                                                                    ----^^^
[INFO] [stderr]     |                                                                                    |
[INFO] [stderr]     |                                                                                    help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/systems/interactor.rs:58:24
[INFO] [stderr]    |
[INFO] [stderr] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stderr]    |                        ----^^^
[INFO] [stderr]    |                        |
[INFO] [stderr]    |                        help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/systems/interactor.rs:58:33
[INFO] [stderr]    |
[INFO] [stderr] 58 |     fn run(&mut self, (mut pos, mut vel, collision, game_res, ent): Self::SystemData) {
[INFO] [stderr]    |                                 ----^^^
[INFO] [stderr]    |                                 |
[INFO] [stderr]    |                                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/systems/interactor.rs:60:13
[INFO] [stderr]    |
[INFO] [stderr] 60 |         let mut rng = rand::thread_rng();
[INFO] [stderr]    |             ----^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/systems/logic.rs:28:55
[INFO] [stderr]    |
[INFO] [stderr] 28 |     fn run(&mut self, (mut logic_res, mut portal_res, mut button_res, mut sprite_res, game_state, mut connection, mut entities): Self::Sy...
[INFO] [stderr]    |                                                       ----^^^^^^^^^^
[INFO] [stderr]    |                                                       |
[INFO] [stderr]    |                                                       help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/systems/logic.rs:28:115
[INFO] [stderr]    |
[INFO] [stderr] 28 | ...ton_res, mut sprite_res, game_state, mut connection, mut entities): Self::SystemData) {
[INFO] [stderr]    |                                                         ----^^^^^^^^
[INFO] [stderr]    |                                                         |
[INFO] [stderr]    |                                                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/systems/logic.rs:33:14
[INFO] [stderr]    |
[INFO] [stderr] 33 |         for (mut logic, portal, ent) in (&mut logic_res, &portal_res, &entities).join() {
[INFO] [stderr]    |              ----^^^^^
[INFO] [stderr]    |              |
[INFO] [stderr]    |              help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/systems/logic.rs:43:14
[INFO] [stderr]    |
[INFO] [stderr] 43 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stderr]    |              ----^^^^^
[INFO] [stderr]    |              |
[INFO] [stderr]    |              help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/systems/logic.rs:52:14
[INFO] [stderr]    |
[INFO] [stderr] 52 |         for (mut logic, button, ent) in (&mut logic_res, &button_res, &entities).join() {
[INFO] [stderr]    |              ----^^^^^
[INFO] [stderr]    |              |
[INFO] [stderr]    |              help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/systems/logic.rs:62:18
[INFO] [stderr]    |
[INFO] [stderr] 62 |             for (mut logic, ent) in (&mut logic_res, &entities).join() {
[INFO] [stderr]    |                  ----^^^^^
[INFO] [stderr]    |                  |
[INFO] [stderr]    |                  help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/systems/logic.rs:78:14
[INFO] [stderr]    |
[INFO] [stderr] 78 |         for (mut logic, ent) in (&mut logic_res, &entities).join() {
[INFO] [stderr]    |              ----^^^^^
[INFO] [stderr]    |              |
[INFO] [stderr]    |              help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/world.rs:19:9
[INFO] [stderr]    |
[INFO] [stderr] 19 |     let mut rng = rand::thread_rng();
[INFO] [stderr]    |         ----^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/render.rs:57:13
[INFO] [stderr]    |
[INFO] [stderr] 57 |         let mut char_in_warp = false;
[INFO] [stderr]    |             ----^^^^^^^^^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/render.rs:217:23
[INFO] [stderr]     |
[INFO] [stderr] 217 |             if let Ok(mut texture) = texture_ref {
[INFO] [stderr]     |                       ----^^^^^^^
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/render.rs:222:25
[INFO] [stderr]     |
[INFO] [stderr] 222 |                     let mut dim = shader_ref.send(ctx, crate::resources::Dim {rate: game_run_time});
[INFO] [stderr]     |                         ----^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/game_state.rs:429:17
[INFO] [stderr]     |
[INFO] [stderr] 429 |             let mut world = &mut self.world;
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `save_ron_config`
[INFO] [stderr]   --> src/conf.rs:34:8
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub fn save_ron_config<'a,T>(config_path: String, config: &T) -> bool
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `build_npc`
[INFO] [stderr]   --> src/entities/suri.rs:28:12
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub fn build_npc(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld, x: f32, y: f32) -> Entity {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `UIBuilder`
[INFO] [stderr]   --> src/entities/ui.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct UIBuilder;
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `get_sprite_paths`
[INFO] [stderr]   --> src/entities/ui.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn get_sprite_paths() -> Vec<String> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `init_images`
[INFO] [stderr]   --> src/entities/ui.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 22 |     pub fn init_images(world: &mut World, ctx: &mut Context) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `build_icon`
[INFO] [stderr]   --> src/entities/ui.rs:35:12
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn build_icon(world: &mut World, ctx: &mut Context) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `build_dynamic`
[INFO] [stderr]   --> src/entities/bowl.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn build_dynamic(world: &mut World, ctx: &mut Context, physics_world: &mut PhysicsWorld, x: f32, y: f32,
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Player_Ghost`
[INFO] [stderr]   --> src/physics.rs:48:5
[INFO] [stderr]    |
[INFO] [stderr] 48 |     Player_Ghost,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Player_Portal`
[INFO] [stderr]   --> src/physics.rs:49:5
[INFO] [stderr]    |
[INFO] [stderr] 49 |     Player_Portal,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Npc_Level`
[INFO] [stderr]   --> src/physics.rs:50:5
[INFO] [stderr]    |
[INFO] [stderr] 50 |     Npc_Level,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Npc_Portal`
[INFO] [stderr]   --> src/physics.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 |     Npc_Portal,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Other`
[INFO] [stderr]   --> src/physics.rs:54:5
[INFO] [stderr]    |
[INFO] [stderr] 54 |     Other,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Player`
[INFO] [stderr]   --> src/physics.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 59 |     Player,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Platform`
[INFO] [stderr]   --> src/physics.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 60 |     Platform,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Ghost`
[INFO] [stderr]   --> src/physics.rs:62:5
[INFO] [stderr]    |
[INFO] [stderr] 62 |     Ghost,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Meow`
[INFO] [stderr]   --> src/physics.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 63 |     Meow,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Portal`
[INFO] [stderr]   --> src/physics.rs:64:5
[INFO] [stderr]    |
[INFO] [stderr] 64 |     Portal,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Exit`
[INFO] [stderr]   --> src/physics.rs:65:5
[INFO] [stderr]    |
[INFO] [stderr] 65 |     Exit,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `get_size`
[INFO] [stderr]    --> src/physics.rs:157:8
[INFO] [stderr]     |
[INFO] [stderr] 157 | pub fn get_size(phys_size: f32) -> f32 {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `add_kinematic_body_box`
[INFO] [stderr]    --> src/physics.rs:239:8
[INFO] [stderr]     |
[INFO] [stderr] 239 | pub fn add_kinematic_body_box(world: &mut PhysicsWorld, pos: &Point2<f32>, vel: &Vector2<f32>, 
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]   --> src/components/logic.rs:35:12
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn new(frm: String, t: String, cntype: ConnectionType) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `update`
[INFO] [stderr]   --> src/components/logic.rs:90:12
[INFO] [stderr]    |
[INFO] [stderr] 90 |     pub fn update(&mut self, time_delta: f32) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `set_trigger`
[INFO] [stderr]   --> src/components/button.rs:54:12
[INFO] [stderr]    |
[INFO] [stderr] 54 |     pub fn set_trigger(&mut self, trigger_id: i32) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `FALL_ONLY_SET`
[INFO] [stderr]   --> src/components/player.rs:83:1
[INFO] [stderr]    |
[INFO] [stderr] 83 | const FALL_ONLY_SET : u32 = 2;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant is never used: `FALL_ONLY_FRAMES`
[INFO] [stderr]   --> src/components/player.rs:84:1
[INFO] [stderr]    |
[INFO] [stderr] 84 | const FALL_ONLY_FRAMES : u32 = 4;
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `update_body_status`
[INFO] [stderr]    --> src/components/player.rs:587:12
[INFO] [stderr]     |
[INFO] [stderr] 587 |     pub fn update_body_status(&mut self, is_standing: bool) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `set_active`
[INFO] [stderr]    --> src/components/collision.rs:106:12
[INFO] [stderr]     |
[INFO] [stderr] 106 |     pub fn set_active(&mut self, physics_world: &mut PhysicsWorld, is_active: bool) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `create_kinematic_body_box_upright`
[INFO] [stderr]    --> src/components/collision.rs:170:12
[INFO] [stderr]     |
[INFO] [stderr] 170 |     pub fn create_kinematic_body_box_upright(&mut self, physics_world: &mut PhysicsWorld) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `create_dynamic_body_circle`
[INFO] [stderr]    --> src/components/collision.rs:197:12
[INFO] [stderr]     |
[INFO] [stderr] 197 |     pub fn create_dynamic_body_circle(&mut self, physics_world: &mut PhysicsWorld) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `can_use_portal`
[INFO] [stderr]    --> src/components/collision.rs:214:12
[INFO] [stderr]     |
[INFO] [stderr] 214 |     pub fn can_use_portal(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `start_jump`
[INFO] [stderr]    --> src/components/npc.rs:129:12
[WARN] too many lines in the log, truncating it
