[INFO] cloning repository https://github.com/samssi/gamengine
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/samssi/gamengine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamssi%2Fgamengine", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamssi%2Fgamengine'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b5653ff653cf58779bec57bc8693e08289f434bf
[INFO] checking samssi/gamengine against master#3139ff09e9d07f7700f8d15ed25a231e29c43627 for pr-121848-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamssi%2Fgamengine" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/samssi/gamengine on toolchain 3139ff09e9d07f7700f8d15ed25a231e29c43627
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3139ff09e9d07f7700f8d15ed25a231e29c43627" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/samssi/gamengine
[INFO] finished tweaking git repo https://github.com/samssi/gamengine
[INFO] tweaked toml for git repo https://github.com/samssi/gamengine written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/samssi/gamengine 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" "+3139ff09e9d07f7700f8d15ed25a231e29c43627" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded glsl v7.0.0
[INFO] [stderr]   Downloaded glfw v0.54.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+3139ff09e9d07f7700f8d15ed25a231e29c43627" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6cc76adc86f56c28e4c4eafbc9012c259d8c903f6ac727a9b021e98b4f74f9f6
[INFO] running `Command { std: "docker" "start" "-a" "6cc76adc86f56c28e4c4eafbc9012c259d8c903f6ac727a9b021e98b4f74f9f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6cc76adc86f56c28e4c4eafbc9012c259d8c903f6ac727a9b021e98b4f74f9f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6cc76adc86f56c28e4c4eafbc9012c259d8c903f6ac727a9b021e98b4f74f9f6", kill_on_drop: false }`
[INFO] [stdout] 6cc76adc86f56c28e4c4eafbc9012c259d8c903f6ac727a9b021e98b4f74f9f6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+3139ff09e9d07f7700f8d15ed25a231e29c43627" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bb5264aa06c59ab1a5723c94cc45bf4c8e8466b7b6e400b27ddfba8483996ed4
[INFO] running `Command { std: "docker" "start" "-a" "bb5264aa06c59ab1a5723c94cc45bf4c8e8466b7b6e400b27ddfba8483996ed4", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.152
[INFO] [stderr]     Checking bytemuck v1.14.1
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking smallvec v1.13.1
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking encoding_rs v0.8.33
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]    Compiling xml-rs v0.8.19
[INFO] [stderr]     Checking symphonia-core v0.5.3
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]     Checking safe_arch v0.7.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]    Compiling cpal v0.15.2
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking half v2.4.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking wide v0.7.15
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking bitflags v2.4.2
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking symphonia-metadata v0.5.3
[INFO] [stderr]     Checking raw-window-handle v0.5.2
[INFO] [stderr]     Checking claxon v0.4.3
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.3
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]    Compiling glfw-sys v4.0.0+3.3.5
[INFO] [stderr]     Checking symphonia v0.5.3
[INFO] [stderr]     Checking alsa v0.7.1
[INFO] [stderr]     Checking simba v0.8.1
[INFO] [stderr]     Checking ctrlc v3.4.2
[INFO] [stderr]     Checking glsl v7.0.0
[INFO] [stderr]     Checking rodio v0.17.3
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]    Compiling nalgebra-macros v0.2.1
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking glfw v0.54.0
[INFO] [stderr]     Checking nalgebra v0.32.3
[INFO] [stderr]     Checking gamengine v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ShaderContext`
[INFO] [stdout]  --> src/graphics/opengl.rs:9:42
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::state::context::{GameContext, ShaderContext, WindowContext};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state::context::EntityContext`
[INFO] [stdout]   --> src/graphics/opengl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::state::context::EntityContext;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayStorage`, `Const`, `Isometry3`, `Matrix`, `OMatrix`, and `U4`
[INFO] [stdout]  --> src/graphics/calculations.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nalgebra::{ArrayStorage, Const, Isometry3, Matrix, Matrix4, OMatrix, Perspective3, Point3, Rotation3, U4, Unit, Vector3};
[INFO] [stdout]   |                ^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^  ^^^^^^           ^^^^^^^                                   ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CursorMode` and `Window`
[INFO] [stdout]  --> src/os/window_manager.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use glfw::{Context, CursorMode, GlfwReceiver, Key, PWindow, Window, WindowEvent};
[INFO] [stdout]   |                     ^^^^^^^^^^                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `create_program`, `create_shader_programs`, and `link_shaders`
[INFO] [stdout]  --> src/os/window_manager.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::graphics::opengl::{create_program, create_shader_programs, init_renderer, link_shaders, render};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyActivity`
[INFO] [stdout]  --> src/os/window_manager.rs:6:51
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::io::keyboard::{handle_keyboard_events, KeyActivity};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EntityContext`, `Game`, and `ShaderContext`
[INFO] [stdout]  --> src/os/window_manager.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::state::context::{Cursor, EntityContext, Game, GameContext, ShaderContext, WindowContext, WindowProperties, WindowState};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^  ^^^^               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_vao`
[INFO] [stdout]  --> src/entity/entity.rs:4:31
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::graphics::opengl::{create_vao, create_vao_with_textures};
[INFO] [stdout]   |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ObjectContext`
[INFO] [stdout]  --> src/entity/entity.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::state::context::{ObjectContext, ShaderContext};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector3d`
[INFO] [stdout]  --> src/entity/camera.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::entity::structures::{Transform, Vector3d};
[INFO] [stdout]   |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ROTATE_CLOCKWISE` should have an upper camel case name
[INFO] [stdout]   --> src/io/keyboard.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ROTATE_CLOCKWISE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RotateClockwise`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ROTATE_COUNTER_CLOCKWISE` should have an upper camel case name
[INFO] [stdout]   --> src/io/keyboard.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ROTATE_COUNTER_CLOCKWISE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RotateCounterClockwise`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ShaderContext`
[INFO] [stdout]  --> src/graphics/opengl.rs:9:42
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::state::context::{GameContext, ShaderContext, WindowContext};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SCALE_ALL_UP` should have an upper camel case name
[INFO] [stdout]   --> src/io/keyboard.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     SCALE_ALL_UP,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScaleAllUp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SCALE_ALL_DOWN` should have an upper camel case name
[INFO] [stdout]   --> src/io/keyboard.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     SCALE_ALL_DOWN,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScaleAllDown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::state::context::EntityContext`
[INFO] [stdout]   --> src/graphics/opengl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::state::context::EntityContext;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LOCK_MOUSE_INTO_VIEW` should have an upper camel case name
[INFO] [stdout]   --> src/io/keyboard.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     LOCK_MOUSE_INTO_VIEW
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LockMouseIntoView`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OBJECT`
[INFO] [stdout]  --> src/game/game.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::game::context::Mode::{CAMERA, OBJECT};
[INFO] [stdout]   |                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArrayStorage`, `Const`, `Isometry3`, `Matrix`, `OMatrix`, and `U4`
[INFO] [stdout]  --> src/graphics/calculations.rs:2:16
[INFO] [stdout]   |
[INFO] [stdout] 2 | use nalgebra::{ArrayStorage, Const, Isometry3, Matrix, Matrix4, OMatrix, Perspective3, Point3, Rotation3, U4, Unit, Vector3};
[INFO] [stdout]   |                ^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^  ^^^^^^           ^^^^^^^                                   ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `single_cube`
[INFO] [stdout]  --> src/game/game.rs:9:55
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::game::scene_creator::{generate_cube_space, single_cube};
[INFO] [stdout]   |                                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CursorMode` and `Window`
[INFO] [stdout]  --> src/os/window_manager.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use glfw::{Context, CursorMode, GlfwReceiver, Key, PWindow, Window, WindowEvent};
[INFO] [stdout]   |                     ^^^^^^^^^^                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Disabled` and `Normal`
[INFO] [stdout]  --> src/game/keyboard_handler.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use glfw::CursorMode::{Disabled, Normal};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Game`
[INFO] [stdout]  --> src/game/keyboard_handler.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::state::context::{Game, GameContext};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `create_program`, `create_shader_programs`, and `link_shaders`
[INFO] [stdout]  --> src/os/window_manager.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::graphics::opengl::{create_program, create_shader_programs, init_renderer, link_shaders, render};
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WindowContext` and `WindowState`
[INFO] [stdout]  --> src/game/window_handler.rs:4:42
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::state::context::{GameContext, WindowContext, WindowState};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `KeyActivity`
[INFO] [stdout]  --> src/os/window_manager.rs:6:51
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::io::keyboard::{handle_keyboard_events, KeyActivity};
[INFO] [stdout]   |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transform`
[INFO] [stdout]  --> src/game/scene_creator.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::entity::structures::{Transform, Vector3d};
[INFO] [stdout]   |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EntityContext`, `Game`, and `ShaderContext`
[INFO] [stdout]  --> src/os/window_manager.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::state::context::{Cursor, EntityContext, Game, GameContext, ShaderContext, WindowContext, WindowProperties, WindowState};
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^  ^^^^               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `create_vao`
[INFO] [stdout]  --> src/entity/entity.rs:4:31
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::graphics::opengl::{create_vao, create_vao_with_textures};
[INFO] [stdout]   |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ObjectContext`
[INFO] [stdout]  --> src/entity/entity.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::state::context::{ObjectContext, ShaderContext};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vector3d`
[INFO] [stdout]  --> src/entity/camera.rs:1:44
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::entity::structures::{Transform, Vector3d};
[INFO] [stdout]   |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ROTATE_CLOCKWISE` should have an upper camel case name
[INFO] [stdout]   --> src/io/keyboard.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ROTATE_CLOCKWISE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RotateClockwise`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ROTATE_COUNTER_CLOCKWISE` should have an upper camel case name
[INFO] [stdout]   --> src/io/keyboard.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ROTATE_COUNTER_CLOCKWISE,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RotateCounterClockwise`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SCALE_ALL_UP` should have an upper camel case name
[INFO] [stdout]   --> src/io/keyboard.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     SCALE_ALL_UP,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScaleAllUp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SCALE_ALL_DOWN` should have an upper camel case name
[INFO] [stdout]   --> src/io/keyboard.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     SCALE_ALL_DOWN,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScaleAllDown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LOCK_MOUSE_INTO_VIEW` should have an upper camel case name
[INFO] [stdout]   --> src/io/keyboard.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     LOCK_MOUSE_INTO_VIEW
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LockMouseIntoView`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OBJECT`
[INFO] [stdout]  --> src/game/game.rs:7:42
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::game::context::Mode::{CAMERA, OBJECT};
[INFO] [stdout]   |                                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `single_cube`
[INFO] [stdout]  --> src/game/game.rs:9:55
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::game::scene_creator::{generate_cube_space, single_cube};
[INFO] [stdout]   |                                                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Disabled` and `Normal`
[INFO] [stdout]  --> src/game/keyboard_handler.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use glfw::CursorMode::{Disabled, Normal};
[INFO] [stdout]   |                        ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Game`
[INFO] [stdout]  --> src/game/keyboard_handler.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::state::context::{Game, GameContext};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WindowContext` and `WindowState`
[INFO] [stdout]  --> src/game/window_handler.rs:4:42
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::state::context::{GameContext, WindowContext, WindowState};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Transform`
[INFO] [stdout]  --> src/game/scene_creator.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::entity::structures::{Transform, Vector3d};
[INFO] [stdout]   |                                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera_translation_vector`
[INFO] [stdout]   --> src/graphics/calculations.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let camera_translation_vector = to_vector3(&entity_3d.transform.position);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera_translation_vector`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `camera_translation_vector`
[INFO] [stdout]   --> src/graphics/calculations.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let camera_translation_vector = to_vector3(&entity_3d.transform.position);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_camera_translation_vector`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/io/loader.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let mut shaders: HashMap<String, String> =
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/io/loader.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut images: HashMap<String, DynamicImage> =
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/io/loader.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let mut shaders: HashMap<String, String> =
[INFO] [stdout]    |         ----^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/io/loader.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 45 |     let mut images: HashMap<String, DynamicImage> =
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_context`
[INFO] [stdout]   --> src/game/game.rs:36:22
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn game_render_event(game_context: &mut GameContext<GameState>) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/game.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut entities: Vec<Entity3d> = generate_cube_space(&shader_context, &object_context);
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/keyboard_handler.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |             let mut x_position = camera.transform.position.x;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/keyboard_handler.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 |             let mut x_position = camera.transform.position.x;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/keyboard_handler.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let mut z_position = camera.transform.position.z;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/keyboard_handler.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let mut z_position = camera.transform.position.z;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/keyboard_handler.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let mut mode = &mut game_context.game.state.mode;
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/window_handler.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut camera_rotation = &mut game_context.entity_context.cameras[0].transform.rotation;
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertex_shaders` and `fragment_shaders` are never read
[INFO] [stdout]   --> src/state/context.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ShaderContext {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 32 |     pub vertex_shaders: HashMap<String, GLuint>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     pub fragment_shaders: HashMap<String, GLuint>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `shader_context` and `object_context` are never read
[INFO] [stdout]   --> src/state/context.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct GameContext<T> {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub window_context: WindowContext,
[INFO] [stdout] 68 |     pub shader_context: ShaderContext,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 69 |     pub object_context: ObjectContext,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `as_cvoid` is never used
[INFO] [stdout]    --> src/graphics/opengl.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn as_cvoid(vertices: &Vec<f32>) -> *const c_void {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_vao` is never used
[INFO] [stdout]    --> src/graphics/opengl.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn create_vao(program: &GLuint, vertices: &Vec<f32>) -> GLuint {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_3d_transformations_ortho` is never used
[INFO] [stdout]   --> src/graphics/calculations.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn apply_3d_transformations_ortho(entity_3d: &Entity3d) -> Matrix4<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_cursor` is never used
[INFO] [stdout]   --> src/os/window_manager.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn process_cursor<T>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `string_to_key` is never used
[INFO] [stdout]   --> src/io/keyboard.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn string_to_key(key_str: &str) -> Option<Key> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `o` and `vn` are never read
[INFO] [stdout]  --> src/io/object.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct WavefrontObject {
[INFO] [stdout]   |            --------------- fields in this struct
[INFO] [stdout] 2 |     o: String,
[INFO] [stdout]   |     ^
[INFO] [stdout] ...
[INFO] [stdout] 5 |     vn: Vec<Vec<f32>>,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normals_from_wavefront_object` is never used
[INFO] [stdout]   --> src/io/object.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn normals_from_wavefront_object(wavefront_object: WavefrontObject) -> Vec<Vec<f32>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_normals` is never used
[INFO] [stdout]   --> src/io/object.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn get_normals(wavefront_file_content: &String) -> Vec<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `single_cube` is never used
[INFO] [stdout]   --> src/game/scene_creator.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn single_cube(shader_context: &ShaderContext, object_context: &ObjectContext) -> Vec<Entity3d> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `play_audio` is never used
[INFO] [stdout]  --> src/audio/audio.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn play_audio() {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_context`
[INFO] [stdout]   --> src/game/game.rs:36:22
[INFO] [stdout]    |
[INFO] [stdout] 36 | fn game_render_event(game_context: &mut GameContext<GameState>) {
[INFO] [stdout]    |                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/game.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let mut entities: Vec<Entity3d> = generate_cube_space(&shader_context, &object_context);
[INFO] [stdout]    |         ----^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/keyboard_handler.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 |             let mut x_position = camera.transform.position.x;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/keyboard_handler.rs:26:17
[INFO] [stdout]    |
[INFO] [stdout] 26 |             let mut x_position = camera.transform.position.x;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/keyboard_handler.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |             let mut z_position = camera.transform.position.z;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/keyboard_handler.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |             let mut z_position = camera.transform.position.z;
[INFO] [stdout]    |                 ----^^^^^^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/keyboard_handler.rs:95:17
[INFO] [stdout]    |
[INFO] [stdout] 95 |             let mut mode = &mut game_context.game.state.mode;
[INFO] [stdout]    |                 ----^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/game/window_handler.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let mut camera_rotation = &mut game_context.entity_context.cameras[0].transform.rotation;
[INFO] [stdout]    |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertex_shaders` and `fragment_shaders` are never read
[INFO] [stdout]   --> src/state/context.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ShaderContext {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 32 |     pub vertex_shaders: HashMap<String, GLuint>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     pub fragment_shaders: HashMap<String, GLuint>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `shader_context` and `object_context` are never read
[INFO] [stdout]   --> src/state/context.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct GameContext<T> {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 67 |     pub window_context: WindowContext,
[INFO] [stdout] 68 |     pub shader_context: ShaderContext,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 69 |     pub object_context: ObjectContext,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `as_cvoid` is never used
[INFO] [stdout]    --> src/graphics/opengl.rs:113:4
[INFO] [stdout]     |
[INFO] [stdout] 113 | fn as_cvoid(vertices: &Vec<f32>) -> *const c_void {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_vao` is never used
[INFO] [stdout]    --> src/graphics/opengl.rs:117:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub fn create_vao(program: &GLuint, vertices: &Vec<f32>) -> GLuint {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_3d_transformations_ortho` is never used
[INFO] [stdout]   --> src/graphics/calculations.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn apply_3d_transformations_ortho(entity_3d: &Entity3d) -> Matrix4<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_cursor` is never used
[INFO] [stdout]   --> src/os/window_manager.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn process_cursor<T>(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `string_to_key` is never used
[INFO] [stdout]   --> src/io/keyboard.rs:19:4
[INFO] [stdout]    |
[INFO] [stdout] 19 | fn string_to_key(key_str: &str) -> Option<Key> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `o` and `vn` are never read
[INFO] [stdout]  --> src/io/object.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct WavefrontObject {
[INFO] [stdout]   |            --------------- fields in this struct
[INFO] [stdout] 2 |     o: String,
[INFO] [stdout]   |     ^
[INFO] [stdout] ...
[INFO] [stdout] 5 |     vn: Vec<Vec<f32>>,
[INFO] [stdout]   |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `normals_from_wavefront_object` is never used
[INFO] [stdout]   --> src/io/object.rs:76:4
[INFO] [stdout]    |
[INFO] [stdout] 76 | fn normals_from_wavefront_object(wavefront_object: WavefrontObject) -> Vec<Vec<f32>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_normals` is never used
[INFO] [stdout]   --> src/io/object.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub fn get_normals(wavefront_file_content: &String) -> Vec<f32> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `single_cube` is never used
[INFO] [stdout]   --> src/game/scene_creator.rs:61:8
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub fn single_cube(shader_context: &ShaderContext, object_context: &ObjectContext) -> Vec<Entity3d> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `play_audio` is never used
[INFO] [stdout]  --> src/audio/audio.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn play_audio() {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 44 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.89s
[INFO] running `Command { std: "docker" "inspect" "bb5264aa06c59ab1a5723c94cc45bf4c8e8466b7b6e400b27ddfba8483996ed4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb5264aa06c59ab1a5723c94cc45bf4c8e8466b7b6e400b27ddfba8483996ed4", kill_on_drop: false }`
[INFO] [stdout] bb5264aa06c59ab1a5723c94cc45bf4c8e8466b7b6e400b27ddfba8483996ed4
[INFO] checking samssi/gamengine against try#a2cff3b7a9661c90ec0d581d3f3a69bb97c11138 for pr-121848-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamssi%2Fgamengine" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/samssi/gamengine on toolchain a2cff3b7a9661c90ec0d581d3f3a69bb97c11138
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a2cff3b7a9661c90ec0d581d3f3a69bb97c11138" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/samssi/gamengine
[INFO] finished tweaking git repo https://github.com/samssi/gamengine
[INFO] tweaked toml for git repo https://github.com/samssi/gamengine written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/samssi/gamengine 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" "+a2cff3b7a9661c90ec0d581d3f3a69bb97c11138" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+a2cff3b7a9661c90ec0d581d3f3a69bb97c11138" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9f17a71e62e027c1fc99c25dfc885daca0cf57d1cc5405bdef26ef999a3ef6a1
[INFO] running `Command { std: "docker" "start" "-a" "9f17a71e62e027c1fc99c25dfc885daca0cf57d1cc5405bdef26ef999a3ef6a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9f17a71e62e027c1fc99c25dfc885daca0cf57d1cc5405bdef26ef999a3ef6a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f17a71e62e027c1fc99c25dfc885daca0cf57d1cc5405bdef26ef999a3ef6a1", kill_on_drop: false }`
[INFO] [stdout] 9f17a71e62e027c1fc99c25dfc885daca0cf57d1cc5405bdef26ef999a3ef6a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+a2cff3b7a9661c90ec0d581d3f3a69bb97c11138" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 702342508a3988a8192ca88d358edd9ad5807a750b030bc83ea0ca0e82637e42
[INFO] running `Command { std: "docker" "start" "-a" "702342508a3988a8192ca88d358edd9ad5807a750b030bc83ea0ca0e82637e42", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.152
[INFO] [stderr]     Checking bytemuck v1.14.1
[INFO] [stderr]    Compiling lock_api v0.4.11
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]     Checking smallvec v1.13.1
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]    Compiling crc32fast v1.4.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]    Compiling parking_lot_core v0.9.9
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking log v0.4.20
[INFO] [stderr]     Checking encoding_rs v0.8.33
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]    Compiling xml-rs v0.8.19
[INFO] [stderr]     Checking symphonia-core v0.5.3
[INFO] [stderr]    Compiling paste v1.0.14
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking safe_arch v0.7.1
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling cpal v0.15.2
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking flate2 v1.0.28
[INFO] [stderr]     Checking half v2.4.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]    Compiling quote v1.0.35
[INFO] [stderr]     Checking wide v0.7.15
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking bitflags v2.4.2
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking raw-window-handle v0.5.2
[INFO] [stderr]     Checking symphonia-metadata v0.5.3
[INFO] [stderr]     Checking hashbrown v0.14.3
[INFO] [stderr]     Checking claxon v0.4.3
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]    Compiling cmake v0.1.50
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.3
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]    Compiling glfw-sys v4.0.0+3.3.5
[INFO] [stderr]     Checking simba v0.8.1
[INFO] [stderr]     Checking alsa v0.7.1
[INFO] [stderr]     Checking symphonia v0.5.3
[INFO] [stderr]     Checking ctrlc v3.4.2
[INFO] [stderr]     Checking rodio v0.17.3
[INFO] [stderr]     Checking glsl v7.0.0
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]    Compiling nalgebra-macros v0.2.1
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking glfw v0.54.0
[INFO] [stderr]     Checking nalgebra v0.32.3
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "702342508a3988a8192ca88d358edd9ad5807a750b030bc83ea0ca0e82637e42", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "702342508a3988a8192ca88d358edd9ad5807a750b030bc83ea0ca0e82637e42", kill_on_drop: false }`
[INFO] [stdout] 702342508a3988a8192ca88d358edd9ad5807a750b030bc83ea0ca0e82637e42
