[INFO] cloning repository https://github.com/jonchisko/open_gl_learning
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jonchisko/open_gl_learning" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjonchisko%2Fopen_gl_learning", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjonchisko%2Fopen_gl_learning'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 63b2636f41ff645565c4dff3dc3eb88ea941e09c
[INFO] building jonchisko/open_gl_learning against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjonchisko%2Fopen_gl_learning" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jonchisko/open_gl_learning
[INFO] finished tweaking git repo https://github.com/jonchisko/open_gl_learning
[INFO] tweaked toml for git repo https://github.com/jonchisko/open_gl_learning written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jonchisko/open_gl_learning on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jonchisko/open_gl_learning 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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded imagine v0.5.1
[INFO] [stderr]   Downloaded bool32 v0.1.1
[INFO] [stderr]   Downloaded ptr_iter v0.1.1
[INFO] [stderr]   Downloaded pack1 v0.1.1
[INFO] [stderr]   Downloaded chlorine v1.0.13
[INFO] [stderr]   Downloaded zstring v0.2.4
[INFO] [stderr]   Downloaded beryllium v0.13.3
[INFO] [stderr]   Downloaded png_filters v0.1.2
[INFO] [stderr]   Downloaded bitfrob v1.3.2
[INFO] [stderr]   Downloaded pixel_formats v0.1.5
[INFO] [stderr]   Downloaded winnow v0.7.7
[INFO] [stderr]   Downloaded glam v0.30.3
[INFO] [stderr]   Downloaded gl33 v0.2.1
[INFO] [stderr]   Downloaded fermium v22605.0.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ec2e60a63c85c7597adae6b11a1666e05af2521110ed9df3bb3d0ce9f3f56f5c
[INFO] running `Command { std: "docker" "start" "-a" "ec2e60a63c85c7597adae6b11a1666e05af2521110ed9df3bb3d0ce9f3f56f5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ec2e60a63c85c7597adae6b11a1666e05af2521110ed9df3bb3d0ce9f3f56f5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec2e60a63c85c7597adae6b11a1666e05af2521110ed9df3bb3d0ce9f3f56f5c", kill_on_drop: false }`
[INFO] [stdout] ec2e60a63c85c7597adae6b11a1666e05af2521110ed9df3bb3d0ce9f3f56f5c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b6a3001c6b220ba747d33d7a46b4cf574af5f03dd6c78e4dc82f6fb61d8467c6
[INFO] running `Command { std: "docker" "start" "-a" "b6a3001c6b220ba747d33d7a46b4cf574af5f03dd6c78e4dc82f6fb61d8467c6", kill_on_drop: false }`
[INFO] [stderr]    Compiling built v0.7.7
[INFO] [stderr]    Compiling miniz_oxide v0.8.8
[INFO] [stderr]    Compiling itertools v0.12.1
[INFO] [stderr]    Compiling imgref v1.11.0
[INFO] [stderr]    Compiling bitstream-io v2.6.0
[INFO] [stderr]    Compiling fermium v22605.0.0
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling avif-serialize v0.8.3
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling fast-srgb8 v1.0.0
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling av1-grain v0.2.3
[INFO] [stderr]    Compiling rgb v0.8.50
[INFO] [stderr]    Compiling ptr_iter v0.1.1
[INFO] [stderr]    Compiling loop9 v0.1.5
[INFO] [stderr]    Compiling bool32 v0.1.1
[INFO] [stderr]    Compiling bitfrob v1.3.2
[INFO] [stderr]    Compiling zstring v0.2.4
[INFO] [stderr]    Compiling image-webp v0.2.1
[INFO] [stderr]    Compiling zune-jpeg v0.4.14
[INFO] [stderr]    Compiling chlorine v1.0.13
[INFO] [stderr]    Compiling glam v0.30.3
[INFO] [stderr]    Compiling gl33 v0.2.1
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]    Compiling flate2 v1.1.1
[INFO] [stderr]    Compiling exr v1.73.0
[INFO] [stderr]    Compiling tiff v0.9.1
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling maybe-rayon v0.1.1
[INFO] [stderr]    Compiling bytemuck_derive v1.9.3
[INFO] [stderr]    Compiling profiling-procmacros v1.0.16
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling profiling v1.0.16
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling bytemuck v1.22.0
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling pixel_formats v0.1.5
[INFO] [stderr]    Compiling beryllium v0.13.3
[INFO] [stderr]    Compiling ravif v0.11.12
[INFO] [stderr]    Compiling image v0.25.6
[INFO] [stderr]    Compiling opengl_chrno v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `SDLK_6`, `SDLK_UP`, `SDLK_a`, `SDLK_d`, `SDLK_s`, and `SDLK_w`
[INFO] [stdout]  --> src/main.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     events::{SDLK_a, SDLK_d, SDLK_s, SDLK_w, SDLK_6, SDLK_UP},
[INFO] [stdout]   |              ^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `glActiveTexture`, `glBindTexture`, `glDisableVertexAttribArray`, `glDrawElements`, `glGenTextures`, `glGenerateMipmap`, `glTexImage2D`, `glTexParameteri`, `glUniform1i`, and `glUniform4f`
[INFO] [stdout]   --> src/main.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |         glActiveTexture, glAttachShader, glBindBuffer, glBindTexture, glBindVertexArray,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^                                ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         glDisableVertexAttribArray, glDrawArrays, glDrawElements, glEnable,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^                ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         glEnableVertexAttribArray, glGenBuffers, glGenTextures, glGenVertexArrays,
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 15 |         glGenerateMipmap, glGetIntegerv, glGetProgramInfoLog, glGetProgramiv, glGetShaderInfoLog,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         glGetShaderiv, glGetUniformLocation, glLinkProgram, glShaderSource, glTexImage2D,
[INFO] [stdout]    |                                                                             ^^^^^^^^^^^^
[INFO] [stdout] 17 |         glTexParameteri, glUniform1i, glUniform3f, glUniform4f, glUniformMatrix4fv, glUseProgram,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^  ^^^^^^^^^^^               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Vec4Swizzles`, `Vec4`, and `vec4`
[INFO] [stdout]   --> src/main.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | use glam::{vec4, Vec4, Vec4Swizzles};
[INFO] [stdout]    |            ^^^^  ^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CStr`, `f32::consts::PI`, `mem`, and `time::SystemTime`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     f32::consts::PI,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     ffi::{CStr, CString},
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 27 |     mem,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 28 |     time::SystemTime,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::ImageReader`
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use image::ImageReader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:389:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |             unsafe {
[INFO] [stdout]     |             ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 389 |                     unsafe { glGetUniformLocation(program_object, model.as_ptr().cast()) };
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:391:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |             unsafe {
[INFO] [stdout]     |             ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 391 |                     unsafe { glGetUniformLocation(program_object, view.as_ptr().cast()) };
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:393:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |             unsafe {
[INFO] [stdout]     |             ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 393 |                     unsafe { glGetUniformLocation(program_object, projection.as_ptr().cast()) };
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:434:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |             unsafe {
[INFO] [stdout]     |             ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 434 |                     unsafe { glGetUniformLocation(program_light, model.as_ptr().cast()) };
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:436:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |             unsafe {
[INFO] [stdout]     |             ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 436 |                     unsafe { glGetUniformLocation(program_light, view.as_ptr().cast()) };
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:438:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |             unsafe {
[INFO] [stdout]     |             ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 438 |                     unsafe { glGetUniformLocation(program_light, projection.as_ptr().cast()) };
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:415:21
[INFO] [stdout]     |
[INFO] [stdout] 415 |                 let mut projection_matrix =
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:459:21
[INFO] [stdout]     |
[INFO] [stdout] 459 |                 let mut projection_matrix =
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 41.59s
[INFO] running `Command { std: "docker" "inspect" "b6a3001c6b220ba747d33d7a46b4cf574af5f03dd6c78e4dc82f6fb61d8467c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b6a3001c6b220ba747d33d7a46b4cf574af5f03dd6c78e4dc82f6fb61d8467c6", kill_on_drop: false }`
[INFO] [stdout] b6a3001c6b220ba747d33d7a46b4cf574af5f03dd6c78e4dc82f6fb61d8467c6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 48f98845b4e0546694fa1de9f41ee07a60d1d45bf86bdc6146935789e52035e3
[INFO] running `Command { std: "docker" "start" "-a" "48f98845b4e0546694fa1de9f41ee07a60d1d45bf86bdc6146935789e52035e3", kill_on_drop: false }`
[INFO] [stderr]    Compiling bytemuck v1.22.0
[INFO] [stderr]    Compiling bitfrob v1.3.2
[INFO] [stderr]    Compiling png_filters v0.1.2
[INFO] [stderr]    Compiling pixel_formats v0.1.5
[INFO] [stderr]    Compiling qoi v0.4.1
[INFO] [stderr]    Compiling pack1 v0.1.1
[INFO] [stderr]    Compiling image v0.25.6
[INFO] [stderr]    Compiling beryllium v0.13.3
[INFO] [stderr]    Compiling imagine v0.5.1
[INFO] [stderr]    Compiling opengl_chrno v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `SDLK_6`, `SDLK_UP`, `SDLK_a`, `SDLK_d`, `SDLK_s`, and `SDLK_w`
[INFO] [stdout]  --> src/main.rs:5:14
[INFO] [stdout]   |
[INFO] [stdout] 5 |     events::{SDLK_a, SDLK_d, SDLK_s, SDLK_w, SDLK_6, SDLK_UP},
[INFO] [stdout]   |              ^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `glActiveTexture`, `glBindTexture`, `glDisableVertexAttribArray`, `glDrawElements`, `glGenTextures`, `glGenerateMipmap`, `glTexImage2D`, `glTexParameteri`, `glUniform1i`, and `glUniform4f`
[INFO] [stdout]   --> src/main.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 |         glActiveTexture, glAttachShader, glBindBuffer, glBindTexture, glBindVertexArray,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^                                ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         glDisableVertexAttribArray, glDrawArrays, glDrawElements, glEnable,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^                ^^^^^^^^^^^^^^
[INFO] [stdout] 14 |         glEnableVertexAttribArray, glGenBuffers, glGenTextures, glGenVertexArrays,
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^
[INFO] [stdout] 15 |         glGenerateMipmap, glGetIntegerv, glGetProgramInfoLog, glGetProgramiv, glGetShaderInfoLog,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |         glGetShaderiv, glGetUniformLocation, glLinkProgram, glShaderSource, glTexImage2D,
[INFO] [stdout]    |                                                                             ^^^^^^^^^^^^
[INFO] [stdout] 17 |         glTexParameteri, glUniform1i, glUniform3f, glUniform4f, glUniformMatrix4fv, glUseProgram,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^  ^^^^^^^^^^^               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Vec4Swizzles`, `Vec4`, and `vec4`
[INFO] [stdout]   --> src/main.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | use glam::{vec4, Vec4, Vec4Swizzles};
[INFO] [stdout]    |            ^^^^  ^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CStr`, `f32::consts::PI`, `mem`, and `time::SystemTime`
[INFO] [stdout]   --> src/main.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     f32::consts::PI,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 26 |     ffi::{CStr, CString},
[INFO] [stdout]    |           ^^^^
[INFO] [stdout] 27 |     mem,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 28 |     time::SystemTime,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::ImageReader`
[INFO] [stdout]   --> src/main.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use image::ImageReader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:389:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |             unsafe {
[INFO] [stdout]     |             ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 389 |                     unsafe { glGetUniformLocation(program_object, model.as_ptr().cast()) };
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:391:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |             unsafe {
[INFO] [stdout]     |             ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 391 |                     unsafe { glGetUniformLocation(program_object, view.as_ptr().cast()) };
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:393:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |             unsafe {
[INFO] [stdout]     |             ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 393 |                     unsafe { glGetUniformLocation(program_object, projection.as_ptr().cast()) };
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:434:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |             unsafe {
[INFO] [stdout]     |             ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 434 |                     unsafe { glGetUniformLocation(program_light, model.as_ptr().cast()) };
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:436:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |             unsafe {
[INFO] [stdout]     |             ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 436 |                     unsafe { glGetUniformLocation(program_light, view.as_ptr().cast()) };
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/main.rs:438:21
[INFO] [stdout]     |
[INFO] [stdout] 379 |             unsafe {
[INFO] [stdout]     |             ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 438 |                     unsafe { glGetUniformLocation(program_light, projection.as_ptr().cast()) };
[INFO] [stdout]     |                     ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:415:21
[INFO] [stdout]     |
[INFO] [stdout] 415 |                 let mut projection_matrix =
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:459:21
[INFO] [stdout]     |
[INFO] [stdout] 459 |                 let mut projection_matrix =
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 10.67s
[INFO] running `Command { std: "docker" "inspect" "48f98845b4e0546694fa1de9f41ee07a60d1d45bf86bdc6146935789e52035e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48f98845b4e0546694fa1de9f41ee07a60d1d45bf86bdc6146935789e52035e3", kill_on_drop: false }`
[INFO] [stdout] 48f98845b4e0546694fa1de9f41ee07a60d1d45bf86bdc6146935789e52035e3
