[INFO] cloning repository https://github.com/Panadero1/sonar
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Panadero1/sonar" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPanadero1%2Fsonar", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPanadero1%2Fsonar'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 32e7cf56dad848a67548a939dcbfdcddbf9315f9
[INFO] checking Panadero1/sonar against beta-2021-10-15 for beta-1.56-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPanadero1%2Fsonar" "/workspace/builds/worker-2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Panadero1/sonar on toolchain beta-2021-10-15
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Panadero1/sonar
[INFO] finished tweaking git repo https://github.com/Panadero1/sonar
[INFO] tweaked toml for git repo https://github.com/Panadero1/sonar written to /workspace/builds/worker-2/source/Cargo.toml
[INFO] crate git repo https://github.com/Panadero1/sonar already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-10-15" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f60d8811ec3a11a31eb6d072550243ec6c3c735662b5881f7fb2185b04e23270
[INFO] running `Command { std: "docker" "start" "-a" "f60d8811ec3a11a31eb6d072550243ec6c3c735662b5881f7fb2185b04e23270", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f60d8811ec3a11a31eb6d072550243ec6c3c735662b5881f7fb2185b04e23270", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f60d8811ec3a11a31eb6d072550243ec6c3c735662b5881f7fb2185b04e23270", kill_on_drop: false }`
[INFO] [stdout] f60d8811ec3a11a31eb6d072550243ec6c3c735662b5881f7fb2185b04e23270
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-10-15" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1508f18d22b07739563e73b15e9adf794c3e9ca272c068fdb5dbfc660193fed7
[INFO] running `Command { std: "docker" "start" "-a" "1508f18d22b07739563e73b15e9adf794c3e9ca272c068fdb5dbfc660193fed7", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling libc v0.2.103
[INFO] [stderr]    Compiling proc-macro2 v1.0.29
[INFO] [stderr]    Compiling pkg-config v0.3.20
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking smallvec v1.7.0
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]     Checking minimal-lexical v0.1.3
[INFO] [stderr]    Compiling parking_lot_core v0.8.5
[INFO] [stderr]    Compiling cc v1.0.70
[INFO] [stderr]    Compiling syn v1.0.78
[INFO] [stderr]     Checking gimli v0.25.0
[INFO] [stderr]    Compiling serde_derive v1.0.130
[INFO] [stderr]    Compiling serde v1.0.130
[INFO] [stderr]     Checking rustc-demangle v0.1.21
[INFO] [stderr]     Checking glow v0.7.2
[INFO] [stderr]     Checking instant v0.1.11
[INFO] [stderr]     Checking lock_api v0.4.5
[INFO] [stderr]     Checking tinyvec v1.5.0
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.1
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.5
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.7
[INFO] [stderr]     Checking andrew v0.3.1
[INFO] [stderr]     Checking png v0.16.8
[INFO] [stderr]    Compiling wayland-sys v0.28.6
[INFO] [stderr]    Compiling x11-dl v2.19.1
[INFO] [stderr]    Compiling backtrace v0.3.61
[INFO] [stderr]     Checking unicode-normalization v0.1.19
[INFO] [stderr]     Checking nom v7.0.0
[INFO] [stderr]     Checking object v0.26.2
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]     Checking addr2line v0.16.0
[INFO] [stderr]     Checking nix v0.20.0
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking net2 v0.2.37
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking nix v0.18.0
[INFO] [stderr]     Checking memmap2 v0.1.0
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking rayon-core v1.9.1
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]    Compiling wayland-scanner v0.28.6
[INFO] [stderr]     Checking mio v0.6.23
[INFO] [stderr]     Checking xcursor v0.3.4
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking mio-extras v2.0.6
[INFO] [stderr]     Checking rayon v1.5.1
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]    Compiling wayland-client v0.28.6
[INFO] [stderr]    Compiling wayland-protocols v0.28.6
[INFO] [stderr]     Checking calloop v0.6.5
[INFO] [stderr]     Checking jpeg-decoder v0.1.22
[INFO] [stderr]     Checking wayland-commons v0.28.6
[INFO] [stderr]     Checking tiff v0.6.1
[INFO] [stderr]     Checking image v0.23.14
[INFO] [stderr]     Checking wayland-cursor v0.28.6
[INFO] [stderr]     Checking wayland-egl v0.28.6
[INFO] [stderr]     Checking smithay-client-toolkit v0.12.3
[INFO] [stderr]     Checking winit v0.24.0
[INFO] [stderr]     Checking glutin v0.26.0
[INFO] [stderr]     Checking speedy2d v1.1.1
[INFO] [stderr]     Checking sonar v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::atomic::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `screen::RESOLUTION`
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use screen::RESOLUTION;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `image::ImageHandle`, `shape::Rectangle`
[INFO] [stdout]  --> src/entity/player.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 | use speedy2d::{color::Color, image::ImageHandle, shape::Rectangle};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImgState`
[INFO] [stdout]  --> src/entity/player.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{ui::img::{Img, ImgState}, utility::animation::{Animation, AnimationSelectError}, world::space::GamePos};
[INFO] [stdout]   |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Weak`
[INFO] [stdout]  --> src/screen/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{rc::Weak, sync::atomic::{AtomicU32, Ordering}};
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitflags::bitflags`
[INFO] [stdout]  --> src/screen/game.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bitflags::bitflags;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImageFileFormat`, `ImageSmoothingMode`
[INFO] [stdout]  --> src/screen/game.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     image::{ImageFileFormat, ImageSmoothingMode},
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ui::img::get_image_handle`
[INFO] [stdout]   --> src/screen/game.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ui::img::get_image_handle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet`, `sync::atomic::Ordering`
[INFO] [stdout]  --> src/screen/title.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet},
[INFO] [stdout]   |                            ^^^^^^^
[INFO] [stdout] 3 |     sync::atomic::Ordering,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Font`, `TextAlignment`, `TextLayout`, `TextOptions`, `VirtualKeyCode`, `shape::Rectangle`
[INFO] [stdout]   --> src/screen/title.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout] 8  |     font::{Font, TextAlignment, TextLayout, TextOptions},
[INFO] [stdout]    |            ^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |     shape::Rectangle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     window::{MouseButton, UserEventSender, VirtualKeyCode, WindowHandler, WindowHelper},
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `screen::RESOLUTION`
[INFO] [stdout]   --> src/screen/title.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     screen::RESOLUTION,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RedirectHandler`
[INFO] [stdout]   --> src/screen/title.rs:19:55
[INFO] [stdout]    |
[INFO] [stdout] 19 | use super::{game::GameScreen, options::OptionsScreen, RedirectHandler, Screen};
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet`, `sync::atomic::Ordering`
[INFO] [stdout]  --> src/screen/options.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet},
[INFO] [stdout]   |                            ^^^^^^^
[INFO] [stdout] 3 |     sync::atomic::Ordering,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Font`, `TextAlignment`, `TextLayout`, `TextOptions`, `VirtualKeyCode`, `shape::Rectangle`
[INFO] [stdout]   --> src/screen/options.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout] 8  |     font::{Font, TextAlignment, TextLayout, TextOptions},
[INFO] [stdout]    |            ^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |     shape::Rectangle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     window::{MouseButton, UserEventSender, VirtualKeyCode, WindowHandler, WindowHelper},
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `screen::RESOLUTION`
[INFO] [stdout]   --> src/screen/options.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{screen::RESOLUTION, ui::{button::Button, rect::rect_from_size, text}};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RedirectHandler`, `game::GameScreen`
[INFO] [stdout]   --> src/screen/options.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 | use super::{RedirectHandler, Screen, game::GameScreen, title::TitleScreen};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/ui/button.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImageDataType`
[INFO] [stdout]  --> src/ui/img.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     image::{ImageDataType, ImageFileFormat, ImageHandle, ImageSmoothingMode},
[INFO] [stdout]   |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ui::img::Img`
[INFO] [stdout]  --> src/world/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     ui::img::Img,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time::Instant`
[INFO] [stdout]  --> src/utility/animation.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, time::Instant};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImageDataType`, `ImageHandle`
[INFO] [stdout]  --> src/utility/animation.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |     image::{ImageDataType, ImageHandle},
[INFO] [stdout]   |             ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `de::Visitor`, `ser::SerializeStruct`
[INFO] [stdout]   --> src/utility/animation.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::{Deserialize, Serialize, de::Visitor, ser::SerializeStruct};
[INFO] [stdout]    |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImgError`, `ImgState`
[INFO] [stdout]   --> src/utility/animation.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::ui::img::{Img, ImgError, ImgState};
[INFO] [stdout]    |                           ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::Ordering`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::atomic::Ordering;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `screen::RESOLUTION`
[INFO] [stdout]  --> src/lib.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use screen::RESOLUTION;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `image::ImageHandle`, `shape::Rectangle`
[INFO] [stdout]  --> src/entity/player.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 | use speedy2d::{color::Color, image::ImageHandle, shape::Rectangle};
[INFO] [stdout]   |                              ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImgState`
[INFO] [stdout]  --> src/entity/player.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{ui::img::{Img, ImgState}, utility::animation::{Animation, AnimationSelectError}, world::space::GamePos};
[INFO] [stdout]   |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rc::Weak`
[INFO] [stdout]  --> src/screen/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{rc::Weak, sync::atomic::{AtomicU32, Ordering}};
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bitflags::bitflags`
[INFO] [stdout]  --> src/screen/game.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bitflags::bitflags;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImageFileFormat`, `ImageSmoothingMode`
[INFO] [stdout]  --> src/screen/game.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     image::{ImageFileFormat, ImageSmoothingMode},
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ui::img::get_image_handle`
[INFO] [stdout]   --> src/screen/game.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ui::img::get_image_handle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet`, `sync::atomic::Ordering`
[INFO] [stdout]  --> src/screen/title.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet},
[INFO] [stdout]   |                            ^^^^^^^
[INFO] [stdout] 3 |     sync::atomic::Ordering,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Font`, `TextAlignment`, `TextLayout`, `TextOptions`, `VirtualKeyCode`, `shape::Rectangle`
[INFO] [stdout]   --> src/screen/title.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout] 8  |     font::{Font, TextAlignment, TextLayout, TextOptions},
[INFO] [stdout]    |            ^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |     shape::Rectangle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     window::{MouseButton, UserEventSender, VirtualKeyCode, WindowHandler, WindowHelper},
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `screen::RESOLUTION`
[INFO] [stdout]   --> src/screen/title.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     screen::RESOLUTION,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RedirectHandler`
[INFO] [stdout]   --> src/screen/title.rs:19:55
[INFO] [stdout]    |
[INFO] [stdout] 19 | use super::{game::GameScreen, options::OptionsScreen, RedirectHandler, Screen};
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet`, `sync::atomic::Ordering`
[INFO] [stdout]  --> src/screen/options.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet},
[INFO] [stdout]   |                            ^^^^^^^
[INFO] [stdout] 3 |     sync::atomic::Ordering,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Font`, `TextAlignment`, `TextLayout`, `TextOptions`, `VirtualKeyCode`, `shape::Rectangle`
[INFO] [stdout]   --> src/screen/options.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout] 8  |     font::{Font, TextAlignment, TextLayout, TextOptions},
[INFO] [stdout]    |            ^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 9  |     shape::Rectangle,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     window::{MouseButton, UserEventSender, VirtualKeyCode, WindowHandler, WindowHelper},
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `screen::RESOLUTION`
[INFO] [stdout]   --> src/screen/options.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::{screen::RESOLUTION, ui::{button::Button, rect::rect_from_size, text}};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RedirectHandler`, `game::GameScreen`
[INFO] [stdout]   --> src/screen/options.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 | use super::{RedirectHandler, Screen, game::GameScreen, title::TitleScreen};
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::BorrowMut`
[INFO] [stdout]  --> src/ui/button.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ImageDataType`
[INFO] [stdout]  --> src/ui/img.rs:4:13
[INFO] [stdout]   |
[INFO] [stdout] 4 |     image::{ImageDataType, ImageFileFormat, ImageHandle, ImageSmoothingMode},
[INFO] [stdout]   |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ui::img::Img`
[INFO] [stdout]  --> src/world/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     ui::img::Img,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time::Instant`
[INFO] [stdout]  --> src/utility/animation.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, time::Instant};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImageDataType`, `ImageHandle`
[INFO] [stdout]  --> src/utility/animation.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 |     image::{ImageDataType, ImageHandle},
[INFO] [stdout]   |             ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `de::Visitor`, `ser::SerializeStruct`
[INFO] [stdout]   --> src/utility/animation.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 | use serde::{Deserialize, Serialize, de::Visitor, ser::SerializeStruct};
[INFO] [stdout]    |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ImgError`, `ImgState`
[INFO] [stdout]   --> src/utility/animation.rs:12:27
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::ui::img::{Img, ImgError, ImgState};
[INFO] [stdout]    |                           ^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `virtual_key_code`
[INFO] [stdout]   --> src/screen/game.rs:89:21
[INFO] [stdout]    |
[INFO] [stdout] 89 |         if let Some(virtual_key_code) = virtual_key_code {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_virtual_key_code`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/screen/title.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |         for (name, button) in self.buttons.iter() {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/title.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scancode`
[INFO] [stdout]   --> src/screen/title.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |         scancode: speedy2d::window::KeyScancode,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scancode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/title.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]   --> src/screen/title.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         button: speedy2d::window::MouseButton,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/title.rs:61:40
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn on_mouse_button_down(&mut self, helper: &mut WindowHelper<String>, button: MouseButton) {
[INFO] [stdout]    |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `center`
[INFO] [stdout]   --> src/screen/title.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let center = (res.0 / 2, res.1 / 2);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_center`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/screen/title.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 |         for (name, button) in self.buttons.iter_mut() {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/title.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/title.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]   --> src/screen/title.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         info: speedy2d::window::WindowStartupInfo,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `center`
[INFO] [stdout]    --> src/screen/title.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let center = (res.0 / 2, res.1 / 2);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_center`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/screen/options.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |         for (name, button) in self.buttons.iter() {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/options.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scancode`
[INFO] [stdout]   --> src/screen/options.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         scancode: speedy2d::window::KeyScancode,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scancode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/options.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]   --> src/screen/options.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         button: speedy2d::window::MouseButton,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/options.rs:58:40
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn on_mouse_button_down(&mut self, helper: &mut WindowHelper<String>, button: MouseButton) {
[INFO] [stdout]    |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `center`
[INFO] [stdout]   --> src/screen/options.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let center = (res.0 / 2, res.1 / 2);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_center`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/screen/options.rs:79:14
[INFO] [stdout]    |
[INFO] [stdout] 79 |         for (name, button) in self.buttons.iter_mut() {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/options.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/options.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]   --> src/screen/options.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         info: speedy2d::window::WindowStartupInfo,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/options.rs:93:33
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn on_user_event(&mut self, helper: &mut WindowHelper<String>, user_event: String) {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `center`
[INFO] [stdout]    --> src/screen/options.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let center = (res.0 / 2, res.1 / 2);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_center`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `change_pos`
[INFO] [stdout]   --> src/world/mod.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn moove(&mut self, change_pos: (f32, f32)) {
[INFO] [stdout]    |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_change_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/world/mod.rs:83:59
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn new(tiles: Vec<Option<Tile>>, origin: GamePos, path: String) -> Region {
[INFO] [stdout]    |                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `deserializer`
[INFO] [stdout]   --> src/utility/time.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
[INFO] [stdout]    |                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deserializer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `virtual_key_code`
[INFO] [stdout]   --> src/screen/game.rs:89:21
[INFO] [stdout]    |
[INFO] [stdout] 89 |         if let Some(virtual_key_code) = virtual_key_code {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_virtual_key_code`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/screen/title.rs:36:14
[INFO] [stdout]    |
[INFO] [stdout] 36 |         for (name, button) in self.buttons.iter() {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/title.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scancode`
[INFO] [stdout]   --> src/screen/title.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |         scancode: speedy2d::window::KeyScancode,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scancode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/title.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]   --> src/screen/title.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         button: speedy2d::window::MouseButton,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/title.rs:61:40
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn on_mouse_button_down(&mut self, helper: &mut WindowHelper<String>, button: MouseButton) {
[INFO] [stdout]    |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `center`
[INFO] [stdout]   --> src/screen/title.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let center = (res.0 / 2, res.1 / 2);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_center`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/screen/title.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 |         for (name, button) in self.buttons.iter_mut() {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/title.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/title.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]   --> src/screen/title.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         info: speedy2d::window::WindowStartupInfo,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `center`
[INFO] [stdout]    --> src/screen/title.rs:129:13
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let center = (res.0 / 2, res.1 / 2);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_center`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/screen/options.rs:33:14
[INFO] [stdout]    |
[INFO] [stdout] 33 |         for (name, button) in self.buttons.iter() {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/options.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scancode`
[INFO] [stdout]   --> src/screen/options.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 |         scancode: speedy2d::window::KeyScancode,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scancode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/options.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `button`
[INFO] [stdout]   --> src/screen/options.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         button: speedy2d::window::MouseButton,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_button`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/options.rs:58:40
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn on_mouse_button_down(&mut self, helper: &mut WindowHelper<String>, button: MouseButton) {
[INFO] [stdout]    |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `center`
[INFO] [stdout]   --> src/screen/options.rs:78:13
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let center = (res.0 / 2, res.1 / 2);
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_center`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/screen/options.rs:79:14
[INFO] [stdout]    |
[INFO] [stdout] 79 |         for (name, button) in self.buttons.iter_mut() {
[INFO] [stdout]    |              ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/options.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/options.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         helper: &mut WindowHelper<String>,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]   --> src/screen/options.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |         info: speedy2d::window::WindowStartupInfo,
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `helper`
[INFO] [stdout]   --> src/screen/options.rs:93:33
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn on_user_event(&mut self, helper: &mut WindowHelper<String>, user_event: String) {
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_helper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `center`
[INFO] [stdout]    --> src/screen/options.rs:120:13
[INFO] [stdout]     |
[INFO] [stdout] 120 |         let center = (res.0 / 2, res.1 / 2);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_center`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `change_pos`
[INFO] [stdout]   --> src/world/mod.rs:42:25
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn moove(&mut self, change_pos: (f32, f32)) {
[INFO] [stdout]    |                         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_change_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/world/mod.rs:83:59
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn new(tiles: Vec<Option<Tile>>, origin: GamePos, path: String) -> Region {
[INFO] [stdout]    |                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `deserializer`
[INFO] [stdout]   --> src/utility/time.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
[INFO] [stdout]    |                       ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deserializer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `moove`
[INFO] [stdout]   --> src/screen/camera.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn moove(&mut self, change_pos: (f32, f32)) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `ImgState`
[INFO] [stdout]   --> src/ui/img.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum ImgState {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `init`
[INFO] [stdout]   --> src/ui/img.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn init(&mut self, img: ImageHandle) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `ImgNotInitialized`
[INFO] [stdout]   --> src/ui/img.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     ImgNotInitialized,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `magnitude`
[INFO] [stdout]   --> src/world/space.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn magnitude(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `abs`
[INFO] [stdout]   --> src/world/space.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn abs(&self) -> GamePos {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/world/mod.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn new(pos: GamePos, anim: Animation) -> Tile {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/world/mod.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn new(tiles: Vec<Option<Tile>>, origin: GamePos, path: String) -> Region {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `draw`
[INFO] [stdout]   --> src/world/mod.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn draw(&mut self, graphics: &mut Graphics2D, camera: &Camera) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `SerialNamer`
[INFO] [stdout]  --> src/utility/serial_namer.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct SerialNamer {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]  --> src/utility/serial_namer.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn new() -> SerialNamer {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `gen_name`
[INFO] [stdout]   --> src/utility/serial_namer.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn gen_name(&mut self) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `moove`
[INFO] [stdout]   --> src/screen/camera.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn moove(&mut self, change_pos: (f32, f32)) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `ImgState`
[INFO] [stdout]   --> src/ui/img.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum ImgState {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `init`
[INFO] [stdout]   --> src/ui/img.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn init(&mut self, img: ImageHandle) {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `ImgNotInitialized`
[INFO] [stdout]   --> src/ui/img.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     ImgNotInitialized,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `magnitude`
[INFO] [stdout]   --> src/world/space.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn magnitude(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `abs`
[INFO] [stdout]   --> src/world/space.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn abs(&self) -> GamePos {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/world/mod.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn new(pos: GamePos, anim: Animation) -> Tile {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/world/mod.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub fn new(tiles: Vec<Option<Tile>>, origin: GamePos, path: String) -> Region {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `draw`
[INFO] [stdout]   --> src/world/mod.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn draw(&mut self, graphics: &mut Graphics2D, camera: &Camera) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `SerialNamer`
[INFO] [stdout]  --> src/utility/serial_namer.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct SerialNamer {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]  --> src/utility/serial_namer.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn new() -> SerialNamer {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `gen_name`
[INFO] [stdout]   --> src/utility/serial_namer.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn gen_name(&mut self) -> String {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 64 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 64 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2m 36s
[INFO] running `Command { std: "docker" "inspect" "1508f18d22b07739563e73b15e9adf794c3e9ca272c068fdb5dbfc660193fed7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1508f18d22b07739563e73b15e9adf794c3e9ca272c068fdb5dbfc660193fed7", kill_on_drop: false }`
[INFO] [stdout] 1508f18d22b07739563e73b15e9adf794c3e9ca272c068fdb5dbfc660193fed7
