[INFO] cloning repository https://github.com/Agreatdayforfreedom/wgpu-game
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Agreatdayforfreedom/wgpu-game" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAgreatdayforfreedom%2Fwgpu-game", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAgreatdayforfreedom%2Fwgpu-game'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d55aff7225daec3cc85998e8ef476451cc922828
[INFO] checking Agreatdayforfreedom/wgpu-game against master#64b72a1fa5449d928d5f553b01a596b78ee255d2 for pr-153457
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAgreatdayforfreedom%2Fwgpu-game" "/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/Agreatdayforfreedom/wgpu-game
[INFO] finished tweaking git repo https://github.com/Agreatdayforfreedom/wgpu-game
[INFO] tweaked toml for git repo https://github.com/Agreatdayforfreedom/wgpu-game written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Agreatdayforfreedom/wgpu-game on toolchain 64b72a1fa5449d928d5f553b01a596b78ee255d2
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+64b72a1fa5449d928d5f553b01a596b78ee255d2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Agreatdayforfreedom/wgpu-game 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" "+64b72a1fa5449d928d5f553b01a596b78ee255d2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ravif v0.11.5
[INFO] [stderr]   Downloaded bytemuck_derive v1.6.0
[INFO] [stderr]   Downloaded colorchoice v1.0.1
[INFO] [stderr]   Downloaded version-compare v0.2.0
[INFO] [stderr]   Downloaded anstyle v1.0.7
[INFO] [stderr]   Downloaded anstream v0.6.14
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.3
[INFO] [stderr]   Downloaded glutin_wgl_sys v0.6.0
[INFO] [stderr]   Downloaded profiling v1.0.15
[INFO] [stderr]   Downloaded approx v0.4.0
[INFO] [stderr]   Downloaded anstyle-parse v0.2.4
[INFO] [stderr]   Downloaded av1-grain v0.2.3
[INFO] [stderr]   Downloaded polling v3.7.0
[INFO] [stderr]   Downloaded cgmath v0.18.0
[INFO] [stderr]   Downloaded toml_edit v0.22.13
[INFO] [stderr]   Downloaded half v2.4.1
[INFO] [stderr]   Downloaded libfuzzer-sys v0.4.7
[INFO] [stderr]   Downloaded winnow v0.6.8
[INFO] [stderr]   Downloaded wgpu v22.1.0
[INFO] [stderr]   Downloaded owned_ttf_parser v0.21.0
[INFO] [stderr]   Downloaded x11rb v0.13.1
[INFO] [stderr]   Downloaded ttf-parser v0.21.1
[INFO] [stderr]   Downloaded objc2 v0.5.1
[INFO] [stderr]   Downloaded objc2-foundation v0.2.0
[INFO] [stderr]   Downloaded wgpu-core v22.1.0
[INFO] [stderr]   Downloaded syn v2.0.65
[INFO] [stderr]   Downloaded wgpu-hal v22.0.0
[INFO] [stderr]   Downloaded image-webp v0.1.2
[INFO] [stderr]   Downloaded imgref v1.10.1
[INFO] [stderr]   Downloaded objc2-app-kit v0.2.0
[INFO] [stderr]   Downloaded rodio v0.18.1
[INFO] [stderr]   Downloaded xml-rs v0.8.20
[INFO] [stderr]   Downloaded wgpu-types v22.0.0
[INFO] [stderr]   Downloaded bitstream-io v2.3.0
[INFO] [stderr]   Downloaded target-lexicon v0.12.14
[INFO] [stderr]   Downloaded toml v0.8.13
[INFO] [stderr]   Downloaded x11rb-protocol v0.13.1
[INFO] [stderr]   Downloaded gpu-allocator v0.26.0
[INFO] [stderr]   Downloaded objc2-core-data v0.2.0
[INFO] [stderr]   Downloaded block2 v0.5.0
[INFO] [stderr]   Downloaded naga v22.1.0
[INFO] [stderr]   Downloaded winit v0.30.0
[INFO] [stderr]   Downloaded objc-sys v0.3.3
[INFO] [stderr]   Downloaded ab_glyph v0.2.26
[INFO] [stderr]   Downloaded is_terminal_polyfill v1.70.0
[INFO] [stderr]   Downloaded env_logger v0.11.3
[INFO] [stderr]   Downloaded arbitrary v1.3.2
[INFO] [stderr]   Downloaded cfg-expr v0.15.8
[INFO] [stderr]   Downloaded zune-jpeg v0.4.11
[INFO] [stderr]   Downloaded profiling-procmacros v1.0.15
[INFO] [stderr]   Downloaded sctk-adwaita v0.9.0
[INFO] [stderr]   Downloaded serde v1.0.202
[INFO] [stderr]   Downloaded anstyle-query v1.0.3
[INFO] [stderr]   Downloaded env_filter v0.1.0
[INFO] [stderr]   Downloaded built v0.7.2
[INFO] [stderr]   Downloaded rgb v0.8.37
[INFO] [stderr]   Downloaded tinyvec v1.6.1
[INFO] [stderr]   Downloaded d3d12 v22.0.0
[INFO] [stderr]   Downloaded gpu-descriptor v0.3.0
[INFO] [stderr]   Downloaded bit-vec v0.7.0
[INFO] [stderr]   Downloaded dpi v0.1.1
[INFO] [stderr]   Downloaded avif-serialize v0.8.1
[INFO] [stderr]   Downloaded bit-set v0.6.0
[INFO] [stderr]   Downloaded serde_spanned v0.6.6
[INFO] [stderr]   Downloaded serde_derive v1.0.202
[INFO] [stderr]   Downloaded system-deps v6.2.2
[INFO] [stderr]   Downloaded v_frame v0.3.8
[INFO] [stderr]   Downloaded objc2-encode v4.0.1
[INFO] [stderr]   Downloaded aligned-vec v0.5.0
[INFO] [stderr]   Downloaded rav1e v0.7.1
[INFO] [stderr]   Downloaded image v0.25.1
[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" "+64b72a1fa5449d928d5f553b01a596b78ee255d2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 504fc2cc939d2a773f12fb240df0829d044c83e260d63fe3bdf2a65239628030
[INFO] running `Command { std: "docker" "start" "-a" "504fc2cc939d2a773f12fb240df0829d044c83e260d63fe3bdf2a65239628030", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "504fc2cc939d2a773f12fb240df0829d044c83e260d63fe3bdf2a65239628030", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "504fc2cc939d2a773f12fb240df0829d044c83e260d63fe3bdf2a65239628030", kill_on_drop: false }`
[INFO] [stdout] 504fc2cc939d2a773f12fb240df0829d044c83e260d63fe3bdf2a65239628030
[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" "+64b72a1fa5449d928d5f553b01a596b78ee255d2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 08bc6eb6fc68187d86e4371f0cbb2dcc47402b9481682b1efb51e7160d655007
[INFO] running `Command { std: "docker" "start" "-a" "08bc6eb6fc68187d86e4371f0cbb2dcc47402b9481682b1efb51e7160d655007", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.82
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]    Compiling thiserror v1.0.63
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling wayland-sys v0.31.1
[INFO] [stderr]    Compiling cc v1.0.98
[INFO] [stderr]    Compiling memchr v2.7.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling quick-xml v0.31.0
[INFO] [stderr]    Compiling syn v2.0.65
[INFO] [stderr]     Checking zerocopy v0.7.34
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling wayland-backend v0.3.3
[INFO] [stderr]     Checking rayon-core v1.12.1
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking either v1.12.0
[INFO] [stderr]     Checking miniz_oxide v0.7.3
[INFO] [stderr]    Compiling wayland-scanner v0.31.1
[INFO] [stderr]     Checking num-bigint v0.4.5
[INFO] [stderr]    Compiling naga v22.1.0
[INFO] [stderr]     Checking unicode-width v0.1.12
[INFO] [stderr]    Compiling ash v0.38.0+1.3.281
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking aligned-vec v0.5.0
[INFO] [stderr]    Compiling built v0.7.2
[INFO] [stderr]     Checking bit-vec v0.7.0
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]     Checking bit-set v0.6.0
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling wgpu-hal v22.0.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking xkeysym v0.2.0
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking cursor-icon v1.1.0
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]    Compiling smithay-client-toolkit v0.18.1
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]     Checking unicode-xid v0.2.4
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]     Checking gpu-descriptor v0.3.0
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking flate2 v1.0.30
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking parking_lot v0.12.2
[INFO] [stderr]     Checking alsa-sys v0.3.1
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking polling v3.7.0
[INFO] [stderr]     Checking memmap2 v0.9.4
[INFO] [stderr]    Compiling wgpu-core v22.1.0
[INFO] [stderr]     Checking wgpu-types v22.0.0
[INFO] [stderr]     Checking owned_ttf_parser v0.21.0
[INFO] [stderr]     Checking bitstream-io v2.3.0
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]     Checking new_debug_unreachable v1.0.6
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking wayland-client v0.31.2
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking imgref v1.10.1
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking glow v0.13.1
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking ab_glyph v0.2.26
[INFO] [stderr]    Compiling document-features v0.2.10
[INFO] [stderr]    Compiling winit v0.30.0
[INFO] [stderr]     Checking tinyvec v1.6.1
[INFO] [stderr]     Checking anstyle-parse v0.2.4
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking alsa v0.9.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling bytemuck_derive v1.6.0
[INFO] [stderr]    Compiling profiling-procmacros v1.0.15
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]     Checking wayland-protocols v0.31.2
[INFO] [stderr]     Checking profiling v1.0.15
[INFO] [stderr]     Checking wayland-cursor v0.31.1
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]    Compiling wgpu v22.1.0
[INFO] [stderr]     Checking avif-serialize v0.8.1
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.0
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking anstyle-query v1.0.3
[INFO] [stderr]     Checking bytemuck v1.16.0
[INFO] [stderr]    Compiling cgmath v0.18.0
[INFO] [stderr]     Checking x11rb-protocol v0.13.1
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]     Checking symphonia-core v0.5.4
[INFO] [stderr]     Checking calloop v0.12.4
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking calloop-wayland-source v0.2.0
[INFO] [stderr]     Checking rgb v0.8.37
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking colorchoice v1.0.1
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking anstyle v1.0.7
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking symphonia-metadata v0.5.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.4
[INFO] [stderr]     Checking image-webp v0.1.2
[INFO] [stderr]     Checking symphonia v0.5.4
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking anstream v0.6.14
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking zune-jpeg v0.4.11
[INFO] [stderr]     Checking wayland-protocols-wlr v0.2.0
[INFO] [stderr]     Checking wayland-protocols-plasma v0.2.0
[INFO] [stderr]     Checking cpal v0.15.3
[INFO] [stderr]     Checking env_filter v0.1.0
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]     Checking dpi v0.1.1
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking sctk-adwaita v0.9.0
[INFO] [stderr]     Checking rodio v0.18.1
[INFO] [stderr]     Checking env_logger v0.11.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]     Checking pollster v0.3.0
[INFO] [stderr]     Checking ravif v0.11.5
[INFO] [stderr]     Checking image v0.25.1
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking space_invaders v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Array`, `EuclideanSpace`, `InnerSpace`, `Point3`, `SquareMatrix`, and `Transform`
[INFO] [stdout]  --> src/camera.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Array, EuclideanSpace, InnerSpace, Matrix4, Point3, SquareMatrix, Transform, Vector2, Vector3,
[INFO] [stdout]   |     ^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^           ^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/entities/boss.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExplosionType`, `Explosion`, `ai::patrol_area::PatrolArea`, and `self`
[INFO] [stdout]   --> src/entities/boss.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  7 |     ai::patrol_area::PatrolArea,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     explosion::{Explosion, ExplosionType},
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 12 |     particle_system::{self, system::ParticleSystem},
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `explosion::Explosion` and `self`
[INFO] [stdout]   --> src/entities/evil_ship.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     explosion::Explosion,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     particle_system::{self, system::ParticleSystem},
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ffi::c_long`
[INFO] [stdout]  --> src/entities/swift_ship.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::c_long, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CompassDir`, `ExpansiveWave`, `Explosion`, and `weapon`
[INFO] [stdout]   --> src/entity.rs:6:17
[INFO] [stdout]    |
[INFO] [stdout]  6 |     explosion::{ExpansiveWave, Explosion, ExplosionManager, ExplosionType},
[INFO] [stdout]    |                 ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     util::{distance, CompassDir, IdVendor},
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 14 |     weapon,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Point2`
[INFO] [stdout]   --> src/entity.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | use cgmath::{Angle, Deg, Point2, SquareMatrix, Vector2, Vector3, Vector4};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `particle_system`
[INFO] [stdout]  --> src/explosion.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{particle_system, rendering};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector3`
[INFO] [stdout]  --> src/particle_system/simulation_params.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use cgmath::{Array, Vector2, Vector3, Vector4};
[INFO] [stdout]   |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/player.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::weapon`
[INFO] [stdout]   --> src/player.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::weapon;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Angle`
[INFO] [stdout]   --> src/player.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | use cgmath::{Angle, Array, Point2, Vector2, Vector4};
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_render_pipeline`
[INFO] [stdout]  --> src/post_processing.rs:1:56
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::rendering::{self, create_bind_group_layout, create_render_pipeline, Sprite};
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/weapon/weapon.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 |     particle_system::{self, system::ParticleSystem},
[INFO] [stdout]   |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Array`, `EuclideanSpace`, `InnerSpace`, `Point3`, `SquareMatrix`, and `Transform`
[INFO] [stdout]  --> src/camera.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     Array, EuclideanSpace, InnerSpace, Matrix4, Point3, SquareMatrix, Transform, Vector2, Vector3,
[INFO] [stdout]   |     ^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^           ^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]  --> src/entities/boss.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rand::Rng;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExplosionType`, `Explosion`, `ai::patrol_area::PatrolArea`, and `self`
[INFO] [stdout]   --> src/entities/boss.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  7 |     ai::patrol_area::PatrolArea,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     explosion::{Explosion, ExplosionType},
[INFO] [stdout]    |                 ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 12 |     particle_system::{self, system::ParticleSystem},
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `explosion::Explosion` and `self`
[INFO] [stdout]   --> src/entities/evil_ship.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     explosion::Explosion,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |     particle_system::{self, system::ParticleSystem},
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ffi::c_long`
[INFO] [stdout]  --> src/entities/swift_ship.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{ffi::c_long, time::Duration};
[INFO] [stdout]   |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CompassDir`, `ExpansiveWave`, `Explosion`, and `weapon`
[INFO] [stdout]   --> src/entity.rs:6:17
[INFO] [stdout]    |
[INFO] [stdout]  6 |     explosion::{ExpansiveWave, Explosion, ExplosionManager, ExplosionType},
[INFO] [stdout]    |                 ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     util::{distance, CompassDir, IdVendor},
[INFO] [stdout]    |                      ^^^^^^^^^^
[INFO] [stdout] 14 |     weapon,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Point2`
[INFO] [stdout]   --> src/entity.rs:16:26
[INFO] [stdout]    |
[INFO] [stdout] 16 | use cgmath::{Angle, Deg, Point2, SquareMatrix, Vector2, Vector3, Vector4};
[INFO] [stdout]    |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `particle_system`
[INFO] [stdout]  --> src/explosion.rs:9:13
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::{particle_system, rendering};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector3`
[INFO] [stdout]  --> src/particle_system/simulation_params.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use cgmath::{Array, Vector2, Vector3, Vector4};
[INFO] [stdout]   |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]  --> src/player.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::ops::Deref;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::weapon`
[INFO] [stdout]   --> src/player.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::weapon;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Angle`
[INFO] [stdout]   --> src/player.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | use cgmath::{Angle, Array, Point2, Vector2, Vector4};
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_render_pipeline`
[INFO] [stdout]  --> src/post_processing.rs:1:56
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::rendering::{self, create_bind_group_layout, create_render_pipeline, Sprite};
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/weapon/weapon.rs:7:23
[INFO] [stdout]   |
[INFO] [stdout] 7 |     particle_system::{self, system::ParticleSystem},
[INFO] [stdout]   |                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/entities/boss.rs:183:58
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn set_target_point(&mut self, target: Vector2<f32>, dt: &Duration) {
[INFO] [stdout]     |                                                          ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/entities/boss.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let dir = (self.position() - target).normalize();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angle`
[INFO] [stdout]    --> src/entities/boss.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |         let angle = angle * 180.0 / std::f32::consts::PI;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hits`
[INFO] [stdout]   --> src/entity.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn hit(&mut self, hits: i32) {}
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_hits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]   --> src/entity.rs:83:30
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn set_colors(&mut self, color: Vector4<f32>) {}
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/entity.rs:95:36
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn set_target_point(&mut self, target: Vector2<f32>, dt: &instant::Duration) {}
[INFO] [stdout]    |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]   --> src/entity.rs:95:58
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn set_target_point(&mut self, target: Vector2<f32>, dt: &instant::Duration) {}
[INFO] [stdout]    |                                                          ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i` is assigned to, but never used
[INFO] [stdout]    --> src/particle_system/system.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut i = 0;
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_i` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]    --> src/particle_system/system.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |             i += 1;
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context_view`
[INFO] [stdout]    --> src/post_processing.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         context_view: &wgpu::TextureView,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `am`
[INFO] [stdout]   --> src/texture.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let am = if let Some(am) = am {
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_am`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `am`
[INFO] [stdout]   --> src/texture.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         am: wgpu::AddressMode,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_am`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]   --> src/weapon/cannon.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]    --> src/weapon/cannon.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]   --> src/weapon/double_connon.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `velocity`
[INFO] [stdout]    --> src/weapon/double_connon.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |         velocity: f32,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_velocity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]    --> src/weapon/double_connon.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `velocity`
[INFO] [stdout]    --> src/weapon/homing_missile.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         velocity: f32,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_velocity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]   --> src/weapon/laser.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         dir: CompassDir,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]   --> src/weapon/laser.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]   --> src/weapon/laser.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         position: cgmath::Vector2<f32>,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `velocity`
[INFO] [stdout]   --> src/weapon/laser.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |         velocity: f32,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_velocity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]   --> src/weapon/laser.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `velocity`
[INFO] [stdout]    --> src/weapon/rail_gun.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         velocity: f32,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_velocity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/weapon/weapon.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         device: &wgpu::Device,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `positions`
[INFO] [stdout]   --> src/weapon/weapon.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         positions: Vec<cgmath::Vector2<f32>>,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]   --> src/weapon/weapon.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         dir: CompassDir,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/weapon/weapon.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         input: &Input,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `audio`
[INFO] [stdout]   --> src/weapon/weapon.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         audio: Option<&mut Audio>,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_audio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id_vendor`
[INFO] [stdout]   --> src/weapon/weapon.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         id_vendor: &mut IdVendor,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_id_vendor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]   --> src/weapon/weapon.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]   --> src/weapon/weapon.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         position: cgmath::Vector2<f32>,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `velocity`
[INFO] [stdout]   --> src/weapon/weapon.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         velocity: f32,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_velocity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `queue`
[INFO] [stdout]   --> src/weapon/weapon.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         queue: &mut wgpu::Queue,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]   --> src/weapon/weapon.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         dt: &instant::Duration,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]   --> src/weapon/weapon.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_id`
[INFO] [stdout]   --> src/weapon/weapon.rs:36:30
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn set_target(&mut self, target_id: u32, target_pos: cgmath::Vector2<f32>) {}
[INFO] [stdout]    |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_pos`
[INFO] [stdout]   --> src/weapon/weapon.rs:36:46
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn set_target(&mut self, target_id: u32, target_pos: cgmath::Vector2<f32>) {}
[INFO] [stdout]    |                                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rpass`
[INFO] [stdout]   --> src/weapon/weapon.rs:50:35
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn draw<'a, 'b>(&'a mut self, rpass: &'b mut wgpu::RenderPass<'a>) {}
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_rpass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Explosion` is never constructed
[INFO] [stdout]   --> src/audio.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Sounds {
[INFO] [stdout]    |          ------ variant in this enum
[INFO] [stdout] 18 |     MainTheme,
[INFO] [stdout] 19 |     Explosion,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `prev_pos` is never read
[INFO] [stdout]   --> src/background.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Background {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 50 |     prev_pos: Vector2<f32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scale` is never read
[INFO] [stdout]   --> src/camera.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 17 |     pub position: Vector3<f32>,
[INFO] [stdout] 18 |     pub scale: Vector2<f32>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/camera.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct CameraUniform {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/camera.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | / #[repr(C)]
[INFO] [stdout] 37 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 38 | | pub struct CameraUniform {
[INFO] [stdout] 39 | |     pub proj: [[f32; 4]; 4],
[INFO] [stdout] 40 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_colors` is never used
[INFO] [stdout]   --> src/entity.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait Entity {
[INFO] [stdout]    |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 83 |     fn set_colors(&mut self, color: Vector4<f32>) {}
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_pivot` is never used
[INFO] [stdout]    --> src/entity.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl EntityUniform {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn set_pivot(&mut self, pivot: cgmath::Point2<f32>) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `position` is never read
[INFO] [stdout]   --> src/explosion.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct ExpansiveWave {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 86 |     position: Vector2<f32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `particles` is never read
[INFO] [stdout]   --> src/particle_system/system.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ParticleSystem {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     particles: HashMap<u32, Vec<f32>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `alive` is never read
[INFO] [stdout]   --> src/player.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Player {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub alive: bool,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/rendering.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Vertex {
[INFO] [stdout]   |        ^^^^^^ field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]  --> src/rendering.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | / #[repr(C)]
[INFO] [stdout] 5 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 6 | | struct Vertex {
[INFO] [stdout] 7 | |     position: [f32; 2],
[INFO] [stdout] 8 | |     tex_coords: [f32; 2],
[INFO] [stdout] 9 | | }
[INFO] [stdout]   | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mesh` is never constructed
[INFO] [stdout]    --> src/rendering.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct Mesh {}
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Material` is never constructed
[INFO] [stdout]    --> src/rendering.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub struct Material {}
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `velocity` is never read
[INFO] [stdout]   --> src/weapon/cannon.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Cannon {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     velocity: f32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `velocity` is never read
[INFO] [stdout]   --> src/weapon/double_connon.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct DoubleCannon {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     velocity: f32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPEED_LASER_MOVEMENT` is never used
[INFO] [stdout]   --> src/weapon/laser.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const SPEED_LASER_MOVEMENT: f32 = 1.5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCALE` is never used
[INFO] [stdout]   --> src/weapon/laser.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const SCALE: Vector2<f32> = Vector2::new(4.0, 40.0);
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Laser` is never constructed
[INFO] [stdout]   --> src/weapon/laser.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Laser {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/weapon/laser.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Laser {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 27 |     pub fn new(device: &wgpu::Device, queue: &wgpu::Queue) -> Box<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_target`, `has_target`, and `get_target` are never used
[INFO] [stdout]   --> src/weapon/weapon.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait Weapon {
[INFO] [stdout]    |           ------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn set_target(&mut self, target_id: u32, target_pos: cgmath::Vector2<f32>) {}
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 37 |
[INFO] [stdout] 38 |     fn has_target(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn get_target(&self) -> (u32, cgmath::Vector2<f32>) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/weapon/cannon.rs:162:24
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn get_projectiles(&mut self) -> IterMut<Projectile> {
[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] 162 |     fn get_projectiles(&mut self) -> IterMut<'_, Projectile> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/weapon/double_connon.rs:139:24
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn get_projectiles(&mut self) -> IterMut<Projectile> {
[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] 139 |     fn get_projectiles(&mut self) -> IterMut<'_, Projectile> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/weapon/laser.rs:108:24
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn get_projectiles(&mut self) -> IterMut<Projectile> {
[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] 108 |     fn get_projectiles(&mut self) -> IterMut<'_, Projectile> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/weapon/rail_gun.rs:151:24
[INFO] [stdout]     |
[INFO] [stdout] 151 |     fn get_projectiles(&mut self) -> IterMut<Projectile> {
[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] 151 |     fn get_projectiles(&mut self) -> IterMut<'_, Projectile> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]    --> src/entities/boss.rs:183:58
[INFO] [stdout]     |
[INFO] [stdout] 183 |     fn set_target_point(&mut self, target: Vector2<f32>, dt: &Duration) {
[INFO] [stdout]     |                                                          ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]    --> src/entities/boss.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |         let dir = (self.position() - target).normalize();
[INFO] [stdout]     |             ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angle`
[INFO] [stdout]    --> src/entities/boss.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |         let angle = angle * 180.0 / std::f32::consts::PI;
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hits`
[INFO] [stdout]   --> src/entity.rs:77:23
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn hit(&mut self, hits: i32) {}
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_hits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]   --> src/entity.rs:83:30
[INFO] [stdout]    |
[INFO] [stdout] 83 |     fn set_colors(&mut self, color: Vector4<f32>) {}
[INFO] [stdout]    |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target`
[INFO] [stdout]   --> src/entity.rs:95:36
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn set_target_point(&mut self, target: Vector2<f32>, dt: &instant::Duration) {}
[INFO] [stdout]    |                                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]   --> src/entity.rs:95:58
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn set_target_point(&mut self, target: Vector2<f32>, dt: &instant::Duration) {}
[INFO] [stdout]    |                                                          ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i` is assigned to, but never used
[INFO] [stdout]    --> src/particle_system/system.rs:264:13
[INFO] [stdout]     |
[INFO] [stdout] 264 |         let mut i = 0;
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_i` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]    --> src/particle_system/system.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |             i += 1;
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context_view`
[INFO] [stdout]    --> src/post_processing.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         context_view: &wgpu::TextureView,
[INFO] [stdout]     |         ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `am`
[INFO] [stdout]   --> src/texture.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let am = if let Some(am) = am {
[INFO] [stdout]    |             ^^ help: if this is intentional, prefix it with an underscore: `_am`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `am`
[INFO] [stdout]   --> src/texture.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         am: wgpu::AddressMode,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_am`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]   --> src/weapon/cannon.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]    --> src/weapon/cannon.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]   --> src/weapon/double_connon.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 69 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `velocity`
[INFO] [stdout]    --> src/weapon/double_connon.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |         velocity: f32,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_velocity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]    --> src/weapon/double_connon.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `velocity`
[INFO] [stdout]    --> src/weapon/homing_missile.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         velocity: f32,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_velocity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]   --> src/weapon/laser.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         dir: CompassDir,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]   --> src/weapon/laser.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]   --> src/weapon/laser.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         position: cgmath::Vector2<f32>,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `velocity`
[INFO] [stdout]   --> src/weapon/laser.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 84 |         velocity: f32,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_velocity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]   --> src/weapon/laser.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `velocity`
[INFO] [stdout]    --> src/weapon/rail_gun.rs:121:9
[INFO] [stdout]     |
[INFO] [stdout] 121 |         velocity: f32,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_velocity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device`
[INFO] [stdout]   --> src/weapon/weapon.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 |         device: &wgpu::Device,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_device`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `positions`
[INFO] [stdout]   --> src/weapon/weapon.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |         positions: Vec<cgmath::Vector2<f32>>,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_positions`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dir`
[INFO] [stdout]   --> src/weapon/weapon.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         dir: CompassDir,
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_dir`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input`
[INFO] [stdout]   --> src/weapon/weapon.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 |         input: &Input,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `audio`
[INFO] [stdout]   --> src/weapon/weapon.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         audio: Option<&mut Audio>,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_audio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id_vendor`
[INFO] [stdout]   --> src/weapon/weapon.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 |         id_vendor: &mut IdVendor,
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_id_vendor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]   --> src/weapon/weapon.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `position`
[INFO] [stdout]   --> src/weapon/weapon.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         position: cgmath::Vector2<f32>,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `velocity`
[INFO] [stdout]   --> src/weapon/weapon.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         velocity: f32,
[INFO] [stdout]    |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_velocity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `queue`
[INFO] [stdout]   --> src/weapon/weapon.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         queue: &mut wgpu::Queue,
[INFO] [stdout]    |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_queue`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dt`
[INFO] [stdout]   --> src/weapon/weapon.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         dt: &instant::Duration,
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_dt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `particle_system`
[INFO] [stdout]   --> src/weapon/weapon.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         particle_system: &mut ParticleSystem,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_particle_system`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_id`
[INFO] [stdout]   --> src/weapon/weapon.rs:36:30
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn set_target(&mut self, target_id: u32, target_pos: cgmath::Vector2<f32>) {}
[INFO] [stdout]    |                              ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_pos`
[INFO] [stdout]   --> src/weapon/weapon.rs:36:46
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn set_target(&mut self, target_id: u32, target_pos: cgmath::Vector2<f32>) {}
[INFO] [stdout]    |                                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rpass`
[INFO] [stdout]   --> src/weapon/weapon.rs:50:35
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn draw<'a, 'b>(&'a mut self, rpass: &'b mut wgpu::RenderPass<'a>) {}
[INFO] [stdout]    |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_rpass`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Explosion` is never constructed
[INFO] [stdout]   --> src/audio.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Sounds {
[INFO] [stdout]    |          ------ variant in this enum
[INFO] [stdout] 18 |     MainTheme,
[INFO] [stdout] 19 |     Explosion,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `prev_pos` is never read
[INFO] [stdout]   --> src/background.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Background {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 50 |     prev_pos: Vector2<f32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `scale` is never read
[INFO] [stdout]   --> src/camera.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 17 |     pub position: Vector3<f32>,
[INFO] [stdout] 18 |     pub scale: Vector2<f32>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/camera.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct CameraUniform {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> src/camera.rs:36:1
[INFO] [stdout]    |
[INFO] [stdout] 36 | / #[repr(C)]
[INFO] [stdout] 37 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 38 | | pub struct CameraUniform {
[INFO] [stdout] 39 | |     pub proj: [[f32; 4]; 4],
[INFO] [stdout] 40 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_colors` is never used
[INFO] [stdout]   --> src/entity.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait Entity {
[INFO] [stdout]    |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 83 |     fn set_colors(&mut self, color: Vector4<f32>) {}
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_pivot` is never used
[INFO] [stdout]    --> src/entity.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl EntityUniform {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn set_pivot(&mut self, pivot: cgmath::Point2<f32>) -> &mut Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `position` is never read
[INFO] [stdout]   --> src/explosion.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct ExpansiveWave {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 86 |     position: Vector2<f32>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `particles` is never read
[INFO] [stdout]   --> src/particle_system/system.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ParticleSystem {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 15 |     particles: HashMap<u32, Vec<f32>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `alive` is never read
[INFO] [stdout]   --> src/player.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct Player {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub alive: bool,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/rendering.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Vertex {
[INFO] [stdout]   |        ^^^^^^ field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]  --> src/rendering.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | / #[repr(C)]
[INFO] [stdout] 5 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 6 | | struct Vertex {
[INFO] [stdout] 7 | |     position: [f32; 2],
[INFO] [stdout] 8 | |     tex_coords: [f32; 2],
[INFO] [stdout] 9 | | }
[INFO] [stdout]   | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mesh` is never constructed
[INFO] [stdout]    --> src/rendering.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct Mesh {}
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Material` is never constructed
[INFO] [stdout]    --> src/rendering.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 206 | pub struct Material {}
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `velocity` is never read
[INFO] [stdout]   --> src/weapon/cannon.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Cannon {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     velocity: f32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `velocity` is never read
[INFO] [stdout]   --> src/weapon/double_connon.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct DoubleCannon {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     velocity: f32,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SPEED_LASER_MOVEMENT` is never used
[INFO] [stdout]   --> src/weapon/laser.rs:18:7
[INFO] [stdout]    |
[INFO] [stdout] 18 | const SPEED_LASER_MOVEMENT: f32 = 1.5;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SCALE` is never used
[INFO] [stdout]   --> src/weapon/laser.rs:19:7
[INFO] [stdout]    |
[INFO] [stdout] 19 | const SCALE: Vector2<f32> = Vector2::new(4.0, 40.0);
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Laser` is never constructed
[INFO] [stdout]   --> src/weapon/laser.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct Laser {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/weapon/laser.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Laser {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] 27 |     pub fn new(device: &wgpu::Device, queue: &wgpu::Queue) -> Box<Self> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_target`, `has_target`, and `get_target` are never used
[INFO] [stdout]   --> src/weapon/weapon.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub trait Weapon {
[INFO] [stdout]    |           ------ methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn set_target(&mut self, target_id: u32, target_pos: cgmath::Vector2<f32>) {}
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 37 |
[INFO] [stdout] 38 |     fn has_target(&self) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn get_target(&self) -> (u32, cgmath::Vector2<f32>) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/weapon/cannon.rs:162:24
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn get_projectiles(&mut self) -> IterMut<Projectile> {
[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] 162 |     fn get_projectiles(&mut self) -> IterMut<'_, Projectile> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/weapon/double_connon.rs:139:24
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn get_projectiles(&mut self) -> IterMut<Projectile> {
[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] 139 |     fn get_projectiles(&mut self) -> IterMut<'_, Projectile> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/weapon/laser.rs:108:24
[INFO] [stdout]     |
[INFO] [stdout] 108 |     fn get_projectiles(&mut self) -> IterMut<Projectile> {
[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] 108 |     fn get_projectiles(&mut self) -> IterMut<'_, Projectile> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/weapon/rail_gun.rs:151:24
[INFO] [stdout]     |
[INFO] [stdout] 151 |     fn get_projectiles(&mut self) -> IterMut<Projectile> {
[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] 151 |     fn get_projectiles(&mut self) -> IterMut<'_, Projectile> {
[INFO] [stdout]     |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 07s
[INFO] running `Command { std: "docker" "inspect" "08bc6eb6fc68187d86e4371f0cbb2dcc47402b9481682b1efb51e7160d655007", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "08bc6eb6fc68187d86e4371f0cbb2dcc47402b9481682b1efb51e7160d655007", kill_on_drop: false }`
[INFO] [stdout] 08bc6eb6fc68187d86e4371f0cbb2dcc47402b9481682b1efb51e7160d655007
