[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 try#0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef for pr-147859
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUnGast%2Frust-opengl-example" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[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-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/UnGast/rust-opengl-example on toolchain 0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking UnGast/rust-opengl-example against try#0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef for pr-147859
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FUnGast%2Frust-opengl-example" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[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-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/UnGast/rust-opengl-example on toolchain 0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded version_check v0.9.2
[INFO] [stderr]   Downloaded paste v1.0.4
[INFO] [stderr]   Downloaded num-complex v0.3.1
[INFO] [stderr]   Downloaded gl v0.14.0
[INFO] [stderr]   Downloaded simba v0.3.1
[INFO] [stderr]   Downloaded matrixmultiply v0.2.4
[INFO] [stderr]   Downloaded typenum v1.12.0
[INFO] [stderr]   Downloaded log v0.4.13
[INFO] [stderr]   Downloaded xml-rs v0.8.3
[INFO] [stderr]   Downloaded cc v1.0.66
[INFO] [stderr]   Downloaded glam v0.12.0
[INFO] [stderr]   Downloaded rand_distr v0.3.0
[INFO] [stderr]   Downloaded glfw v0.41.0
[INFO] [stderr]   Downloaded nalgebra v0.23.2
[INFO] [stderr]   Downloaded libc v0.2.82
[INFO] [stderr]   Downloaded glfw-sys v3.3.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 65ce95802454c8dc9310aa15fb6192164110d71dc0584f0817b0390bee276247
[INFO] running `Command { std: "docker" "start" "-a" "65ce95802454c8dc9310aa15fb6192164110d71dc0584f0817b0390bee276247", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "65ce95802454c8dc9310aa15fb6192164110d71dc0584f0817b0390bee276247", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "65ce95802454c8dc9310aa15fb6192164110d71dc0584f0817b0390bee276247", kill_on_drop: false }`
[INFO] [stdout] 65ce95802454c8dc9310aa15fb6192164110d71dc0584f0817b0390bee276247
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+0269aeccce4fd29ce9ad0ebd47a62e584d7e25ef" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 177828cfa31a5f78d36cb1b227b85072e82f62445333d4a3ff495dc542fca8c5
[INFO] running `Command { std: "docker" "start" "-a" "177828cfa31a5f78d36cb1b227b85072e82f62445333d4a3ff495dc542fca8c5", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.82
[INFO] [stderr]    Compiling libm v0.2.1
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling log v0.4.13
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling cc v1.0.66
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling xml-rs v0.8.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling typenum v1.12.0
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]     Checking semver-parser v0.7.0
[INFO] [stderr]    Compiling paste v1.0.4
[INFO] [stderr]     Checking matrixmultiply v0.2.4
[INFO] [stderr]     Checking glam v0.12.0
[INFO] [stderr]     Checking semver v0.9.0
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling cmake v0.1.45
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]     Checking raw-window-handle v0.3.3
[INFO] [stderr]    Compiling glfw-sys v3.3.2
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]    Compiling gl v0.14.0
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]     Checking num-complex v0.3.1
[INFO] [stderr]     Checking rand_distr v0.3.0
[INFO] [stderr]     Checking simba v0.3.1
[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`, and `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)]` (part of `#[warn(unused)]`) 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 imports: `CStr`, `os::raw::c_char`, and `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 imports: `glfwGetTime`, `glfwGetWindowAttrib`, `glfwGetWindowFrameSize`, and `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)]` (part of `#[warn(unused)]`) 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 imports: `CStr`, `os::raw::c_char`, and `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 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)]` (part of `#[warn(unused)]`) 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)]` (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: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...
[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: 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:9
[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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(nonstandard_style)]`) 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...
[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: 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)]` (part of `#[warn(unused)]`) 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)]` (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: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...
[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: 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:9
[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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(nonstandard_style)]`) 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...
[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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.16s
[INFO] running `Command { std: "docker" "inspect" "177828cfa31a5f78d36cb1b227b85072e82f62445333d4a3ff495dc542fca8c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "177828cfa31a5f78d36cb1b227b85072e82f62445333d4a3ff495dc542fca8c5", kill_on_drop: false }`
[INFO] [stdout] 177828cfa31a5f78d36cb1b227b85072e82f62445333d4a3ff495dc542fca8c5
