[INFO] cloning repository https://github.com/UnGast/rust-opengl-example
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/UnGast/rust-opengl-example" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUnGast%2Frust-opengl-example", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUnGast%2Frust-opengl-example'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a1ebe4e122a8c4936b4d4e82b4348c5df4ce2b34
[INFO] checking UnGast/rust-opengl-example against master#568f6a8641e391ffcdcdb03e79d0901731d8d399 for pr-117164-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUnGast%2Frust-opengl-example" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/UnGast/rust-opengl-example on toolchain 568f6a8641e391ffcdcdb03e79d0901731d8d399
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/UnGast/rust-opengl-example
[INFO] finished tweaking git repo https://github.com/UnGast/rust-opengl-example
[INFO] tweaked toml for git repo https://github.com/UnGast/rust-opengl-example written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/UnGast/rust-opengl-example 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" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cmake v0.1.45
[INFO] [stderr]   Downloaded gl v0.14.0
[INFO] [stderr]   Downloaded log v0.4.13
[INFO] [stderr]   Downloaded glam v0.12.0
[INFO] [stderr]   Downloaded libc v0.2.82
[INFO] [stderr]   Downloaded nalgebra v0.23.2
[INFO] [stderr]   Downloaded glfw v0.41.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c73b98f2f47ec728af226cbbbe05e6ad5d5daf685ff9bc3883534bc04f2248eb
[INFO] running `Command { std: "docker" "start" "-a" "c73b98f2f47ec728af226cbbbe05e6ad5d5daf685ff9bc3883534bc04f2248eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c73b98f2f47ec728af226cbbbe05e6ad5d5daf685ff9bc3883534bc04f2248eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c73b98f2f47ec728af226cbbbe05e6ad5d5daf685ff9bc3883534bc04f2248eb", kill_on_drop: false }`
[INFO] [stdout] c73b98f2f47ec728af226cbbbe05e6ad5d5daf685ff9bc3883534bc04f2248eb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 643a38239c4afea8f273baaeeb7f602467bf7b1e3216e3488e08d96457c24c0c
[INFO] running `Command { std: "docker" "start" "-a" "643a38239c4afea8f273baaeeb7f602467bf7b1e3216e3488e08d96457c24c0c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.82
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling log v0.4.13
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling cc v1.0.66
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling xml-rs v0.8.3
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling cmake v0.1.45
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking semver-parser v0.7.0
[INFO] [stderr]    Compiling paste v1.0.4
[INFO] [stderr]     Checking semver v0.9.0
[INFO] [stderr]     Checking num-complex v0.3.1
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]    Compiling glfw-sys v3.3.2
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking glam v0.12.0
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking simba v0.3.1
[INFO] [stderr]     Checking rand_distr v0.3.0
[INFO] [stderr]     Checking glfw v0.41.0
[INFO] [stderr]     Checking nalgebra v0.23.2
[INFO] [stderr]     Checking rust_opengl v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `glfwGetTime`, `glfwGetWindowAttrib`, `glfwGetWindowFrameSize`, `glfwGetWindowSize`
[INFO] [stdout]  --> src/main.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use glfw::ffi::{glfwGetTime, glfwGetWindowAttrib, glfwGetWindowFrameSize, glfwGetWindowSize};
[INFO] [stdout]   |                 ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `glfwGetTime`, `glfwGetWindowAttrib`, `glfwGetWindowFrameSize`, `glfwGetWindowSize`
[INFO] [stdout]  --> src/main.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use glfw::ffi::{glfwGetTime, glfwGetWindowAttrib, glfwGetWindowFrameSize, glfwGetWindowSize};
[INFO] [stdout]   |                 ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Point3`
[INFO] [stdout]  --> src/main.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{Point3, Vector3, Vector4};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Point3`
[INFO] [stdout]  --> src/main.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 | use nalgebra::{Point3, Vector3, Vector4};
[INFO] [stdout]   |                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CStr`, `os::raw::c_char`, `thread::current`
[INFO] [stdout]  --> src/main.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{ffi::{CStr, CString, c_void}, os::raw::c_char, thread::current, time::SystemTime};
[INFO] [stdout]   |                 ^^^^                    ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CStr`, `os::raw::c_char`, `thread::current`
[INFO] [stdout]  --> src/main.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::{ffi::{CStr, CString, c_void}, os::raw::c_char, thread::current, time::SystemTime};
[INFO] [stdout]   |                 ^^^^                    ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/path.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]  --> src/path.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Borrow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `normal`
[INFO] [stdout]   --> src/path.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let normal: Vector3<f32> = new_pos - curr_seg.position;
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_normal`
[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/path.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let mut bisec: Vector3<f32> = vector1.cross(vector2);
[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: unused variable: `events`
[INFO] [stdout]    --> src/main.rs:229:22
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let (mut window, events) = glfw.create_window(500, 500, "OpenGL", glfw::WindowMode::Windowed)
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_mesh`
[INFO] [stdout]    --> src/main.rs:253:13
[INFO] [stdout]     |
[INFO] [stdout] 253 |     let mut test_mesh = Mesh::new(Vec::from([
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_mesh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_result_finished`
[INFO] [stdout]    --> src/main.rs:371:17
[INFO] [stdout]     |
[INFO] [stdout] 371 |             let test_result_finished = test_result;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_result_finished`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |     let mut test_mesh = Mesh::new(Vec::from([
[INFO] [stdout]     |         ----^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `normal`
[INFO] [stdout]   --> src/path.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let normal: Vector3<f32> = new_pos - curr_seg.position;
[INFO] [stdout]    |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_normal`
[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/main.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let mut test_mesh = test_path.makeLoopMesh();
[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/main.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let mut ambientLightSource = AmbientLightSource { strength: 0.3, color: Vector4::new(0.5, 0.5, 0.5, 1.0) };
[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/main.rs:311:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |     let mut directionalLightSource = DirectionalLightSource { strength: 0.4, direction: Vector3::new(0.0, 1.0, 0.0), color: Vector4::new(...
[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/main.rs:333:17
[INFO] [stdout]     |
[INFO] [stdout] 333 |             let mut raw_vertices = test_mesh.unfold_vertices();
[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/main.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 334 |             let mut vertices = raw_vertices.iter().fold(
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `gl_id` is never used
[INFO] [stdout]   --> src/main.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl ShaderType {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 76 |     fn gl_id(&self) -> GLuint {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `shader_type` and `source` are never read
[INFO] [stdout]   --> src/main.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | struct Shader {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 85 |     id: GLuint,
[INFO] [stdout] 86 |     shader_type: ShaderType,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 87 |     source: String
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertex_shader` and `fragment_shader` are never read
[INFO] [stdout]    --> src/main.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | struct ShaderProgram {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 119 |     id: GLuint,
[INFO] [stdout] 120 |     vertex_shader: Shader,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 121 |     fragment_shader: Shader
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `connect_points_straight` is never used
[INFO] [stdout]   --> src/path.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Path {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn connect_points_straight(points: Vec<Vector3<f32>>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `shaderProgram` should have a snake case name
[INFO] [stdout]    --> src/main.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |     let shaderProgram = ShaderProgram::new(VERTEX_SHADER_SOURCE.to_string(), FRAGMENT_SHADER_SOURCE.to_string());
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `shader_program`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ambientLightSource` should have a snake case name
[INFO] [stdout]    --> src/main.rs:309:13
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let mut ambientLightSource = AmbientLightSource { strength: 0.3, color: Vector4::new(0.5, 0.5, 0.5, 1.0) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ambient_light_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `directionalLightSource` should have a snake case name
[INFO] [stdout]    --> src/main.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |     let mut directionalLightSource = DirectionalLightSource { strength: 0.4, direction: Vector3::new(0.0, 1.0, 0.0), color: Vector4::new(...
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `directional_light_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `directionalLightSourceProgress` should have a snake case name
[INFO] [stdout]    --> src/main.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |     let mut directionalLightSourceProgress = CyclicalTimedProgress::new(0.1, false);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `directional_light_source_progress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `makeLoopForSegment` should have a snake case name
[INFO] [stdout]   --> src/path.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn makeLoopForSegment(&self, index: usize, vertices_per_loop: usize) -> Vec<Vertex> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `make_loop_for_segment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `makeLoopMesh` should have a snake case name
[INFO] [stdout]   --> src/path.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn makeLoopMesh(&self) -> Mesh {
[INFO] [stdout]    |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `make_loop_mesh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/path.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 159 |     let mut bisec: Vector3<f32> = vector1.cross(vector2);
[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: unused variable: `events`
[INFO] [stdout]    --> src/main.rs:229:22
[INFO] [stdout]     |
[INFO] [stdout] 229 |     let (mut window, events) = glfw.create_window(500, 500, "OpenGL", glfw::WindowMode::Windowed)
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_events`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_mesh`
[INFO] [stdout]    --> src/main.rs:253:13
[INFO] [stdout]     |
[INFO] [stdout] 253 |     let mut test_mesh = Mesh::new(Vec::from([
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_mesh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_result_finished`
[INFO] [stdout]    --> src/main.rs:371:17
[INFO] [stdout]     |
[INFO] [stdout] 371 |             let test_result_finished = test_result;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_result_finished`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:253:9
[INFO] [stdout]     |
[INFO] [stdout] 253 |     let mut test_mesh = Mesh::new(Vec::from([
[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/main.rs:283:9
[INFO] [stdout]     |
[INFO] [stdout] 283 |     let mut test_mesh = test_path.makeLoopMesh();
[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/main.rs:309:9
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let mut ambientLightSource = AmbientLightSource { strength: 0.3, color: Vector4::new(0.5, 0.5, 0.5, 1.0) };
[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/main.rs:311:9
[INFO] [stdout]     |
[INFO] [stdout] 311 |     let mut directionalLightSource = DirectionalLightSource { strength: 0.4, direction: Vector3::new(0.0, 1.0, 0.0), color: Vector4::new(...
[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/main.rs:333:17
[INFO] [stdout]     |
[INFO] [stdout] 333 |             let mut raw_vertices = test_mesh.unfold_vertices();
[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/main.rs:334:17
[INFO] [stdout]     |
[INFO] [stdout] 334 |             let mut vertices = raw_vertices.iter().fold(
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `gl_id` is never used
[INFO] [stdout]   --> src/main.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl ShaderType {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 76 |     fn gl_id(&self) -> GLuint {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `shader_type` and `source` are never read
[INFO] [stdout]   --> src/main.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | struct Shader {
[INFO] [stdout]    |        ------ fields in this struct
[INFO] [stdout] 85 |     id: GLuint,
[INFO] [stdout] 86 |     shader_type: ShaderType,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 87 |     source: String
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertex_shader` and `fragment_shader` are never read
[INFO] [stdout]    --> src/main.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 118 | struct ShaderProgram {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 119 |     id: GLuint,
[INFO] [stdout] 120 |     vertex_shader: Shader,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 121 |     fragment_shader: Shader
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `connect_points_straight` is never used
[INFO] [stdout]   --> src/path.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Path {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn connect_points_straight(points: Vec<Vector3<f32>>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `shaderProgram` should have a snake case name
[INFO] [stdout]    --> src/main.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |     let shaderProgram = ShaderProgram::new(VERTEX_SHADER_SOURCE.to_string(), FRAGMENT_SHADER_SOURCE.to_string());
[INFO] [stdout]     |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `shader_program`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ambientLightSource` should have a snake case name
[INFO] [stdout]    --> src/main.rs:309:13
[INFO] [stdout]     |
[INFO] [stdout] 309 |     let mut ambientLightSource = AmbientLightSource { strength: 0.3, color: Vector4::new(0.5, 0.5, 0.5, 1.0) };
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `ambient_light_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `directionalLightSource` should have a snake case name
[INFO] [stdout]    --> src/main.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |     let mut directionalLightSource = DirectionalLightSource { strength: 0.4, direction: Vector3::new(0.0, 1.0, 0.0), color: Vector4::new(...
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `directional_light_source`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `directionalLightSourceProgress` should have a snake case name
[INFO] [stdout]    --> src/main.rs:312:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |     let mut directionalLightSourceProgress = CyclicalTimedProgress::new(0.1, false);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `directional_light_source_progress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `makeLoopForSegment` should have a snake case name
[INFO] [stdout]   --> src/path.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn makeLoopForSegment(&self, index: usize, vertices_per_loop: usize) -> Vec<Vertex> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `make_loop_for_segment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `makeLoopMesh` should have a snake case name
[INFO] [stdout]   --> src/path.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub fn makeLoopMesh(&self) -> Mesh {
[INFO] [stdout]    |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `make_loop_mesh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 25 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 34.56s
[INFO] running `Command { std: "docker" "inspect" "643a38239c4afea8f273baaeeb7f602467bf7b1e3216e3488e08d96457c24c0c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "643a38239c4afea8f273baaeeb7f602467bf7b1e3216e3488e08d96457c24c0c", kill_on_drop: false }`
[INFO] [stdout] 643a38239c4afea8f273baaeeb7f602467bf7b1e3216e3488e08d96457c24c0c
