[INFO] cloning repository https://github.com/TJRiley96/arcadia_engine
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TJRiley96/arcadia_engine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTJRiley96%2Farcadia_engine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTJRiley96%2Farcadia_engine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 17e9e3169e9c96495815258dc3bf3c5c16527b2f
[INFO] testing TJRiley96/arcadia_engine against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTJRiley96%2Farcadia_engine" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/TJRiley96/arcadia_engine
[INFO] finished tweaking git repo https://github.com/TJRiley96/arcadia_engine
[INFO] tweaked toml for git repo https://github.com/TJRiley96/arcadia_engine written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/TJRiley96/arcadia_engine on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/TJRiley96/arcadia_engine 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0f29be171c412e56433ecbe2b37e2b4c4564d82434d040209963980bab90ad90
[INFO] running `Command { std: "docker" "start" "-a" "0f29be171c412e56433ecbe2b37e2b4c4564d82434d040209963980bab90ad90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0f29be171c412e56433ecbe2b37e2b4c4564d82434d040209963980bab90ad90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f29be171c412e56433ecbe2b37e2b4c4564d82434d040209963980bab90ad90", kill_on_drop: false }`
[INFO] [stdout] 0f29be171c412e56433ecbe2b37e2b4c4564d82434d040209963980bab90ad90
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0da598bb76bb60466ae5b06cd0e8f7802b898c5af883d76878f3019b60883ea6
[INFO] running `Command { std: "docker" "start" "-a" "0da598bb76bb60466ae5b06cd0e8f7802b898c5af883d76878f3019b60883ea6", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling as-slice v0.2.1
[INFO] [stderr]    Compiling av-scenechange v0.14.1
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling built v0.8.0
[INFO] [stderr]    Compiling aligned v0.4.3
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling core2 v0.4.0
[INFO] [stderr]    Compiling y4m v0.8.0
[INFO] [stderr]    Compiling pastey v0.1.1
[INFO] [stderr]    Compiling quick-error v2.0.1
[INFO] [stderr]    Compiling bitstream-io v4.9.0
[INFO] [stderr]    Compiling rav1e v0.8.1
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]    Compiling zune-core v0.5.1
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling imgref v1.12.0
[INFO] [stderr]    Compiling xml-rs v0.8.28
[INFO] [stderr]    Compiling weezl v0.1.12
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling loop9 v0.1.5
[INFO] [stderr]    Compiling glfw-sys v8.0.0
[INFO] [stderr]    Compiling zune-jpeg v0.5.15
[INFO] [stderr]    Compiling avif-serialize v0.8.8
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling zune-inflate v0.2.54
[INFO] [stderr]    Compiling pxfm v0.1.28
[INFO] [stderr]    Compiling lebe v0.5.3
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling bit_field v0.10.3
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling rgb v0.8.53
[INFO] [stderr]    Compiling image-webp v0.2.4
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling gif v0.14.1
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]    Compiling raw-window-handle v0.6.2
[INFO] [stderr]    Compiling maybe-rayon v0.1.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]    Compiling profiling v1.0.17
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling equator v0.4.2
[INFO] [stderr]    Compiling aligned-vec v0.6.4
[INFO] [stderr]    Compiling fax v0.2.6
[INFO] [stderr]    Compiling v_frame v0.3.9
[INFO] [stderr]    Compiling moxcms v0.8.1
[INFO] [stderr]    Compiling av1-grain v0.2.5
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling arcadia_engine_derive v0.1.0 (/opt/rustwide/workdir/arcadia_engine_derive)
[INFO] [stdout] warning: unused import: `parse_macro_input`
[INFO] [stdout]  --> arcadia_engine_derive/src/lib.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use syn::{parse_macro_input, DeriveInput};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling exr v1.74.0
[INFO] [stderr]    Compiling tiff v0.11.3
[INFO] [stderr]    Compiling ravif v0.13.0
[INFO] [stderr]    Compiling image v0.25.10
[INFO] [stderr]    Compiling glfw v0.62.0
[INFO] [stderr]    Compiling arcadia_engine v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::core::actor::ActorTrait`
[INFO] [stdout]   --> src/core/camera_actor.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::actor::ActorTrait;
[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: `warning`
[INFO] [stdout]   --> src/core/mesh.rs:19:41
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::util::logging::{error, info, warning, SystemType};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `*`, `Action`, and `Key`
[INFO] [stdout]   --> src/core/renderer.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Action,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Key,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     fail_on_errors,
[INFO] [stdout] 17 |     *
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warning`
[INFO] [stdout]   --> src/core/renderer.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::util::logging::{Logger, error, info, warning, SystemType};
[INFO] [stdout]    |                                    ^^^^^  ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/core/renderer.rs:22:27
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::core::shader::{self, Buffer, BufferType, Shader, ShaderProgram, VertexArray, buffer_data, clear_color};
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::game::Game`
[INFO] [stdout]   --> src/core/renderer.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::core::game::Game;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/core/texture.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warning`
[INFO] [stdout]   --> src/core/texture.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::util::logging::{error, info, warning, SystemType};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeZone`
[INFO] [stdout]   --> src/util/logging.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use chrono::{TimeZone, Utc};
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::From`
[INFO] [stdout]  --> src/util/math/matrix.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> src/util/math/matrix.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector4`
[INFO] [stdout]   --> src/util/math/matrix.rs:14:42
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::util::math::vector::{Vector3, Vector4};
[INFO] [stdout]    |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/core/mesh.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `view_matrix`
[INFO] [stdout]    --> src/core/renderer.rs:131:35
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn set_view_matrix(&self, view_matrix: &Matrix4) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_view_matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `projection_matrix`
[INFO] [stdout]    --> src/core/renderer.rs:135:41
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub fn set_projection_matrix(&self, projection_matrix: &Matrix4) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_projection_matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shader`
[INFO] [stdout]    --> src/core/renderer.rs:155:38
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub fn set_light_uniforms(&self, shader: &Shader) {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]    --> src/core/renderer.rs:159:37
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn set_ambient_light(&self, color: [f32; 3]) {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> src/util/math/matrix.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         result.data[2][2] = t * z * z + c;
[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: type `actor::State` is more private than the item `ActorTrait::get_state`
[INFO] [stdout]   --> src/core/actor.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn get_state(&self) -> &State;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ActorTrait::get_state` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `actor::State` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/actor.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum State {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `actor::State` is more private than the item `ActorTrait::set_state`
[INFO] [stdout]   --> src/core/actor.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn set_state(&mut self, state: State);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ActorTrait::set_state` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `actor::State` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/actor.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum State {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `component::Component<MeshComponent>` is more private than the item `component::Components::MeshComponent::0`
[INFO] [stdout]   --> src/core/component.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |     MeshComponent(Component<MeshComponent>),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^ field `component::Components::MeshComponent::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `component::Component<MeshComponent>` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/component.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct  Component<T: ComponentTrait> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Active`, `Paused`, and `Dead` are never constructed
[INFO] [stdout]   --> src/core/camera_actor.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum State {
[INFO] [stdout]    |      ----- variants in this enum
[INFO] [stdout] 23 |     Active,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 24 |     Paused,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     Dead,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/core/camera_actor.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct CameraActor {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     id: u32,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 32 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 33 |     components: Vec<Components>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 34 |     state: State,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 35 |
[INFO] [stdout] 36 |     world_transform: Matrix4,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     position: Vector3,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 38 |     rotation: Quaternion,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 39 |     scale: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `actors`, `peading_actors`, `updating_actors`, and `camera_actor` are never read
[INFO] [stdout]   --> src/core/game.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Game {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     actors: Vec<Actor>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 33 |     peading_actors: Vec<Actor>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     updating_actors: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     camera_actor: Option<CameraActor>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_obj` is never used
[INFO] [stdout]   --> src/core/mesh.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Mesh {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUATERNION_IDENTITY` is never used
[INFO] [stdout]   --> src/util/math/quaternion.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const QUATERNION_IDENTITY: Quaternion = Quaternion { x: 0.0, y: 0.0, z: 0.0, w: 1.0 };
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeZone`
[INFO] [stdout]   --> src/util/logging.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use chrono::{TimeZone, Utc};
[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: `std::convert::From`
[INFO] [stdout]  --> src/util/math/matrix.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> src/util/math/matrix.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector4`
[INFO] [stdout]   --> src/util/math/matrix.rs:14:42
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::util::math::vector::{Vector3, Vector4};
[INFO] [stdout]    |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::actor::ActorTrait`
[INFO] [stdout]   --> src/core/camera_actor.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::actor::ActorTrait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warning`
[INFO] [stdout]   --> src/core/mesh.rs:19:41
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::util::logging::{error, info, warning, SystemType};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `*`, `Action`, and `Key`
[INFO] [stdout]   --> src/core/renderer.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Action,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Key,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     fail_on_errors,
[INFO] [stdout] 17 |     *
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warning`
[INFO] [stdout]   --> src/core/renderer.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::util::logging::{Logger, error, info, warning, SystemType};
[INFO] [stdout]    |                                    ^^^^^  ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/core/renderer.rs:22:27
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::core::shader::{self, Buffer, BufferType, Shader, ShaderProgram, VertexArray, buffer_data, clear_color};
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::game::Game`
[INFO] [stdout]   --> src/core/renderer.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::core::game::Game;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/core/texture.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warning`
[INFO] [stdout]   --> src/core/texture.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::util::logging::{error, info, warning, SystemType};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::game`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::core::game;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `game::Game`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     game::Game,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> src/util/math/matrix.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         result.data[2][2] = t * z * z + c;
[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: `path`
[INFO] [stdout]   --> src/core/mesh.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `view_matrix`
[INFO] [stdout]    --> src/core/renderer.rs:131:35
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn set_view_matrix(&self, view_matrix: &Matrix4) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_view_matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `projection_matrix`
[INFO] [stdout]    --> src/core/renderer.rs:135:41
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub fn set_projection_matrix(&self, projection_matrix: &Matrix4) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_projection_matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shader`
[INFO] [stdout]    --> src/core/renderer.rs:155:38
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub fn set_light_uniforms(&self, shader: &Shader) {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]    --> src/core/renderer.rs:159:37
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn set_ambient_light(&self, color: [f32; 3]) {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `transform` is never read
[INFO] [stdout]    --> src/main.rs:325:34
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let mut transform: Matrix4 = Matrix4::identity();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 369 |         transform = Matrix4::create_scale_uniform(scale);
[INFO] [stdout]     |         ------------------------------------------------ `transform` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `core::actor::State` is more private than the item `core::actor::ActorTrait::get_state`
[INFO] [stdout]   --> src/core/actor.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn get_state(&self) -> &State;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `core::actor::ActorTrait::get_state` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `core::actor::State` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/actor.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum State {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `core::actor::State` is more private than the item `core::actor::ActorTrait::set_state`
[INFO] [stdout]   --> src/core/actor.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn set_state(&mut self, state: State);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `core::actor::ActorTrait::set_state` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `core::actor::State` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/actor.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum State {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `core::component::Component<core::components::mesh_component::MeshComponent>` is more private than the item `core::component::Components::MeshComponent::0`
[INFO] [stdout]   --> src/core/component.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |     MeshComponent(Component<MeshComponent>),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^ field `core::component::Components::MeshComponent::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `core::component::Component<core::components::mesh_component::MeshComponent>` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/component.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct  Component<T: ComponentTrait> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampf` is never used
[INFO] [stdout]   --> src/util/math/functions.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn clampf(value: f32, min: f32, max: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampi` is never used
[INFO] [stdout]   --> src/util/math/functions.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn clampi(value: i32, min: i32, max: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]   --> src/util/math/functions.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn lerp(start: f32, end: f32, t: f32) -> f32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUATERNION_IDENTITY` is never used
[INFO] [stdout]   --> src/util/math/quaternion.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const QUATERNION_IDENTITY: Quaternion = Quaternion { x: 0.0, y: 0.0, z: 0.0, w: 1.0 };
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/util/math/quaternion.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Quaternion {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  33 |
[INFO] [stdout]  34 |     pub fn new(x: f32, y: f32, z: f32, w: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn set(&mut self, x: f32, y: f32, z: f32, w: f32) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn conjugate(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub fn length(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn normalize(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn normalized(q: Quaternion) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn lerp(q1: Quaternion, q2: Quaternion, t: f32) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn dot(q1: &Quaternion, q2: &Quaternion) -> f32 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn slerp(q1: Quaternion, q2: Quaternion, t: f32) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn concat(q1: Quaternion, q2: Quaternion) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Active`, `Paused`, and `Dead` are never constructed
[INFO] [stdout]   --> src/core/camera_actor.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum State {
[INFO] [stdout]    |      ----- variants in this enum
[INFO] [stdout] 23 |     Active,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 24 |     Paused,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     Dead,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/core/camera_actor.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct CameraActor {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     id: u32,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 32 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 33 |     components: Vec<Components>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 34 |     state: State,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 35 |
[INFO] [stdout] 36 |     world_transform: Matrix4,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     position: Vector3,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 38 |     rotation: Quaternion,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 39 |     scale: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `render` are never used
[INFO] [stdout]   --> src/core/components/mesh_component.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl MeshComponent {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 29 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn render(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveComponent` is never constructed
[INFO] [stdout]   --> src/core/components/move_component.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct MoveComponent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]   --> src/core/components/move_component.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl MoveComponent {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 25 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn update(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/core/game.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Game {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     renderer: Option<Renderer>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 30 |     is_running: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 31 |     tick_count: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 32 |     actors: Vec<Actor>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 33 |     peading_actors: Vec<Actor>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     updating_actors: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     camera_actor: Option<CameraActor>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/core/game.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl Game{
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 39 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn initialize(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn update(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn render(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn get_tick_count(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn get_renderer(&mut self) -> &mut Renderer {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `textures`, `vertex_array`, `shader_name`, `radius`, and `specular_intensity` are never read
[INFO] [stdout]   --> src/core/mesh.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Mesh {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 25 |     // Placeholder for mesh data (e.g., vertex buffer, index buffer, etc.)
[INFO] [stdout] 26 |     textures: Vec<Texture>, // List of texture file paths associated with this mesh
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 27 |     vertex_array: VertexArray, // Vertex array object for this mesh
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 28 |     shader_name: String, // Name of the shader associated with this mesh
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 29 |     radius: f32, // Bounding sphere radius for the mesh
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     specular_intensity: f32, // Specular intensity for lighting calculations
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/core/mesh.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Mesh {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 34 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn load(&mut self, path: &str) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn unload(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn get_vertex_array(&self) -> &VertexArray {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn get_texture(&self, index: usize) -> Option<&Texture> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn get_shader_name(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn get_radius(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn get_specular_intensity(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     fn file_exists(&self, path: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 57s
[INFO] running `Command { std: "docker" "inspect" "0da598bb76bb60466ae5b06cd0e8f7802b898c5af883d76878f3019b60883ea6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0da598bb76bb60466ae5b06cd0e8f7802b898c5af883d76878f3019b60883ea6", kill_on_drop: false }`
[INFO] [stdout] 0da598bb76bb60466ae5b06cd0e8f7802b898c5af883d76878f3019b60883ea6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] de6b4b3700d6073de17ce99d4d1faf4e5997a6a395909605fa5a55e8d328234b
[INFO] running `Command { std: "docker" "start" "-a" "de6b4b3700d6073de17ce99d4d1faf4e5997a6a395909605fa5a55e8d328234b", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `parse_macro_input`
[INFO] [stdout]  --> arcadia_engine_derive/src/lib.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use syn::{parse_macro_input, DeriveInput};
[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: `crate::core::actor::ActorTrait`
[INFO] [stdout]   --> src/core/camera_actor.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::actor::ActorTrait;
[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: `warning`
[INFO] [stdout]   --> src/core/mesh.rs:19:41
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::util::logging::{error, info, warning, SystemType};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `*`, `Action`, and `Key`
[INFO] [stdout]   --> src/core/renderer.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Action,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Key,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     fail_on_errors,
[INFO] [stdout] 17 |     *
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warning`
[INFO] [stdout]   --> src/core/renderer.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::util::logging::{Logger, error, info, warning, SystemType};
[INFO] [stdout]    |                                    ^^^^^  ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/core/renderer.rs:22:27
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::core::shader::{self, Buffer, BufferType, Shader, ShaderProgram, VertexArray, buffer_data, clear_color};
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::game::Game`
[INFO] [stdout]   --> src/core/renderer.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::core::game::Game;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/core/texture.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warning`
[INFO] [stdout]   --> src/core/texture.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::util::logging::{error, info, warning, SystemType};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeZone`
[INFO] [stdout]   --> src/util/logging.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use chrono::{TimeZone, Utc};
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::From`
[INFO] [stdout]  --> src/util/math/matrix.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> src/util/math/matrix.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector4`
[INFO] [stdout]   --> src/util/math/matrix.rs:14:42
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::util::math::vector::{Vector3, Vector4};
[INFO] [stdout]    |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/core/mesh.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `view_matrix`
[INFO] [stdout]    --> src/core/renderer.rs:131:35
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn set_view_matrix(&self, view_matrix: &Matrix4) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_view_matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `projection_matrix`
[INFO] [stdout]    --> src/core/renderer.rs:135:41
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub fn set_projection_matrix(&self, projection_matrix: &Matrix4) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_projection_matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shader`
[INFO] [stdout]    --> src/core/renderer.rs:155:38
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub fn set_light_uniforms(&self, shader: &Shader) {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]    --> src/core/renderer.rs:159:37
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn set_ambient_light(&self, color: [f32; 3]) {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> src/util/math/matrix.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         result.data[2][2] = t * z * z + c;
[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: type `actor::State` is more private than the item `ActorTrait::get_state`
[INFO] [stdout]   --> src/core/actor.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn get_state(&self) -> &State;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ActorTrait::get_state` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `actor::State` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/actor.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum State {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `actor::State` is more private than the item `ActorTrait::set_state`
[INFO] [stdout]   --> src/core/actor.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn set_state(&mut self, state: State);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ActorTrait::set_state` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `actor::State` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/actor.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum State {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `component::Component<MeshComponent>` is more private than the item `component::Components::MeshComponent::0`
[INFO] [stdout]   --> src/core/component.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |     MeshComponent(Component<MeshComponent>),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^ field `component::Components::MeshComponent::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `component::Component<MeshComponent>` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/component.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct  Component<T: ComponentTrait> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Active`, `Paused`, and `Dead` are never constructed
[INFO] [stdout]   --> src/core/camera_actor.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum State {
[INFO] [stdout]    |      ----- variants in this enum
[INFO] [stdout] 23 |     Active,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 24 |     Paused,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     Dead,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/core/camera_actor.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct CameraActor {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     id: u32,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 32 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 33 |     components: Vec<Components>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 34 |     state: State,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 35 |
[INFO] [stdout] 36 |     world_transform: Matrix4,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     position: Vector3,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 38 |     rotation: Quaternion,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 39 |     scale: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `actors`, `peading_actors`, `updating_actors`, and `camera_actor` are never read
[INFO] [stdout]   --> src/core/game.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Game {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     actors: Vec<Actor>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 33 |     peading_actors: Vec<Actor>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     updating_actors: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     camera_actor: Option<CameraActor>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_obj` is never used
[INFO] [stdout]   --> src/core/mesh.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Mesh {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUATERNION_IDENTITY` is never used
[INFO] [stdout]   --> src/util/math/quaternion.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const QUATERNION_IDENTITY: Quaternion = Quaternion { x: 0.0, y: 0.0, z: 0.0, w: 1.0 };
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling arcadia_engine v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TimeZone`
[INFO] [stdout]   --> src/util/logging.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use chrono::{TimeZone, Utc};
[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: `std::convert::From`
[INFO] [stdout]  --> src/util/math/matrix.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> src/util/math/matrix.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector4`
[INFO] [stdout]   --> src/util/math/matrix.rs:14:42
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::util::math::vector::{Vector3, Vector4};
[INFO] [stdout]    |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::actor::ActorTrait`
[INFO] [stdout]   --> src/core/camera_actor.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::actor::ActorTrait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warning`
[INFO] [stdout]   --> src/core/mesh.rs:19:41
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::util::logging::{error, info, warning, SystemType};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `*`, `Action`, and `Key`
[INFO] [stdout]   --> src/core/renderer.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Action,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Key,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     fail_on_errors,
[INFO] [stdout] 17 |     *
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warning`
[INFO] [stdout]   --> src/core/renderer.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::util::logging::{Logger, error, info, warning, SystemType};
[INFO] [stdout]    |                                    ^^^^^  ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/core/renderer.rs:22:27
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::core::shader::{self, Buffer, BufferType, Shader, ShaderProgram, VertexArray, buffer_data, clear_color};
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::game::Game`
[INFO] [stdout]   --> src/core/renderer.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::core::game::Game;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/core/texture.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warning`
[INFO] [stdout]   --> src/core/texture.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::util::logging::{error, info, warning, SystemType};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::game`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::core::game;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `game::Game`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     game::Game,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> src/util/math/matrix.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         result.data[2][2] = t * z * z + c;
[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: `path`
[INFO] [stdout]   --> src/core/mesh.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `view_matrix`
[INFO] [stdout]    --> src/core/renderer.rs:131:35
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn set_view_matrix(&self, view_matrix: &Matrix4) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_view_matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `projection_matrix`
[INFO] [stdout]    --> src/core/renderer.rs:135:41
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub fn set_projection_matrix(&self, projection_matrix: &Matrix4) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_projection_matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shader`
[INFO] [stdout]    --> src/core/renderer.rs:155:38
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub fn set_light_uniforms(&self, shader: &Shader) {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]    --> src/core/renderer.rs:159:37
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn set_ambient_light(&self, color: [f32; 3]) {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `transform` is never read
[INFO] [stdout]    --> src/main.rs:325:34
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let mut transform: Matrix4 = Matrix4::identity();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 369 |         transform = Matrix4::create_scale_uniform(scale);
[INFO] [stdout]     |         ------------------------------------------------ `transform` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `core::actor::State` is more private than the item `core::actor::ActorTrait::get_state`
[INFO] [stdout]   --> src/core/actor.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn get_state(&self) -> &State;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `core::actor::ActorTrait::get_state` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `core::actor::State` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/actor.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum State {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `core::actor::State` is more private than the item `core::actor::ActorTrait::set_state`
[INFO] [stdout]   --> src/core/actor.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn set_state(&mut self, state: State);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `core::actor::ActorTrait::set_state` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `core::actor::State` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/actor.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum State {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `core::component::Component<core::components::mesh_component::MeshComponent>` is more private than the item `core::component::Components::MeshComponent::0`
[INFO] [stdout]   --> src/core/component.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |     MeshComponent(Component<MeshComponent>),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^ field `core::component::Components::MeshComponent::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `core::component::Component<core::components::mesh_component::MeshComponent>` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/component.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct  Component<T: ComponentTrait> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampf` is never used
[INFO] [stdout]   --> src/util/math/functions.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn clampf(value: f32, min: f32, max: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampi` is never used
[INFO] [stdout]   --> src/util/math/functions.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn clampi(value: i32, min: i32, max: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]   --> src/util/math/functions.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn lerp(start: f32, end: f32, t: f32) -> f32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUATERNION_IDENTITY` is never used
[INFO] [stdout]   --> src/util/math/quaternion.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const QUATERNION_IDENTITY: Quaternion = Quaternion { x: 0.0, y: 0.0, z: 0.0, w: 1.0 };
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/util/math/quaternion.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Quaternion {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  33 |
[INFO] [stdout]  34 |     pub fn new(x: f32, y: f32, z: f32, w: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn set(&mut self, x: f32, y: f32, z: f32, w: f32) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn conjugate(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub fn length(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn normalize(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn normalized(q: Quaternion) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn lerp(q1: Quaternion, q2: Quaternion, t: f32) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn dot(q1: &Quaternion, q2: &Quaternion) -> f32 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn slerp(q1: Quaternion, q2: Quaternion, t: f32) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn concat(q1: Quaternion, q2: Quaternion) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Active`, `Paused`, and `Dead` are never constructed
[INFO] [stdout]   --> src/core/camera_actor.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum State {
[INFO] [stdout]    |      ----- variants in this enum
[INFO] [stdout] 23 |     Active,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 24 |     Paused,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     Dead,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/core/camera_actor.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct CameraActor {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     id: u32,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 32 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 33 |     components: Vec<Components>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 34 |     state: State,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 35 |
[INFO] [stdout] 36 |     world_transform: Matrix4,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     position: Vector3,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 38 |     rotation: Quaternion,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 39 |     scale: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `render` are never used
[INFO] [stdout]   --> src/core/components/mesh_component.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl MeshComponent {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 29 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn render(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveComponent` is never constructed
[INFO] [stdout]   --> src/core/components/move_component.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct MoveComponent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]   --> src/core/components/move_component.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl MoveComponent {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 25 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn update(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/core/game.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Game {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     renderer: Option<Renderer>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 30 |     is_running: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 31 |     tick_count: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 32 |     actors: Vec<Actor>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 33 |     peading_actors: Vec<Actor>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     updating_actors: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     camera_actor: Option<CameraActor>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/core/game.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl Game{
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 39 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn initialize(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn update(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn render(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn get_tick_count(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn get_renderer(&mut self) -> &mut Renderer {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `textures`, `vertex_array`, `shader_name`, `radius`, and `specular_intensity` are never read
[INFO] [stdout]   --> src/core/mesh.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Mesh {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 25 |     // Placeholder for mesh data (e.g., vertex buffer, index buffer, etc.)
[INFO] [stdout] 26 |     textures: Vec<Texture>, // List of texture file paths associated with this mesh
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 27 |     vertex_array: VertexArray, // Vertex array object for this mesh
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 28 |     shader_name: String, // Name of the shader associated with this mesh
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 29 |     radius: f32, // Bounding sphere radius for the mesh
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     specular_intensity: f32, // Specular intensity for lighting calculations
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/core/mesh.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Mesh {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 34 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn load(&mut self, path: &str) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn unload(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn get_vertex_array(&self) -> &VertexArray {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn get_texture(&self, index: usize) -> Option<&Texture> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn get_shader_name(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn get_radius(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn get_specular_intensity(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     fn file_exists(&self, path: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::actor::ActorTrait`
[INFO] [stdout]   --> src/core/camera_actor.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::actor::ActorTrait;
[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: `warning`
[INFO] [stdout]   --> src/core/mesh.rs:19:41
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::util::logging::{error, info, warning, SystemType};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `*`, `Action`, and `Key`
[INFO] [stdout]   --> src/core/renderer.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Action,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Key,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     fail_on_errors,
[INFO] [stdout] 17 |     *
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warning`
[INFO] [stdout]   --> src/core/renderer.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::util::logging::{Logger, error, info, warning, SystemType};
[INFO] [stdout]    |                                    ^^^^^  ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/core/renderer.rs:22:27
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::core::shader::{self, Buffer, BufferType, Shader, ShaderProgram, VertexArray, buffer_data, clear_color};
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::game::Game`
[INFO] [stdout]   --> src/core/renderer.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::core::game::Game;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/core/texture.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warning`
[INFO] [stdout]   --> src/core/texture.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::util::logging::{error, info, warning, SystemType};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeZone`
[INFO] [stdout]   --> src/util/logging.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use chrono::{TimeZone, Utc};
[INFO] [stdout]    |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::From`
[INFO] [stdout]  --> src/util/math/matrix.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> src/util/math/matrix.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector4`
[INFO] [stdout]   --> src/util/math/matrix.rs:14:42
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::util::math::vector::{Vector3, Vector4};
[INFO] [stdout]    |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> src/core/mesh.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `view_matrix`
[INFO] [stdout]    --> src/core/renderer.rs:131:35
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn set_view_matrix(&self, view_matrix: &Matrix4) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_view_matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `projection_matrix`
[INFO] [stdout]    --> src/core/renderer.rs:135:41
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub fn set_projection_matrix(&self, projection_matrix: &Matrix4) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_projection_matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shader`
[INFO] [stdout]    --> src/core/renderer.rs:155:38
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub fn set_light_uniforms(&self, shader: &Shader) {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]    --> src/core/renderer.rs:159:37
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn set_ambient_light(&self, color: [f32; 3]) {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> src/util/math/matrix.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         result.data[2][2] = t * z * z + c;
[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: type `actor::State` is more private than the item `ActorTrait::get_state`
[INFO] [stdout]   --> src/core/actor.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn get_state(&self) -> &State;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ActorTrait::get_state` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `actor::State` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/actor.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum State {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `actor::State` is more private than the item `ActorTrait::set_state`
[INFO] [stdout]   --> src/core/actor.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn set_state(&mut self, state: State);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ActorTrait::set_state` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `actor::State` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/actor.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum State {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `component::Component<MeshComponent>` is more private than the item `component::Components::MeshComponent::0`
[INFO] [stdout]   --> src/core/component.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |     MeshComponent(Component<MeshComponent>),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^ field `component::Components::MeshComponent::0` is reachable at visibility `pub`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `component::Component<MeshComponent>` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/component.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct  Component<T: ComponentTrait> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Active`, `Paused`, and `Dead` are never constructed
[INFO] [stdout]   --> src/core/camera_actor.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum State {
[INFO] [stdout]    |      ----- variants in this enum
[INFO] [stdout] 23 |     Active,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 24 |     Paused,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     Dead,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/core/camera_actor.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct CameraActor {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     id: u32,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 32 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 33 |     components: Vec<Components>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 34 |     state: State,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 35 |
[INFO] [stdout] 36 |     world_transform: Matrix4,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     position: Vector3,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 38 |     rotation: Quaternion,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 39 |     scale: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `actors`, `peading_actors`, `updating_actors`, and `camera_actor` are never read
[INFO] [stdout]   --> src/core/game.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Game {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     actors: Vec<Actor>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 33 |     peading_actors: Vec<Actor>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     updating_actors: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     camera_actor: Option<CameraActor>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `load_obj` is never used
[INFO] [stdout]   --> src/core/mesh.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Mesh {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUATERNION_IDENTITY` is never used
[INFO] [stdout]   --> src/util/math/quaternion.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const QUATERNION_IDENTITY: Quaternion = Quaternion { x: 0.0, y: 0.0, z: 0.0, w: 1.0 };
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TimeZone`
[INFO] [stdout]   --> src/util/logging.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use chrono::{TimeZone, Utc};
[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: `std::convert::From`
[INFO] [stdout]  --> src/util/math/matrix.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::result`
[INFO] [stdout]  --> src/util/math/matrix.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::result;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector4`
[INFO] [stdout]   --> src/util/math/matrix.rs:14:42
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::util::math::vector::{Vector3, Vector4};
[INFO] [stdout]    |                                          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::actor::ActorTrait`
[INFO] [stdout]   --> src/core/camera_actor.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::core::actor::ActorTrait;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warning`
[INFO] [stdout]   --> src/core/mesh.rs:19:41
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::util::logging::{error, info, warning, SystemType};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `*`, `Action`, and `Key`
[INFO] [stdout]   --> src/core/renderer.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Action,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     Key,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 16 |     fail_on_errors,
[INFO] [stdout] 17 |     *
[INFO] [stdout]    |     ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `error`, `info`, and `warning`
[INFO] [stdout]   --> src/core/renderer.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::util::logging::{Logger, error, info, warning, SystemType};
[INFO] [stdout]    |                                    ^^^^^  ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/core/renderer.rs:22:27
[INFO] [stdout]    |
[INFO] [stdout] 22 | use crate::core::shader::{self, Buffer, BufferType, Shader, ShaderProgram, VertexArray, buffer_data, clear_color};
[INFO] [stdout]    |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::game::Game`
[INFO] [stdout]   --> src/core/renderer.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::core::game::Game;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/core/texture.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warning`
[INFO] [stdout]   --> src/core/texture.rs:12:41
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::util::logging::{error, info, warning, SystemType};
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::game`
[INFO] [stdout]   --> src/main.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use crate::core::game;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `game::Game`
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     game::Game,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `result` is never read
[INFO] [stdout]    --> src/util/math/matrix.rs:213:9
[INFO] [stdout]     |
[INFO] [stdout] 213 |         result.data[2][2] = t * z * z + c;
[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: `path`
[INFO] [stdout]   --> src/core/mesh.rs:84:28
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stdout]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `view_matrix`
[INFO] [stdout]    --> src/core/renderer.rs:131:35
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn set_view_matrix(&self, view_matrix: &Matrix4) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_view_matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `projection_matrix`
[INFO] [stdout]    --> src/core/renderer.rs:135:41
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub fn set_projection_matrix(&self, projection_matrix: &Matrix4) {
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_projection_matrix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shader`
[INFO] [stdout]    --> src/core/renderer.rs:155:38
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub fn set_light_uniforms(&self, shader: &Shader) {
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shader`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color`
[INFO] [stdout]    --> src/core/renderer.rs:159:37
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub fn set_ambient_light(&self, color: [f32; 3]) {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `transform` is never read
[INFO] [stdout]    --> src/main.rs:325:34
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let mut transform: Matrix4 = Matrix4::identity();
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 369 |         transform = Matrix4::create_scale_uniform(scale);
[INFO] [stdout]     |         ------------------------------------------------ `transform` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `core::actor::State` is more private than the item `core::actor::ActorTrait::get_state`
[INFO] [stdout]   --> src/core/actor.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn get_state(&self) -> &State;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `core::actor::ActorTrait::get_state` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `core::actor::State` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/actor.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum State {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `core::actor::State` is more private than the item `core::actor::ActorTrait::set_state`
[INFO] [stdout]   --> src/core/actor.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn set_state(&mut self, state: State);
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `core::actor::ActorTrait::set_state` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `core::actor::State` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/actor.rs:21:1
[INFO] [stdout]    |
[INFO] [stdout] 21 | enum State {
[INFO] [stdout]    | ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `core::component::Component<core::components::mesh_component::MeshComponent>` is more private than the item `core::component::Components::MeshComponent::0`
[INFO] [stdout]   --> src/core/component.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 |     MeshComponent(Component<MeshComponent>),
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^ field `core::component::Components::MeshComponent::0` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `core::component::Component<core::components::mesh_component::MeshComponent>` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/core/component.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct  Component<T: ComponentTrait> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampf` is never used
[INFO] [stdout]   --> src/util/math/functions.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn clampf(value: f32, min: f32, max: f32) -> f32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clampi` is never used
[INFO] [stdout]   --> src/util/math/functions.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn clampi(value: i32, min: i32, max: i32) -> i32 {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `lerp` is never used
[INFO] [stdout]   --> src/util/math/functions.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn lerp(start: f32, end: f32, t: f32) -> f32 {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `QUATERNION_IDENTITY` is never used
[INFO] [stdout]   --> src/util/math/quaternion.rs:22:7
[INFO] [stdout]    |
[INFO] [stdout] 22 | const QUATERNION_IDENTITY: Quaternion = Quaternion { x: 0.0, y: 0.0, z: 0.0, w: 1.0 };
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/util/math/quaternion.rs:34:12
[INFO] [stdout]     |
[INFO] [stdout]  32 | impl Quaternion {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  33 |
[INFO] [stdout]  34 |     pub fn new(x: f32, y: f32, z: f32, w: f32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn set(&mut self, x: f32, y: f32, z: f32, w: f32) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn conjugate(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub fn length(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn normalize(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  75 |     pub fn normalized(q: Quaternion) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |     pub fn lerp(q1: Quaternion, q2: Quaternion, t: f32) -> Self {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub fn dot(q1: &Quaternion, q2: &Quaternion) -> f32 {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn slerp(q1: Quaternion, q2: Quaternion, t: f32) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn concat(q1: Quaternion, q2: Quaternion) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Active`, `Paused`, and `Dead` are never constructed
[INFO] [stdout]   --> src/core/camera_actor.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | enum State {
[INFO] [stdout]    |      ----- variants in this enum
[INFO] [stdout] 23 |     Active,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 24 |     Paused,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     Dead,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/core/camera_actor.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct CameraActor {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |     id: u32,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 32 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 33 |     components: Vec<Components>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 34 |     state: State,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 35 |
[INFO] [stdout] 36 |     world_transform: Matrix4,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     position: Vector3,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 38 |     rotation: Quaternion,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 39 |     scale: f32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `render` are never used
[INFO] [stdout]   --> src/core/components/mesh_component.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl MeshComponent {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 29 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn render(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MoveComponent` is never constructed
[INFO] [stdout]   --> src/core/components/move_component.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct MoveComponent {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `update` are never used
[INFO] [stdout]   --> src/core/components/move_component.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl MoveComponent {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 25 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn update(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/core/game.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Game {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     renderer: Option<Renderer>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 30 |     is_running: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 31 |     tick_count: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 32 |     actors: Vec<Actor>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 33 |     peading_actors: Vec<Actor>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 34 |     updating_actors: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 35 |     camera_actor: Option<CameraActor>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/core/game.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | impl Game{
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 39 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn initialize(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn update(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn render(&self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn get_tick_count(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn is_running(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn stop(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn get_renderer(&mut self) -> &mut Renderer {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `textures`, `vertex_array`, `shader_name`, `radius`, and `specular_intensity` are never read
[INFO] [stdout]   --> src/core/mesh.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Mesh {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 25 |     // Placeholder for mesh data (e.g., vertex buffer, index buffer, etc.)
[INFO] [stdout] 26 |     textures: Vec<Texture>, // List of texture file paths associated with this mesh
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 27 |     vertex_array: VertexArray, // Vertex array object for this mesh
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 28 |     shader_name: String, // Name of the shader associated with this mesh
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 29 |     radius: f32, // Bounding sphere radius for the mesh
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 30 |     specular_intensity: f32, // Specular intensity for lighting calculations
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/core/mesh.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Mesh {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 34 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn load(&mut self, path: &str) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn unload(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 58 |     pub fn get_vertex_array(&self) -> &VertexArray {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn get_texture(&self, index: usize) -> Option<&Texture> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn get_shader_name(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     pub fn get_radius(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     pub fn get_specular_intensity(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     fn file_exists(&self, path: &str) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.47s
[INFO] running `Command { std: "docker" "inspect" "de6b4b3700d6073de17ce99d4d1faf4e5997a6a395909605fa5a55e8d328234b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "de6b4b3700d6073de17ce99d4d1faf4e5997a6a395909605fa5a55e8d328234b", kill_on_drop: false }`
[INFO] [stdout] de6b4b3700d6073de17ce99d4d1faf4e5997a6a395909605fa5a55e8d328234b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 20bfbb75ea8871403260872bac97dc5625c983ef408c1d450aef092f7af3082b
[INFO] running `Command { std: "docker" "start" "-a" "20bfbb75ea8871403260872bac97dc5625c983ef408c1d450aef092f7af3082b", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `parse_macro_input`
[INFO] [stderr]  --> arcadia_engine_derive/src/lib.rs:2:11
[INFO] [stderr]   |
[INFO] [stderr] 2 | use syn::{parse_macro_input, DeriveInput};
[INFO] [stderr]   |           ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `arcadia_engine_derive` (lib) generated 1 warning (run `cargo fix --lib -p arcadia_engine_derive` to apply 1 suggestion)
[INFO] [stderr] warning: unused import: `crate::core::actor::ActorTrait`
[INFO] [stderr]   --> src/core/camera_actor.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use crate::core::actor::ActorTrait;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warning`
[INFO] [stderr]   --> src/core/mesh.rs:19:41
[INFO] [stderr]    |
[INFO] [stderr] 19 | use crate::util::logging::{error, info, warning, SystemType};
[INFO] [stderr]    |                                         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `*`, `Action`, and `Key`
[INFO] [stderr]   --> src/core/renderer.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     Action,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 15 |     Key,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 16 |     fail_on_errors,
[INFO] [stderr] 17 |     *
[INFO] [stderr]    |     ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `error`, `info`, and `warning`
[INFO] [stderr]   --> src/core/renderer.rs:21:36
[INFO] [stderr]    |
[INFO] [stderr] 21 | use crate::util::logging::{Logger, error, info, warning, SystemType};
[INFO] [stderr]    |                                    ^^^^^  ^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]   --> src/core/renderer.rs:22:27
[INFO] [stderr]    |
[INFO] [stderr] 22 | use crate::core::shader::{self, Buffer, BufferType, Shader, ShaderProgram, VertexArray, buffer_data, clear_color};
[INFO] [stderr]    |                           ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::core::game::Game`
[INFO] [stderr]   --> src/core/renderer.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | use crate::core::game::Game;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::Path`
[INFO] [stderr]  --> src/core/texture.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::path::Path;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warning`
[INFO] [stderr]   --> src/core/texture.rs:12:41
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::util::logging::{error, info, warning, SystemType};
[INFO] [stderr]    |                                         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TimeZone`
[INFO] [stderr]   --> src/util/logging.rs:16:14
[INFO] [stderr]    |
[INFO] [stderr] 16 | use chrono::{TimeZone, Utc};
[INFO] [stderr]    |              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::convert::From`
[INFO] [stderr]  --> src/util/math/matrix.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::convert::From;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::result`
[INFO] [stderr]  --> src/util/math/matrix.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::result;
[INFO] [stderr]   |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Vector4`
[INFO] [stderr]   --> src/util/math/matrix.rs:14:42
[INFO] [stderr]    |
[INFO] [stderr] 14 | use crate::util::math::vector::{Vector3, Vector4};
[INFO] [stderr]    |                                          ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `path`
[INFO] [stderr]   --> src/core/mesh.rs:84:28
[INFO] [stderr]    |
[INFO] [stderr] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stderr]    |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `view_matrix`
[INFO] [stderr]    --> src/core/renderer.rs:131:35
[INFO] [stderr]     |
[INFO] [stderr] 131 |     pub fn set_view_matrix(&self, view_matrix: &Matrix4) {
[INFO] [stderr]     |                                   ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_view_matrix`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `projection_matrix`
[INFO] [stderr]    --> src/core/renderer.rs:135:41
[INFO] [stderr]     |
[INFO] [stderr] 135 |     pub fn set_projection_matrix(&self, projection_matrix: &Matrix4) {
[INFO] [stderr]     |                                         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_projection_matrix`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `shader`
[INFO] [stderr]    --> src/core/renderer.rs:155:38
[INFO] [stderr]     |
[INFO] [stderr] 155 |     pub fn set_light_uniforms(&self, shader: &Shader) {
[INFO] [stderr]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_shader`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `color`
[INFO] [stderr]    --> src/core/renderer.rs:159:37
[INFO] [stderr]     |
[INFO] [stderr] 159 |     pub fn set_ambient_light(&self, color: [f32; 3]) {
[INFO] [stderr]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_color`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `result` is never read
[INFO] [stderr]    --> src/util/math/matrix.rs:213:9
[INFO] [stderr]     |
[INFO] [stderr] 213 |         result.data[2][2] = t * z * z + c;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `actor::State` is more private than the item `ActorTrait::get_state`
[INFO] [stderr]   --> src/core/actor.rs:75:5
[INFO] [stderr]    |
[INFO] [stderr] 75 |     fn get_state(&self) -> &State;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ActorTrait::get_state` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `actor::State` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/core/actor.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | enum State {
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `actor::State` is more private than the item `ActorTrait::set_state`
[INFO] [stderr]   --> src/core/actor.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 76 |     fn set_state(&mut self, state: State);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `ActorTrait::set_state` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `actor::State` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/core/actor.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | enum State {
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `component::Component<MeshComponent>` is more private than the item `component::Components::MeshComponent::0`
[INFO] [stderr]   --> src/core/component.rs:25:19
[INFO] [stderr]    |
[INFO] [stderr] 25 |     MeshComponent(Component<MeshComponent>),
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^ field `component::Components::MeshComponent::0` is reachable at visibility `pub`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `component::Component<MeshComponent>` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/core/component.rs:41:1
[INFO] [stderr]    |
[INFO] [stderr] 41 | struct  Component<T: ComponentTrait> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Active`, `Paused`, and `Dead` are never constructed
[INFO] [stderr]   --> src/core/camera_actor.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | enum State {
[INFO] [stderr]    |      ----- variants in this enum
[INFO] [stderr] 23 |     Active,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 24 |     Paused,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 25 |     Dead,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/core/camera_actor.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 28 | pub struct CameraActor {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 31 |     id: u32,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 32 |     name: String,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 33 |     components: Vec<Components>,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 34 |     state: State,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 35 |
[INFO] [stderr] 36 |     world_transform: Matrix4,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 37 |     position: Vector3,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 38 |     rotation: Quaternion,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 39 |     scale: f32,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `actors`, `peading_actors`, `updating_actors`, and `camera_actor` are never read
[INFO] [stderr]   --> src/core/game.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct Game {
[INFO] [stderr]    |            ---- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 32 |     actors: Vec<Actor>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 33 |     peading_actors: Vec<Actor>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 34 |     updating_actors: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 35 |     camera_actor: Option<CameraActor>,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `load_obj` is never used
[INFO] [stderr]   --> src/core/mesh.rs:84:8
[INFO] [stderr]    |
[INFO] [stderr] 33 | impl Mesh {
[INFO] [stderr]    | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `QUATERNION_IDENTITY` is never used
[INFO] [stderr]   --> src/util/math/quaternion.rs:22:7
[INFO] [stderr]    |
[INFO] [stderr] 22 | const QUATERNION_IDENTITY: Quaternion = Quaternion { x: 0.0, y: 0.0, z: 0.0, w: 1.0 };
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `arcadia_engine` (lib) generated 26 warnings (run `cargo fix --lib -p arcadia_engine` to apply 17 suggestions)
[INFO] [stderr] warning: `arcadia_engine` (lib test) generated 26 warnings (26 duplicates)
[INFO] [stderr] warning: unused import: `TimeZone`
[INFO] [stderr]   --> src/util/logging.rs:16:14
[INFO] [stderr]    |
[INFO] [stderr] 16 | use chrono::{TimeZone, Utc};
[INFO] [stderr]    |              ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::core::actor::ActorTrait`
[INFO] [stderr]   --> src/core/camera_actor.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use crate::core::actor::ActorTrait;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::core::game`
[INFO] [stderr]   --> src/main.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use crate::core::game;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `game::Game`
[INFO] [stderr]   --> src/main.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     game::Game,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `transform` is never read
[INFO] [stderr]    --> src/main.rs:325:34
[INFO] [stderr]     |
[INFO] [stderr] 325 |     let mut transform: Matrix4 = Matrix4::identity();
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stderr] ...
[INFO] [stderr] 369 |         transform = Matrix4::create_scale_uniform(scale);
[INFO] [stderr]     |         ------------------------------------------------ `transform` is overwritten here before the previous value is read
[INFO] [stderr] 
[INFO] [stderr] warning: type `core::actor::State` is more private than the item `core::actor::ActorTrait::get_state`
[INFO] [stderr]   --> src/core/actor.rs:75:5
[INFO] [stderr]    |
[INFO] [stderr] 75 |     fn get_state(&self) -> &State;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `core::actor::ActorTrait::get_state` is reachable at visibility `pub(crate)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `core::actor::State` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/core/actor.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | enum State {
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type `core::actor::State` is more private than the item `core::actor::ActorTrait::set_state`
[INFO] [stderr]   --> src/core/actor.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 76 |     fn set_state(&mut self, state: State);
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `core::actor::ActorTrait::set_state` is reachable at visibility `pub(crate)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `core::actor::State` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/core/actor.rs:21:1
[INFO] [stderr]    |
[INFO] [stderr] 21 | enum State {
[INFO] [stderr]    | ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type `core::component::Component<core::components::mesh_component::MeshComponent>` is more private than the item `core::component::Components::MeshComponent::0`
[INFO] [stderr]   --> src/core/component.rs:25:19
[INFO] [stderr]    |
[INFO] [stderr] 25 |     MeshComponent(Component<MeshComponent>),
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^ field `core::component::Components::MeshComponent::0` is reachable at visibility `pub(crate)`
[INFO] [stderr]    |
[INFO] [stderr] note: but type `core::component::Component<core::components::mesh_component::MeshComponent>` is only usable at visibility `pub(self)`
[INFO] [stderr]   --> src/core/component.rs:41:1
[INFO] [stderr]    |
[INFO] [stderr] 41 | struct  Component<T: ComponentTrait> {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `clampf` is never used
[INFO] [stderr]   --> src/util/math/functions.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub fn clampf(value: f32, min: f32, max: f32) -> f32 {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `clampi` is never used
[INFO] [stderr]   --> src/util/math/functions.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub fn clampi(value: i32, min: i32, max: i32) -> i32 {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `lerp` is never used
[INFO] [stderr]   --> src/util/math/functions.rs:41:8
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub fn lerp(start: f32, end: f32, t: f32) -> f32 {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/util/math/quaternion.rs:34:12
[INFO] [stderr]     |
[INFO] [stderr]  32 | impl Quaternion {
[INFO] [stderr]     | --------------- associated items in this implementation
[INFO] [stderr]  33 |
[INFO] [stderr]  34 |     pub fn new(x: f32, y: f32, z: f32, w: f32) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  47 |     pub fn set(&mut self, x: f32, y: f32, z: f32, w: f32) {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  54 |     pub fn conjugate(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  60 |     pub fn length(&self) -> f32 {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  64 |     pub fn normalize(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  75 |     pub fn normalized(q: Quaternion) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  81 |     pub fn lerp(q1: Quaternion, q2: Quaternion, t: f32) -> Self {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr]  91 |     pub fn dot(q1: &Quaternion, q2: &Quaternion) -> f32 {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  95 |     pub fn slerp(q1: Quaternion, q2: Quaternion, t: f32) -> Self {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 130 |     pub fn concat(q1: Quaternion, q2: Quaternion) -> Self {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Active`, `Paused`, and `Dead` are never constructed
[INFO] [stderr]   --> src/core/camera_actor.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | enum State {
[INFO] [stderr]    |      ----- variants in this enum
[INFO] [stderr] 23 |     Active,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 24 |     Paused,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 25 |     Dead,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `render` are never used
[INFO] [stderr]   --> src/core/components/mesh_component.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 28 | impl MeshComponent {
[INFO] [stderr]    | ------------------ associated items in this implementation
[INFO] [stderr] 29 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 35 |     pub fn render(&self) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MoveComponent` is never constructed
[INFO] [stderr]   --> src/core/components/move_component.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct MoveComponent {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `update` are never used
[INFO] [stderr]   --> src/core/components/move_component.rs:25:12
[INFO] [stderr]    |
[INFO] [stderr] 24 | impl MoveComponent {
[INFO] [stderr]    | ------------------ associated items in this implementation
[INFO] [stderr] 25 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub fn update(&mut self) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/core/game.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct Game {
[INFO] [stderr]    |            ---- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 29 |     renderer: Option<Renderer>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 30 |     is_running: bool,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 31 |     tick_count: u64,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 32 |     actors: Vec<Actor>,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 33 |     peading_actors: Vec<Actor>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 34 |     updating_actors: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 35 |     camera_actor: Option<CameraActor>,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/core/game.rs:39:12
[INFO] [stderr]    |
[INFO] [stderr] 38 | impl Game{
[INFO] [stderr]    | --------- associated items in this implementation
[INFO] [stderr] 39 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 51 |     pub fn initialize(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 60 |     pub fn update(&mut self) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 65 |     pub fn render(&self) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     pub fn get_tick_count(&self) -> u64 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 |     pub fn is_running(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 79 |     pub fn stop(&mut self) {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 83 |     pub fn get_renderer(&mut self) -> &mut Renderer {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `textures`, `vertex_array`, `shader_name`, `radius`, and `specular_intensity` are never read
[INFO] [stderr]   --> src/core/mesh.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct Mesh {
[INFO] [stderr]    |            ---- fields in this struct
[INFO] [stderr] 25 |     // Placeholder for mesh data (e.g., vertex buffer, index buffer, etc.)
[INFO] [stderr] 26 |     textures: Vec<Texture>, // List of texture file paths associated with this mesh
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 27 |     vertex_array: VertexArray, // Vertex array object for this mesh
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 28 |     shader_name: String, // Name of the shader associated with this mesh
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 29 |     radius: f32, // Bounding sphere radius for the mesh
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 30 |     specular_intensity: f32, // Specular intensity for lighting calculations
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/core/mesh.rs:34:12
[INFO] [stderr]    |
[INFO] [stderr] 33 | impl Mesh {
[INFO] [stderr]    | --------- associated items in this implementation
[INFO] [stderr] 34 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn load(&mut self, path: &str) {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 |     pub fn unload(&mut self) {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 58 |     pub fn get_vertex_array(&self) -> &VertexArray {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 63 |     pub fn get_texture(&self, index: usize) -> Option<&Texture> {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 68 |     pub fn get_shader_name(&self) -> &str {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 73 |     pub fn get_radius(&self) -> f32 {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 78 |     pub fn get_specular_intensity(&self) -> f32 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 84 |     fn load_obj(&mut self, path: &str) -> VertexArray{
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 89 |     fn file_exists(&self, path: &str) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `arcadia_engine` (bin "arcadia_engine") generated 38 warnings (18 duplicates) (run `cargo fix --bin "arcadia_engine" -p arcadia_engine` to apply 4 suggestions)
[INFO] [stderr] warning: `arcadia_engine` (bin "arcadia_engine" test) generated 38 warnings (38 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/arcadia_engine-e6565fbf7f1dfa44)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/arcadia_engine-e99505703c2eca3e)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_matrix.rs (/opt/rustwide/target/debug/deps/test_matrix-1c41fe4de2602414)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test test_matrix4::test_matrix4_identity ... ok
[INFO] [stdout] test test_matrix2::test_matrix2_multiplication ... ok
[INFO] [stdout] test test_matrix4::test_matrix4_mul_matrix4 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/test_vector.rs (/opt/rustwide/target/debug/deps/test_vector-d253fb5830ca57c8)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test test_vector::test_vector2_add_vector ... ok
[INFO] [stdout] test test_vector::test_vector3_add_vector ... ok
[INFO] [stdout] test test_vector::test_vector3_div_scalar ... ok
[INFO] [stdout] test test_vector::test_vector2_div_scalar ... ok
[INFO] [stdout] test test_vector::test_vector3_add_scalar ... ok
[INFO] [stdout] test test_vector::test_vector2_mul_scalar ... ok
[INFO] [stdout] test test_vector::test_vector3_mul_scalar ... ok
[INFO] [stdout] test test_vector::test_vector3_sub_scalar ... ok
[INFO] [stdout] test test_vector::test_vector3_sub_vector ... ok
[INFO] [stdout] test test_vector::test_vector4_add_vector ... ok
[INFO] [stdout] test test_vector::test_vector2_sub_vector ... ok
[INFO] [stdout] test test_vector::test_vector4_div_scalar ... ok
[INFO] [stdout] test test_vector::test_vector4_mul_scalar ... ok
[INFO] [stdout] test test_vector::test_vector4_sub_vector ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests arcadia_engine
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/util/logging.rs - util::logging::Logger (line 93) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/util/logging.rs - util::logging::Logger (line 93) stdout ----
[INFO] [stdout] error: expected item, found keyword `let`
[INFO] [stdout]   --> src/util/logging.rs:95:1
[INFO] [stdout]    |
[INFO] [stdout] 95 | let mut logger: Logger = Logger::new(Some("main"), Some(SystemType::SYSTEM));
[INFO] [stdout]    | ^^^ `let` cannot be used for global variables
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using `static` and a `Mutex` instead of `let mut`
[INFO] [stdout]    = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/util/logging.rs - util::logging::Logger (line 93)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "20bfbb75ea8871403260872bac97dc5625c983ef408c1d450aef092f7af3082b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20bfbb75ea8871403260872bac97dc5625c983ef408c1d450aef092f7af3082b", kill_on_drop: false }`
[INFO] [stdout] 20bfbb75ea8871403260872bac97dc5625c983ef408c1d450aef092f7af3082b
