[INFO] cloning repository https://github.com/hheik/dig-n-ripoff
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hheik/dig-n-ripoff" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhheik%2Fdig-n-ripoff", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhheik%2Fdig-n-ripoff'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b9667fe7bcd4baf60afdced8524ca04dbb55e5ca
[INFO] checking hheik/dig-n-ripoff against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhheik%2Fdig-n-ripoff" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hheik/dig-n-ripoff
[INFO] finished tweaking git repo https://github.com/hheik/dig-n-ripoff
[INFO] tweaked toml for git repo https://github.com/hheik/dig-n-ripoff written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hheik/dig-n-ripoff on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hheik/dig-n-ripoff already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tuple_utils v0.4.0
[INFO] [stderr]   Downloaded quote v1.0.21
[INFO] [stderr]   Downloaded proc-macro2 v1.0.43
[INFO] [stderr]   Downloaded shrev v1.1.3
[INFO] [stderr]   Downloaded unsafe-send-sync v0.1.0
[INFO] [stderr]   Downloaded specs-derive v0.4.1
[INFO] [stderr]   Downloaded either v1.8.0
[INFO] [stderr]   Downloaded tynm v0.1.6
[INFO] [stderr]   Downloaded crossbeam-queue v0.3.6
[INFO] [stderr]   Downloaded shred-derive v0.6.3
[INFO] [stderr]   Downloaded crossbeam-deque v0.8.2
[INFO] [stderr]   Downloaded mopa v0.2.2
[INFO] [stderr]   Downloaded version-compare v0.1.0
[INFO] [stderr]   Downloaded smallvec v1.9.0
[INFO] [stderr]   Downloaded once_cell v1.13.1
[INFO] [stderr]   Downloaded c_vec v2.0.0
[INFO] [stderr]   Downloaded unicode-ident v1.0.3
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.11
[INFO] [stderr]   Downloaded crossbeam-epoch v0.9.10
[INFO] [stderr]   Downloaded shred v0.13.0
[INFO] [stderr]   Downloaded atom v0.3.6
[INFO] [stderr]   Downloaded crossbeam-channel v0.5.6
[INFO] [stderr]   Downloaded specs v0.18.0
[INFO] [stderr]   Downloaded sdl2 v0.35.2
[INFO] [stderr]   Downloaded syn v1.0.99
[INFO] [stderr]   Downloaded libc v0.2.132
[INFO] [stderr]   Downloaded box2d-rs v0.0.3
[INFO] [stderr]   Downloaded sdl2-sys v0.35.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 832a9d9d7d375d6997d6ef3357795e57c978d0e0cade65f2546ab4b57d997007
[INFO] running `Command { std: "docker" "start" "-a" "832a9d9d7d375d6997d6ef3357795e57c978d0e0cade65f2546ab4b57d997007", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "832a9d9d7d375d6997d6ef3357795e57c978d0e0cade65f2546ab4b57d997007", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "832a9d9d7d375d6997d6ef3357795e57c978d0e0cade65f2546ab4b57d997007", kill_on_drop: false }`
[INFO] [stdout] 832a9d9d7d375d6997d6ef3357795e57c978d0e0cade65f2546ab4b57d997007
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9a9f324b07a8a40aaf822ef0d6c66fe147996f8d5d119dc0632374169dddacc1
[INFO] running `Command { std: "docker" "start" "-a" "9a9f324b07a8a40aaf822ef0d6c66fe147996f8d5d119dc0632374169dddacc1", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.132
[INFO] [stderr]     Checking once_cell v1.13.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.11
[INFO] [stderr]    Compiling proc-macro2 v1.0.43
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.10
[INFO] [stderr]    Compiling unicode-ident v1.0.3
[INFO] [stderr]    Compiling syn v1.0.99
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling nom v5.1.2
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]    Compiling version-compare v0.1.0
[INFO] [stderr]     Checking either v1.8.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.6
[INFO] [stderr]    Compiling log v0.4.17
[INFO] [stderr]     Checking atom v0.3.6
[INFO] [stderr]     Checking smallvec v1.9.0
[INFO] [stderr]    Compiling sdl2-sys v0.35.2
[INFO] [stderr]     Checking mopa v0.2.2
[INFO] [stderr]     Checking arrayvec v0.7.2
[INFO] [stderr]    Compiling sdl2 v0.35.2
[INFO] [stderr]     Checking shrev v1.1.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.6
[INFO] [stderr]     Checking crossbeam-deque v0.8.2
[INFO] [stderr]     Checking tuple_utils v0.4.0
[INFO] [stderr]     Checking c_vec v2.0.0
[INFO] [stderr]     Checking box2d-rs v0.0.3
[INFO] [stderr]     Checking unsafe-send-sync v0.1.0
[INFO] [stderr]     Checking getrandom v0.2.7
[INFO] [stderr]     Checking num_cpus v1.13.1
[INFO] [stderr]     Checking rayon-core v1.9.3
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rayon v1.5.3
[INFO] [stderr]     Checking tynm v0.1.6
[INFO] [stderr]    Compiling shred-derive v0.6.3
[INFO] [stderr]    Compiling specs-derive v0.4.1
[INFO] [stderr]     Checking hibitset v0.6.3
[INFO] [stderr]     Checking shred v0.13.0
[INFO] [stderr]     Checking specs v0.18.0
[INFO] [stderr]     Checking dig-n-ripoff v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ElementShadow`
[INFO] [stdout]  --> src/main.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     ui::{self, ElementShadow},
[INFO] [stdout]   |                ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadStorage` and `Write`
[INFO] [stdout]  --> src/systems/box2d_physics.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use specs::{Join, Read, ReadStorage, System, Write, WriteStorage};
[INFO] [stdout]   |                         ^^^^^^^^^^^          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/systems/camera_control.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `math::lerp`
[INFO] [stdout]  --> src/systems/camera_control.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     util::{math::lerp, Vector2F, Vector2I},
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/systems/debug/debug_info.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     for (element) in (&mut text_element).join() {
[INFO] [stdout]    |                         ^       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 35 -                     for (element) in (&mut text_element).join() {
[INFO] [stdout] 35 +                     for element  in (&mut text_element).join() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/util/font.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{collections::HashMap, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/mst/chunk.rs:69:26
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     Some(mut neighbour) => {
[INFO] [stdout]    |                          ----^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ElementShadow`
[INFO] [stdout]  --> src/main.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     ui::{self, ElementShadow},
[INFO] [stdout]   |                ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ReadStorage` and `Write`
[INFO] [stdout]  --> src/systems/box2d_physics.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use specs::{Join, Read, ReadStorage, System, Write, WriteStorage};
[INFO] [stdout]   |                         ^^^^^^^^^^^          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/systems/camera_control.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `math::lerp`
[INFO] [stdout]  --> src/systems/camera_control.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 |     util::{math::lerp, Vector2F, Vector2I},
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/systems/debug/debug_info.rs:35:25
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     for (element) in (&mut text_element).join() {
[INFO] [stdout]    |                         ^       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 35 -                     for (element) in (&mut text_element).join() {
[INFO] [stdout] 35 +                     for element  in (&mut text_element).join() {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `collections::HashMap`
[INFO] [stdout]  --> src/util/font.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{collections::HashMap, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/systems/camera_control.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn run(&mut self, (time, input, mut camera): Self::SystemData) {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `box2d`
[INFO] [stdout]   --> src/systems/debug/debug_info.rs:26:42
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn run(&mut self, (mut text_element, box2d, time): Self::SystemData) {
[INFO] [stdout]    |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_box2d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn run(&mut self, (transform, chunk, mut physics_body, box2d, mut terrain): Self::SystemData) {
[INFO] [stdout]    |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `box2d`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:34:60
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn run(&mut self, (transform, chunk, mut physics_body, box2d, mut terrain): Self::SystemData) {
[INFO] [stdout]    |                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_box2d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physics_body`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 for (chunk, physics_body) in (&chunk, &mut physics_body).join() {
[INFO] [stdout]    |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physics_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     let chunk = match terrain.index_to_chunk(&chunk.index) {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physics_body`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:55:37
[INFO] [stdout]    |
[INFO] [stdout] 55 | ...                   let (_, physics_body) = match (&chunk, &mut physics_body)
[INFO] [stdout]    |                               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physics_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:62:33
[INFO] [stdout]    |
[INFO] [stdout] 62 | ...                   let chunk = match terrain.index_to_chunk(&index) {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:68:53
[INFO] [stdout]    |
[INFO] [stdout] 68 |                         TerrainUpdate::ChunkRemoved(index) => {}
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `changes`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:69:61
[INFO] [stdout]    |
[INFO] [stdout] 69 |                         TerrainUpdate::TexelsUpdated(index, changes) => {
[INFO] [stdout]    |                                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_changes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/systems/terrain_render.rs:100:53
[INFO] [stdout]     |
[INFO] [stdout] 100 |                         TerrainUpdate::ChunkRemoved(index) => {}
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `changes`
[INFO] [stdout]    --> src/systems/terrain_render.rs:101:61
[INFO] [stdout]     |
[INFO] [stdout] 101 |                         TerrainUpdate::TexelsUpdated(index, changes) => {
[INFO] [stdout]     |                                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_changes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_linear_velocity`, `set_transform`, and `set_linear_velocity` are never used
[INFO] [stdout]   --> src/components/physics_body.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl PhysicsBody {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_linear_velocity(&self) -> Vector2F {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn set_transform(&mut self, position: Option<Vector2F>, rotation: Option<f32>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn set_linear_velocity(&self, value: Vector2F) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_font` and `set_color` are never used
[INFO] [stdout]   --> src/components/ui/text_element.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl TextElement {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn set_font(&mut self, font: Arc<Mutex<UnsafeSendSync<Font<'static, 'static>>>>) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn set_color(&mut self, color: Color) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_surface` is never used
[INFO] [stdout]   --> src/gl/renderer.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn draw_surface(canvas: &mut UnsafeCanvas, surface: &UnsafeSurface, src: Rect, dst: Rect) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position` and `id` are never read
[INFO] [stdout]   --> src/mst/chunk.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct TexelUpdate {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 11 |     pub position: Vector2I,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 12 |     pub id: TexelID,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TexelUpdate` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_texel` is never used
[INFO] [stdout]   --> src/mst/chunk.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Chunk {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn get_texel(&self, position: &Vector2I) -> Option<Texel> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `gravity` is never read
[INFO] [stdout]   --> src/resources/box2d_world.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Box2D {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 21 |     pub gravity: B2vec2,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ChunkRemoved` is never constructed
[INFO] [stdout]   --> src/resources/terrain.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum TerrainUpdate {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 20 |     ChunkRemoved(Vector2I),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TerrainUpdate` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_chunk`, `chunk_iter_mut`, `global_to_chunk`, `global_to_chunk_mut`, `global_to_texel`, and `global_to_texel_mut` are never used
[INFO] [stdout]   --> src/resources/terrain.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl Terrain {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn remove_chunk(&mut self, index: Vector2I) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn chunk_iter_mut(&mut self) -> IterMut<Vector2I, Chunk> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn global_to_chunk(&self, global: &Vector2I) -> Option<&Chunk> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn global_to_chunk_mut(&mut self, global: &Vector2I) -> Option<&mut Chunk> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn global_to_texel(&self, global: &Vector2I) -> Option<Texel> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn global_to_texel_mut(&mut self, global: &Vector2I) -> Option<Texel> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `phys_delta_time` and `lifetime` are never read
[INFO] [stdout]  --> src/resources/time.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Time {
[INFO] [stdout]   |            ---- fields in this struct
[INFO] [stdout] 4 |     pub delta_time: Duration,
[INFO] [stdout] 5 |     pub phys_delta_time: Duration,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     pub lifetime: SystemTime,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_mouse_velocity` and `prev_state` are never used
[INFO] [stdout]    --> src/resources/input.rs:89:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl Input {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn get_mouse_velocity(&self) -> Vector2I {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn prev_state(&self) -> &InputState {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_solid_shape` is never used
[INFO] [stdout]   --> src/util/box2d.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn create_solid_shape(points: Vec<Vector2F>) -> Vec<B2polygonShape> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]  --> src/util/math.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn lerp(a: f32, b: f32, t: f32) -> f32 {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Background` is never constructed
[INFO] [stdout]  --> src/util/sorting_order.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum SortingOrder {
[INFO] [stdout]   |          ------------ variant in this enum
[INFO] [stdout] 2 |     Background = -1000,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `UP`, `DOWN`, `LEFT`, and `RIGHT` are never used
[INFO] [stdout]   --> src/util/vector2_f32.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Vector2F {
[INFO] [stdout]    | ------------- associated constants in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub const UP: Vector2F = Vector2F { x: 0.0, y: -1.0 };
[INFO] [stdout]    |               ^^
[INFO] [stdout] 11 |     pub const DOWN: Vector2F = Vector2F { x: 0.0, y: 1.0 };
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 12 |     pub const LEFT: Vector2F = Vector2F { x: -1.0, y: 0.0 };
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 13 |     pub const RIGHT: Vector2F = Vector2F { x: 1.0, y: 0.0 };
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `UP` and `LEFT` are never used
[INFO] [stdout]   --> src/util/vector2_i32.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Vector2I {
[INFO] [stdout]    | ------------- associated constants in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub const UP: Vector2I = Vector2I { x: 0, y: -1 };
[INFO] [stdout]    |               ^^
[INFO] [stdout] 13 |     pub const DOWN: Vector2I = Vector2I { x: 0, y: 1 };
[INFO] [stdout] 14 |     pub const LEFT: Vector2I = Vector2I { x: -1, y: 0 };
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resources/terrain.rs:63:23
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn chunk_iter(&self) -> Iter<Vector2I, Chunk> {
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn chunk_iter(&self) -> Iter<'_, Vector2I, Chunk> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resources/terrain.rs:67:27
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn chunk_iter_mut(&mut self) -> IterMut<Vector2I, Chunk> {
[INFO] [stdout]    |                           ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn chunk_iter_mut(&mut self) -> IterMut<'_, Vector2I, Chunk> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/mst/chunk.rs:69:26
[INFO] [stdout]    |
[INFO] [stdout] 69 |                     Some(mut neighbour) => {
[INFO] [stdout]    |                          ----^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]   --> src/systems/camera_control.rs:22:24
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn run(&mut self, (time, input, mut camera): Self::SystemData) {
[INFO] [stdout]    |                        ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `box2d`
[INFO] [stdout]   --> src/systems/debug/debug_info.rs:26:42
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn run(&mut self, (mut text_element, box2d, time): Self::SystemData) {
[INFO] [stdout]    |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_box2d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:34:24
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn run(&mut self, (transform, chunk, mut physics_body, box2d, mut terrain): Self::SystemData) {
[INFO] [stdout]    |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `box2d`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:34:60
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn run(&mut self, (transform, chunk, mut physics_body, box2d, mut terrain): Self::SystemData) {
[INFO] [stdout]    |                                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_box2d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physics_body`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 for (chunk, physics_body) in (&chunk, &mut physics_body).join() {
[INFO] [stdout]    |                             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physics_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:40:25
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     let chunk = match terrain.index_to_chunk(&chunk.index) {
[INFO] [stdout]    |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `physics_body`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:55:37
[INFO] [stdout]    |
[INFO] [stdout] 55 | ...                   let (_, physics_body) = match (&chunk, &mut physics_body)
[INFO] [stdout]    |                               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_physics_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `chunk`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:62:33
[INFO] [stdout]    |
[INFO] [stdout] 62 | ...                   let chunk = match terrain.index_to_chunk(&index) {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_chunk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:68:53
[INFO] [stdout]    |
[INFO] [stdout] 68 |                         TerrainUpdate::ChunkRemoved(index) => {}
[INFO] [stdout]    |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `changes`
[INFO] [stdout]   --> src/systems/terrain_collisions.rs:69:61
[INFO] [stdout]    |
[INFO] [stdout] 69 |                         TerrainUpdate::TexelsUpdated(index, changes) => {
[INFO] [stdout]    |                                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_changes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/systems/terrain_render.rs:100:53
[INFO] [stdout]     |
[INFO] [stdout] 100 |                         TerrainUpdate::ChunkRemoved(index) => {}
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `changes`
[INFO] [stdout]    --> src/systems/terrain_render.rs:101:61
[INFO] [stdout]     |
[INFO] [stdout] 101 |                         TerrainUpdate::TexelsUpdated(index, changes) => {
[INFO] [stdout]     |                                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_changes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_linear_velocity`, `set_transform`, and `set_linear_velocity` are never used
[INFO] [stdout]   --> src/components/physics_body.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl PhysicsBody {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_linear_velocity(&self) -> Vector2F {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn set_transform(&mut self, position: Option<Vector2F>, rotation: Option<f32>) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn set_linear_velocity(&self, value: Vector2F) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_font` and `set_color` are never used
[INFO] [stdout]   --> src/components/ui/text_element.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl TextElement {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn set_font(&mut self, font: Arc<Mutex<UnsafeSendSync<Font<'static, 'static>>>>) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn set_color(&mut self, color: Color) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `draw_surface` is never used
[INFO] [stdout]   --> src/gl/renderer.rs:63:8
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub fn draw_surface(canvas: &mut UnsafeCanvas, surface: &UnsafeSurface, src: Rect, dst: Rect) {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position` and `id` are never read
[INFO] [stdout]   --> src/mst/chunk.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct TexelUpdate {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 11 |     pub position: Vector2I,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 12 |     pub id: TexelID,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TexelUpdate` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_texel` is never used
[INFO] [stdout]   --> src/mst/chunk.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl Chunk {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn get_texel(&self, position: &Vector2I) -> Option<Texel> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `gravity` is never read
[INFO] [stdout]   --> src/resources/box2d_world.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct Box2D {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 21 |     pub gravity: B2vec2,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ChunkRemoved` is never constructed
[INFO] [stdout]   --> src/resources/terrain.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum TerrainUpdate {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 20 |     ChunkRemoved(Vector2I),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TerrainUpdate` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `remove_chunk`, `chunk_iter_mut`, `global_to_chunk`, `global_to_chunk_mut`, `global_to_texel`, and `global_to_texel_mut` are never used
[INFO] [stdout]   --> src/resources/terrain.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl Terrain {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn remove_chunk(&mut self, index: Vector2I) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn chunk_iter_mut(&mut self) -> IterMut<Vector2I, Chunk> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn global_to_chunk(&self, global: &Vector2I) -> Option<&Chunk> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn global_to_chunk_mut(&mut self, global: &Vector2I) -> Option<&mut Chunk> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub fn global_to_texel(&self, global: &Vector2I) -> Option<Texel> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn global_to_texel_mut(&mut self, global: &Vector2I) -> Option<Texel> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `phys_delta_time` and `lifetime` are never read
[INFO] [stdout]  --> src/resources/time.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Time {
[INFO] [stdout]   |            ---- fields in this struct
[INFO] [stdout] 4 |     pub delta_time: Duration,
[INFO] [stdout] 5 |     pub phys_delta_time: Duration,
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 6 |     pub lifetime: SystemTime,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_mouse_velocity` and `prev_state` are never used
[INFO] [stdout]    --> src/resources/input.rs:89:12
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl Input {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn get_mouse_velocity(&self) -> Vector2I {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub fn prev_state(&self) -> &InputState {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_solid_shape` is never used
[INFO] [stdout]   --> src/util/box2d.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn create_solid_shape(points: Vec<Vector2F>) -> Vec<B2polygonShape> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]  --> src/util/math.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn lerp(a: f32, b: f32, t: f32) -> f32 {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Background` is never constructed
[INFO] [stdout]  --> src/util/sorting_order.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum SortingOrder {
[INFO] [stdout]   |          ------------ variant in this enum
[INFO] [stdout] 2 |     Background = -1000,
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `UP`, `DOWN`, `LEFT`, and `RIGHT` are never used
[INFO] [stdout]   --> src/util/vector2_f32.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Vector2F {
[INFO] [stdout]    | ------------- associated constants in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 10 |     pub const UP: Vector2F = Vector2F { x: 0.0, y: -1.0 };
[INFO] [stdout]    |               ^^
[INFO] [stdout] 11 |     pub const DOWN: Vector2F = Vector2F { x: 0.0, y: 1.0 };
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 12 |     pub const LEFT: Vector2F = Vector2F { x: -1.0, y: 0.0 };
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 13 |     pub const RIGHT: Vector2F = Vector2F { x: 1.0, y: 0.0 };
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `UP` and `LEFT` are never used
[INFO] [stdout]   --> src/util/vector2_i32.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Vector2I {
[INFO] [stdout]    | ------------- associated constants in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub const UP: Vector2I = Vector2I { x: 0, y: -1 };
[INFO] [stdout]    |               ^^
[INFO] [stdout] 13 |     pub const DOWN: Vector2I = Vector2I { x: 0, y: 1 };
[INFO] [stdout] 14 |     pub const LEFT: Vector2I = Vector2I { x: -1, y: 0 };
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resources/terrain.rs:63:23
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn chunk_iter(&self) -> Iter<Vector2I, Chunk> {
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn chunk_iter(&self) -> Iter<'_, Vector2I, Chunk> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/resources/terrain.rs:67:27
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn chunk_iter_mut(&mut self) -> IterMut<Vector2I, Chunk> {
[INFO] [stdout]    |                           ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                           |
[INFO] [stdout]    |                           the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn chunk_iter_mut(&mut self) -> IterMut<'_, Vector2I, Chunk> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.23s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "9a9f324b07a8a40aaf822ef0d6c66fe147996f8d5d119dc0632374169dddacc1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a9f324b07a8a40aaf822ef0d6c66fe147996f8d5d119dc0632374169dddacc1", kill_on_drop: false }`
[INFO] [stdout] 9a9f324b07a8a40aaf822ef0d6c66fe147996f8d5d119dc0632374169dddacc1
