[INFO] cloning repository https://github.com/RadBoogie/vectar
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/RadBoogie/vectar" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRadBoogie%2Fvectar", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRadBoogie%2Fvectar'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ac307a01f68c018bd90c73976830f490e26a5b20
[INFO] checking RadBoogie/vectar against master#3c9faa0d037b9eecda4a440cc482ff7f960fb8a5 for pr-152210
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRadBoogie%2Fvectar" "/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/RadBoogie/vectar
[INFO] finished tweaking git repo https://github.com/RadBoogie/vectar
[INFO] tweaked toml for git repo https://github.com/RadBoogie/vectar written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/RadBoogie/vectar on toolchain 3c9faa0d037b9eecda4a440cc482ff7f960fb8a5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3c9faa0d037b9eecda4a440cc482ff7f960fb8a5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/RadBoogie/vectar 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" "+3c9faa0d037b9eecda4a440cc482ff7f960fb8a5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rust-embed-utils v8.7.2
[INFO] [stderr]   Downloaded async-process v2.3.1
[INFO] [stderr]   Downloaded rust-embed-impl v8.7.2
[INFO] [stderr]   Downloaded rust-embed v8.7.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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+3c9faa0d037b9eecda4a440cc482ff7f960fb8a5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a487d33351413aafcd39bbc42311f734030d74b9aef206449528c0e1800518d1
[INFO] running `Command { std: "docker" "start" "-a" "a487d33351413aafcd39bbc42311f734030d74b9aef206449528c0e1800518d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a487d33351413aafcd39bbc42311f734030d74b9aef206449528c0e1800518d1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a487d33351413aafcd39bbc42311f734030d74b9aef206449528c0e1800518d1", kill_on_drop: false }`
[INFO] [stdout] a487d33351413aafcd39bbc42311f734030d74b9aef206449528c0e1800518d1
[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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+3c9faa0d037b9eecda4a440cc482ff7f960fb8a5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] adb2c973e59c8b2fa80a9a9a4d07fd4f66a5f348fac9d4fad92d40650d7c41b6
[INFO] running `Command { std: "docker" "start" "-a" "adb2c973e59c8b2fa80a9a9a4d07fd4f66a5f348fac9d4fad92d40650d7c41b6", kill_on_drop: false }`
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking libloading v0.8.8
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling wayland-sys v0.31.6
[INFO] [stderr]    Compiling zvariant_utils v2.1.0
[INFO] [stderr]    Compiling enumflags2_derive v0.7.12
[INFO] [stderr]    Compiling cc v1.2.29
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]     Checking bytemuck v1.23.1
[INFO] [stderr]    Compiling quick-xml v0.37.5
[INFO] [stderr]    Compiling wayland-client v0.31.10
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking futures-lite v2.6.0
[INFO] [stderr]    Compiling zvariant_derive v4.2.0
[INFO] [stderr]     Checking endi v1.1.0
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]     Checking ttf-parser v0.25.1
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking async-broadcast v0.7.2
[INFO] [stderr]     Checking tinystr v0.8.1
[INFO] [stderr]    Compiling zbus_macros v4.4.0
[INFO] [stderr]     Checking ordered-stream v0.2.0
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]     Checking xdg-home v1.3.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.9
[INFO] [stderr]    Compiling wayland-scanner v0.31.6
[INFO] [stderr]     Checking icu_locale_core v2.0.0
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking async-executor v1.13.2
[INFO] [stderr]     Checking async-fs v2.1.2
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking icu_collections v2.0.0
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking accesskit v0.17.1
[INFO] [stderr]    Compiling wayland-backend v0.3.10
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking parking_lot_core v0.9.11
[INFO] [stderr]     Checking x11rb-protocol v0.13.1
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking parking_lot v0.12.4
[INFO] [stderr]     Checking hashbrown v0.15.4
[INFO] [stderr]     Checking immutable-chunkmap v2.0.6
[INFO] [stderr]     Checking emath v0.31.1
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]     Checking icu_properties v2.0.1
[INFO] [stderr]    Compiling winit v0.30.11
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking owned_ttf_parser v0.25.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking flate2 v1.1.2
[INFO] [stderr]     Checking ecolor v0.31.1
[INFO] [stderr]     Checking ab_glyph v0.2.30
[INFO] [stderr]     Checking accesskit_consumer v0.26.0
[INFO] [stderr]    Compiling glutin_glx_sys v0.6.1
[INFO] [stderr]    Compiling glutin_egl_sys v0.7.1
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking epaint_default_fonts v0.31.1
[INFO] [stderr]     Checking nohash-hasher v0.2.0
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking enumflags2 v0.7.12
[INFO] [stderr]     Checking quick-xml v0.30.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking epaint v0.31.1
[INFO] [stderr]     Checking zvariant v4.2.0
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]    Compiling glutin v0.32.3
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling glutin-winit v0.5.0
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]     Checking serde_json v1.0.140
[INFO] [stderr]     Checking image v0.25.6
[INFO] [stderr]    Compiling rust-embed-utils v8.7.2
[INFO] [stderr]     Checking webbrowser v1.0.5
[INFO] [stderr]     Checking egui v0.31.1
[INFO] [stderr]    Compiling rust-embed-impl v8.7.2
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]     Checking rust-embed v8.7.2
[INFO] [stderr]    Compiling zbus_names v3.0.0
[INFO] [stderr]     Checking polling v3.8.0
[INFO] [stderr]    Compiling zbus_xml v4.0.0
[INFO] [stderr]     Checking async-io v2.4.1
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]    Compiling zbus-lockstep v0.4.4
[INFO] [stderr]    Compiling zbus-lockstep-macros v0.4.4
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking zbus v4.4.0
[INFO] [stderr]     Checking wayland-protocols v0.32.8
[INFO] [stderr]     Checking wayland-cursor v0.31.10
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking egui_glow v0.31.1
[INFO] [stderr]     Checking atspi-common v0.6.0
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.8
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.8
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking arboard v3.6.0
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.2
[INFO] [stderr]     Checking atspi-proxies v0.6.0
[INFO] [stderr]     Checking accesskit_atspi_common v0.10.1
[INFO] [stderr]     Checking atspi-connection v0.6.0
[INFO] [stderr]     Checking atspi v0.22.0
[INFO] [stderr]     Checking accesskit_unix v0.13.1
[INFO] [stderr]     Checking accesskit_winit v0.23.1
[INFO] [stderr]     Checking egui-winit v0.31.1
[INFO] [stderr]     Checking eframe v0.31.1
[INFO] [stderr]     Checking vectar v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `eframe::egui`
[INFO] [stdout]  --> src/screens/title_screen.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use eframe::egui;
[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: `Align2`, `Color32`, `FontId`, and `Pos2`
[INFO] [stdout]  --> src/screens/title_screen.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{Align2, Color32, FontId, Painter, Pos2};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^^  ^^^^^^           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Align2` and `FontId`
[INFO] [stdout]  --> src/screens/level1_screen.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{Align2, Color32, FontId, Painter, Pos2, Stroke};
[INFO] [stdout]   |                    ^^^^^^           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `eframe::egui`
[INFO] [stdout]  --> src/screens/title_screen.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use eframe::egui;
[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: `Align2`, `Color32`, `FontId`, and `Pos2`
[INFO] [stdout]  --> src/screens/title_screen.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{Align2, Color32, FontId, Painter, Pos2};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^^  ^^^^^^           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Align2` and `FontId`
[INFO] [stdout]  --> src/screens/level1_screen.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use eframe::egui::{Align2, Color32, FontId, Painter, Pos2, Stroke};
[INFO] [stdout]   |                    ^^^^^^           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/player/camera.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::f32::consts::PI`
[INFO] [stdout]  --> src/types/geometry.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::PI;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SystemTime` and `UNIX_EPOCH`
[INFO] [stdout]  --> src/player/camera.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::time::{SystemTime, UNIX_EPOCH};
[INFO] [stdout]   |                 ^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `eframe::epaint::StrokeKind`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use eframe::epaint::StrokeKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color32`, `Pos2`, `Rect`, `Stroke`, and `Vec2`
[INFO] [stdout]  --> src/main.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use egui::{Color32, Pos2, Rect, Stroke, Vec2};
[INFO] [stdout]   |            ^^^^^^^  ^^^^  ^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `title_screen`
[INFO] [stdout]   --> src/main.rs:10:28
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::screens::{huds, title_screen, level1_screen};
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `eframe::epaint::StrokeKind`
[INFO] [stdout]  --> src/main.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use eframe::epaint::StrokeKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Color32`, `Pos2`, `Rect`, `Stroke`, and `Vec2`
[INFO] [stdout]  --> src/main.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use egui::{Color32, Pos2, Rect, Stroke, Vec2};
[INFO] [stdout]   |            ^^^^^^^  ^^^^  ^^^^  ^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `title_screen`
[INFO] [stdout]   --> src/main.rs:10:28
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::screens::{huds, title_screen, level1_screen};
[INFO] [stdout]    |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]   --> src/screens/title_screen.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn render(&self, camera: &Camera, painter: &Painter) {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `painter`
[INFO] [stdout]   --> src/screens/title_screen.rs:16:39
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn render(&self, camera: &Camera, painter: &Painter) {
[INFO] [stdout]    |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_painter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screens/level1_screen.rs:116:21
[INFO] [stdout]     |
[INFO] [stdout] 116 |                 let mut parts: Vec<&str> = part.split("//").collect();
[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: variable `vert_count` is assigned to, but never used
[INFO] [stdout]    --> src/player/camera.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let mut vert_count = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_vert_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `axis`
[INFO] [stdout]    --> src/player/camera.rs:175:18
[INFO] [stdout]     |
[INFO] [stdout] 175 |             let (axis, angle) = self.rotation_vector.get_rotation_to_z_forward();
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_axis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angle`
[INFO] [stdout]    --> src/player/camera.rs:175:24
[INFO] [stdout]     |
[INFO] [stdout] 175 |             let (axis, angle) = self.rotation_vector.get_rotation_to_z_forward();
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `vert_count` is never read
[INFO] [stdout]    --> src/player/camera.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |             vert_count += 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: `update`
[INFO] [stdout]   --> src/utils/message_bus.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn unregister(&mut self, update: fn(&str, &str)){
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_update`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/main.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |             if let Some(pos) = input.pointer.latest_pos() {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera`
[INFO] [stdout]   --> src/screens/title_screen.rs:16:22
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn render(&self, camera: &Camera, painter: &Painter) {
[INFO] [stdout]    |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `painter`
[INFO] [stdout]   --> src/screens/title_screen.rs:16:39
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn render(&self, camera: &Camera, painter: &Painter) {
[INFO] [stdout]    |                                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_painter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameHud` is never constructed
[INFO] [stdout]   --> src/screens/huds.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct GameHud;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/screens/huds.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl GameHud {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 49 |     pub fn new() -> Self{
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TitleScreen` is never constructed
[INFO] [stdout]  --> src/screens/title_screen.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct TitleScreen;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/screens/title_screen.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl TitleScreen {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `far_plane_distance` is never read
[INFO] [stdout]   --> src/player/camera.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     far_plane_distance: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Vector2D` is never constructed
[INFO] [stdout]   --> src/types/geometry.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct Vector2D {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `angle_to_other_vector`, `normalise`, `dot_product`, and `subtract` are never used
[INFO] [stdout]   --> src/types/geometry.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Vector2D {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn angle_to_other_vector(&self, other_vector: &Vector2D) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn normalise(&self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn dot_product(&self, vector: &Vector2D) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn subtract(&self, vector: &Vector2D) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `rotate_pitch` and `rotate` are never used
[INFO] [stdout]    --> src/types/geometry.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout]  98 | impl Vector3D {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn rotate_pitch(&self, radians: f32) -> Vector3D {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn rotate(&self, rotation: &Vector3D) -> Vector3D {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec3` is never used
[INFO] [stdout]    --> src/types/geometry.rs:591:4
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn vec3(x: f32, y: f32, z: f32) -> Vector3D {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_vectors_approx_eq` is never used
[INFO] [stdout]    --> src/types/geometry.rs:596:4
[INFO] [stdout]     |
[INFO] [stdout] 596 | fn assert_vectors_approx_eq(v1: &Vector3D, v2: &Vector3D, epsilon: f32) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessageBus` is never constructed
[INFO] [stdout]  --> src/utils/message_bus.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MessageBus{
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `register`, `unregister`, `send_message`, and `get_message` are never used
[INFO] [stdout]   --> src/utils/message_bus.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl MessageBus {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn register(&mut self, update: fn(&str, &str)){
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn unregister(&mut self, update: fn(&str, &str)){
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn send_message(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn get_message(&self)  {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `rotation` should have an upper case name
[INFO] [stdout]    --> src/screens/level1_screen.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | static mut rotation: f32 = 0.0;
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 129 - static mut rotation: f32 = 0.0;
[INFO] [stdout] 129 + static mut ROTATION: f32 = 0.0;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/utils/message_bus.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         &mut self.subscribers.push(update);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let _ = &mut self.subscribers.push(update);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/utils/message_bus.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         &self.subscribers.iter().for_each(|subscriber| subscriber("Hello", "World"));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let _ = &self.subscribers.iter().for_each(|subscriber| subscriber("Hello", "World"));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/screens/level1_screen.rs:116:21
[INFO] [stdout]     |
[INFO] [stdout] 116 |                 let mut parts: Vec<&str> = part.split("//").collect();
[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: variable `vert_count` is assigned to, but never used
[INFO] [stdout]    --> src/player/camera.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let mut vert_count = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: consider using `_vert_count` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `axis`
[INFO] [stdout]    --> src/player/camera.rs:175:18
[INFO] [stdout]     |
[INFO] [stdout] 175 |             let (axis, angle) = self.rotation_vector.get_rotation_to_z_forward();
[INFO] [stdout]     |                  ^^^^ help: if this is intentional, prefix it with an underscore: `_axis`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `angle`
[INFO] [stdout]    --> src/player/camera.rs:175:24
[INFO] [stdout]     |
[INFO] [stdout] 175 |             let (axis, angle) = self.rotation_vector.get_rotation_to_z_forward();
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_angle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `vert_count` is never read
[INFO] [stdout]    --> src/player/camera.rs:147:13
[INFO] [stdout]     |
[INFO] [stdout] 147 |             vert_count += 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: `update`
[INFO] [stdout]   --> src/utils/message_bus.rs:19:34
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn unregister(&mut self, update: fn(&str, &str)){
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_update`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pos`
[INFO] [stdout]   --> src/main.rs:55:25
[INFO] [stdout]    |
[INFO] [stdout] 55 |             if let Some(pos) = input.pointer.latest_pos() {
[INFO] [stdout]    |                         ^^^ help: if this is intentional, prefix it with an underscore: `_pos`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameHud` is never constructed
[INFO] [stdout]   --> src/screens/huds.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct GameHud;
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/screens/huds.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl GameHud {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 49 |     pub fn new() -> Self{
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TitleScreen` is never constructed
[INFO] [stdout]  --> src/screens/title_screen.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct TitleScreen;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/screens/title_screen.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl TitleScreen {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `far_plane_distance` is never read
[INFO] [stdout]   --> src/player/camera.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Camera {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     far_plane_distance: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `rotate_pitch` and `rotate` are never used
[INFO] [stdout]    --> src/types/geometry.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout]  98 | impl Vector3D {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn rotate_pitch(&self, radians: f32) -> Vector3D {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn rotate(&self, rotation: &Vector3D) -> Vector3D {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MessageBus` is never constructed
[INFO] [stdout]  --> src/utils/message_bus.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MessageBus{
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `register`, `unregister`, `send_message`, and `get_message` are never used
[INFO] [stdout]   --> src/utils/message_bus.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl MessageBus {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn register(&mut self, update: fn(&str, &str)){
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn unregister(&mut self, update: fn(&str, &str)){
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn send_message(&self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn get_message(&self)  {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static variable `rotation` should have an upper case name
[INFO] [stdout]    --> src/screens/level1_screen.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | static mut rotation: f32 = 0.0;
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 129 - static mut rotation: f32 = 0.0;
[INFO] [stdout] 129 + static mut ROTATION: f32 = 0.0;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/utils/message_bus.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |         &mut self.subscribers.push(update);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 16 |         let _ = &mut self.subscribers.push(update);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]   --> src/utils/message_bus.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         &self.subscribers.iter().for_each(|subscriber| subscriber("Hello", "World"));
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value
[INFO] [stdout]    |
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 26 |         let _ = &self.subscribers.iter().for_each(|subscriber| subscriber("Hello", "World"));
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 52.80s
[INFO] running `Command { std: "docker" "inspect" "adb2c973e59c8b2fa80a9a9a4d07fd4f66a5f348fac9d4fad92d40650d7c41b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "adb2c973e59c8b2fa80a9a9a4d07fd4f66a5f348fac9d4fad92d40650d7c41b6", kill_on_drop: false }`
[INFO] [stdout] adb2c973e59c8b2fa80a9a9a4d07fd4f66a5f348fac9d4fad92d40650d7c41b6
