[INFO] fetching crate vigilant_lamp 0.0.6...
[INFO] testing vigilant_lamp-0.0.6 against 1.75.0 for beta-1.76-1
[INFO] extracting crate vigilant_lamp 0.0.6 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate vigilant_lamp 0.0.6 on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate vigilant_lamp 0.0.6
[INFO] finished tweaking crates.io crate vigilant_lamp 0.0.6
[INFO] tweaked toml for crates.io crate vigilant_lamp 0.0.6 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "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 wayland-egl v0.29.5
[INFO] [stderr]   Downloaded array-macro v2.1.8
[INFO] [stderr]   Downloaded glutin_egl_sys v0.1.6
[INFO] [stderr]   Downloaded chlorine v1.0.10
[INFO] [stderr]   Downloaded gloo-console-timer v0.1.0
[INFO] [stderr]   Downloaded glutin_glx_sys v0.1.8
[INFO] [stderr]   Downloaded yew v0.18.0
[INFO] [stderr]   Downloaded cfg-match v0.2.1
[INFO] [stderr]   Downloaded calloop v0.9.3
[INFO] [stderr]   Downloaded yew-macro v0.18.0
[INFO] [stderr]   Downloaded gloo v0.2.1
[INFO] [stderr]   Downloaded memmap2 v0.3.1
[INFO] [stderr]   Downloaded glutin v0.28.0
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.15.4
[INFO] [stderr]   Downloaded game-loop v0.8.2
[INFO] [stderr]   Downloaded gl33 v0.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 162354d8003e23c094cd4c745d3b7beaabb87bc47bb539b347629793257161bf
[INFO] running `Command { std: "docker" "start" "-a" "162354d8003e23c094cd4c745d3b7beaabb87bc47bb539b347629793257161bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "162354d8003e23c094cd4c745d3b7beaabb87bc47bb539b347629793257161bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "162354d8003e23c094cd4c745d3b7beaabb87bc47bb539b347629793257161bf", kill_on_drop: false }`
[INFO] [stdout] 162354d8003e23c094cd4c745d3b7beaabb87bc47bb539b347629793257161bf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 08da0f0040486920fbeee149c40455069746152fa2ab56a9dbde19ce07b57e30
[INFO] running `Command { std: "docker" "start" "-a" "08da0f0040486920fbeee149c40455069746152fa2ab56a9dbde19ce07b57e30", kill_on_drop: false }`
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling xml-rs v0.8.19
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.89
[INFO] [stderr]    Compiling bumpalo v3.14.0
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling wasm-bindgen v0.2.89
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling libloading v0.8.1
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling num-traits v0.2.17
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling downcast-rs v1.2.0
[INFO] [stderr]    Compiling scoped-tls v1.0.1
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.15.4
[INFO] [stderr]    Compiling instant v0.1.12
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling xcursor v0.3.5
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling memmap2 v0.3.1
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling nix v0.22.3
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling winit v0.26.1
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.89
[INFO] [stderr]    Compiling anyhow v1.0.79
[INFO] [stderr]    Compiling cty v0.2.2
[INFO] [stderr]    Compiling raw-window-handle v0.4.3
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling mio v0.8.10
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling thiserror-impl v1.0.56
[INFO] [stderr]    Compiling shared_library v0.1.9
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling boolinator v2.4.0
[INFO] [stderr]    Compiling yew v0.18.0
[INFO] [stderr]    Compiling yew-macro v0.18.0
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling chlorine v1.0.10
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.89
[INFO] [stderr]    Compiling anymap v0.12.1
[INFO] [stderr]    Compiling cfg-match v0.2.1
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.6
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.8
[INFO] [stderr]    Compiling num-complex v0.4.4
[INFO] [stderr]    Compiling gl33 v0.2.1
[INFO] [stderr]    Compiling array-macro v2.1.8
[INFO] [stderr]    Compiling bytemuck v1.14.0
[INFO] [stderr]    Compiling game-loop v0.8.2
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.89
[INFO] [stderr]    Compiling thiserror v1.0.56
[INFO] [stderr]    Compiling num v0.4.1
[INFO] [stderr]    Compiling js-sys v0.3.66
[INFO] [stderr]    Compiling console_error_panic_hook v0.1.7
[INFO] [stderr]    Compiling calloop v0.9.3
[INFO] [stderr]    Compiling wayland-cursor v0.29.5
[INFO] [stderr]    Compiling wayland-egl v0.29.5
[INFO] [stderr]    Compiling web-sys v0.3.66
[INFO] [stderr]    Compiling gloo-timers v0.2.6
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.39
[INFO] [stderr]    Compiling gloo-events v0.1.2
[INFO] [stderr]    Compiling gloo-console-timer v0.1.0
[INFO] [stderr]    Compiling gloo-file v0.1.0
[INFO] [stderr]    Compiling gloo v0.2.1
[INFO] [stderr]    Compiling glutin v0.28.0
[INFO] [stderr]    Compiling vigilant_lamp v0.0.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BigInt`, `BigUint`, `One`, `bigint::Sign`
[INFO] [stdout]  --> src/extra/num_two.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num::{BigInt, BigUint, Num, One, bigint::Sign};
[INFO] [stdout]   |           ^^^^^^  ^^^^^^^       ^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::camera`
[INFO] [stdout]  --> src/engine/scene.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{graph::{Renderer, Window}, math::matrix::Matrix4, engine::camera};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     LEFT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBracket`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     RIGHT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBracket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GRAVE_ACCENT` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     GRAVE_ACCENT,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GraveAccent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_1` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     WORLD_1,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_2` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     WORLD_2,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_UP` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     PAGE_UP,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `PageUp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_DOWN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     PAGE_DOWN,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `PageDown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CAPS_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     CAPS_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `CapsLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SCROLL_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     SCROLL_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScrollLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NUM_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     NUM_LOCK,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `NumLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PRINT_SCREEN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     PRINT_SCREEN,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrintScreen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DECIMAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     KP_DECIMAL,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `KpDecimal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DIVIDE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     KP_DIVIDE,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `KpDivide`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_MULTIPLY` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     KP_MULTIPLY,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpMultiply`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_SUBTRACT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     KP_SUBTRACT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpSubtract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ADD` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     KP_ADD,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `KpAdd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ENTER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     KP_ENTER,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEnter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_EQUAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     KP_EQUAL,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     LEFT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     LEFT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     LEFT_ALT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `LeftAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     LEFT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     RIGHT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     RIGHT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     RIGHT_ALT,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `RightAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     RIGHT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::JsValue`
[INFO] [stdout]  --> src/renderers/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wasm_bindgen::JsValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glUniform4iv`
[INFO] [stdout]  --> src/renderers/opengl.rs:3:709
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...1fv, glUniform1i, glUniform1iv, glUniform1ui, glUniform1uiv, glUniform4iv, glUniformMatrix2fv, glUniformMatrix3fv, glUniformMatrix4fv,...
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::JsString`
[INFO] [stdout]  --> src/renderers/webgl.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use js_sys::JsString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::Object`
[INFO] [stdout]  --> src/renderers/webgl.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use js_sys::Object;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ErrorType`
[INFO] [stdout]   --> src/renderers/webgl.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::ErrorType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `glutin::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]   --> src/renderers/opengl.rs:65:96
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead
[INFO] [stdout]   --> src/renderers/webgl.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let config = JsValue::from_serde("{ antialias: false }").unwrap();
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:54:114
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 Event::WindowEvent { event: WindowEvent::KeyboardInput { device_id: _, input, is_synthetic: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                  ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:65:112
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/opengl.rs:225:31
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn unbind_program (&self, program: &ProgramGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:229:28
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn get_property(&self, key: &str) -> Option<Box<dyn std::any::Any>> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderers/opengl.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 254 |     unsafe fn create_shader (&self, mut code: &str, typ: GLenum) -> Result<u32, 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: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:26
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:47
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:28
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:49
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:31
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:52
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:31
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:52
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:31
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:52
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |             .map_err(|e| e.map_to_first(|x| JsValue::from_str("Element provided isn't a canvas")));
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:75:50
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     .map_err(|e| e.map_to_first(|x| JsValue::from_str("Context provided isn't WebGL v2")));
[INFO] [stdout]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:43
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:55
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vsync`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:68
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_vsync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/webgl.rs:204:31
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn unbind_program (&self, program: &ProgramWGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:27
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:45
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:28
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:46
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:32
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:53
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:32
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:53
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:32
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:53
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/opengl.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub struct MeshGL {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 431 |     id: u32,
[INFO] [stdout] 432 |     vertices: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 433 |     indices: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/webgl.rs:461:5
[INFO] [stdout]     |
[INFO] [stdout] 459 | pub struct MeshWGL {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 460 |     id: WebGlVertexArrayObject,
[INFO] [stdout] 461 |     vertices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 462 |     indices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `T` should have a snake case name
[INFO] [stdout]   --> src/math/matrix.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn T (&self) -> Matrix<T, C, R> {
[INFO] [stdout]    |            ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 71 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "08da0f0040486920fbeee149c40455069746152fa2ab56a9dbde19ce07b57e30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "08da0f0040486920fbeee149c40455069746152fa2ab56a9dbde19ce07b57e30", kill_on_drop: false }`
[INFO] [stdout] 08da0f0040486920fbeee149c40455069746152fa2ab56a9dbde19ce07b57e30
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c4817d42ad6ef7bb1839b107a3d95446bfb3cf4f6a7b92cb67a5ad72412efd45
[INFO] running `Command { std: "docker" "start" "-a" "c4817d42ad6ef7bb1839b107a3d95446bfb3cf4f6a7b92cb67a5ad72412efd45", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `BigInt`, `BigUint`, `One`, `bigint::Sign`
[INFO] [stdout]  --> src/extra/num_two.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num::{BigInt, BigUint, Num, One, bigint::Sign};
[INFO] [stdout]   |           ^^^^^^  ^^^^^^^       ^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::camera`
[INFO] [stdout]  --> src/engine/scene.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{graph::{Renderer, Window}, math::matrix::Matrix4, engine::camera};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     LEFT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBracket`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     RIGHT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBracket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GRAVE_ACCENT` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     GRAVE_ACCENT,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GraveAccent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_1` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     WORLD_1,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_2` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     WORLD_2,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_UP` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     PAGE_UP,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `PageUp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_DOWN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     PAGE_DOWN,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `PageDown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CAPS_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     CAPS_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `CapsLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SCROLL_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     SCROLL_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScrollLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NUM_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     NUM_LOCK,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `NumLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PRINT_SCREEN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     PRINT_SCREEN,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrintScreen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DECIMAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     KP_DECIMAL,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `KpDecimal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DIVIDE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     KP_DIVIDE,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `KpDivide`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_MULTIPLY` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     KP_MULTIPLY,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpMultiply`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_SUBTRACT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     KP_SUBTRACT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpSubtract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ADD` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     KP_ADD,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `KpAdd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ENTER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     KP_ENTER,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEnter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_EQUAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     KP_EQUAL,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     LEFT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     LEFT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     LEFT_ALT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `LeftAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     LEFT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     RIGHT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     RIGHT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     RIGHT_ALT,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `RightAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     RIGHT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::JsValue`
[INFO] [stdout]  --> src/renderers/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wasm_bindgen::JsValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glUniform4iv`
[INFO] [stdout]  --> src/renderers/opengl.rs:3:709
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...1fv, glUniform1i, glUniform1iv, glUniform1ui, glUniform1uiv, glUniform4iv, glUniformMatrix2fv, glUniformMatrix3fv, glUniformMatrix4fv,...
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::JsString`
[INFO] [stdout]  --> src/renderers/webgl.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use js_sys::JsString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::Object`
[INFO] [stdout]  --> src/renderers/webgl.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use js_sys::Object;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ErrorType`
[INFO] [stdout]   --> src/renderers/webgl.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::ErrorType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `glutin::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]   --> src/renderers/opengl.rs:65:96
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead
[INFO] [stdout]   --> src/renderers/webgl.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let config = JsValue::from_serde("{ antialias: false }").unwrap();
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:54:114
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 Event::WindowEvent { event: WindowEvent::KeyboardInput { device_id: _, input, is_synthetic: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                  ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:65:112
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/opengl.rs:225:31
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn unbind_program (&self, program: &ProgramGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:229:28
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn get_property(&self, key: &str) -> Option<Box<dyn std::any::Any>> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderers/opengl.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 254 |     unsafe fn create_shader (&self, mut code: &str, typ: GLenum) -> Result<u32, 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: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:26
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:47
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:28
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:49
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:31
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:52
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:31
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:52
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:31
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:52
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |             .map_err(|e| e.map_to_first(|x| JsValue::from_str("Element provided isn't a canvas")));
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:75:50
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     .map_err(|e| e.map_to_first(|x| JsValue::from_str("Context provided isn't WebGL v2")));
[INFO] [stdout]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:43
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:55
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling vigilant_lamp v0.0.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `vsync`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:68
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_vsync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/webgl.rs:204:31
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn unbind_program (&self, program: &ProgramWGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:27
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:45
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:28
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:46
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:32
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:53
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:32
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:53
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:32
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:53
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/opengl.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub struct MeshGL {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 431 |     id: u32,
[INFO] [stdout] 432 |     vertices: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 433 |     indices: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/webgl.rs:461:5
[INFO] [stdout]     |
[INFO] [stdout] 459 | pub struct MeshWGL {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 460 |     id: WebGlVertexArrayObject,
[INFO] [stdout] 461 |     vertices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 462 |     indices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `T` should have a snake case name
[INFO] [stdout]   --> src/math/matrix.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn T (&self) -> Matrix<T, C, R> {
[INFO] [stdout]    |            ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 71 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `opengl::OpenGL`
[INFO] [stdout]  --> tests/gl.rs:3:128
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...erspectiveCamera, MeshPrimitives, ObjectG, Script, FlatMap, opengl::OpenGL};
[INFO] [stdout]   |                                                                ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigInt`, `BigUint`, `One`, `bigint::Sign`
[INFO] [stdout]  --> src/extra/num_two.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num::{BigInt, BigUint, Num, One, bigint::Sign};
[INFO] [stdout]   |           ^^^^^^  ^^^^^^^       ^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::camera`
[INFO] [stdout]  --> src/engine/scene.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{graph::{Renderer, Window}, math::matrix::Matrix4, engine::camera};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     LEFT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBracket`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     RIGHT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBracket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GRAVE_ACCENT` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     GRAVE_ACCENT,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GraveAccent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_1` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     WORLD_1,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_2` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     WORLD_2,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_UP` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     PAGE_UP,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `PageUp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_DOWN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     PAGE_DOWN,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `PageDown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CAPS_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     CAPS_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `CapsLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SCROLL_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     SCROLL_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScrollLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NUM_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     NUM_LOCK,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `NumLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PRINT_SCREEN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     PRINT_SCREEN,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrintScreen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DECIMAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     KP_DECIMAL,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `KpDecimal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DIVIDE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     KP_DIVIDE,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `KpDivide`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_MULTIPLY` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     KP_MULTIPLY,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpMultiply`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_SUBTRACT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     KP_SUBTRACT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpSubtract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ADD` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     KP_ADD,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `KpAdd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ENTER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     KP_ENTER,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEnter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_EQUAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     KP_EQUAL,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     LEFT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     LEFT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     LEFT_ALT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `LeftAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     LEFT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     RIGHT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     RIGHT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     RIGHT_ALT,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `RightAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     RIGHT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::JsValue`
[INFO] [stdout]  --> src/renderers/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wasm_bindgen::JsValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glUniform4iv`
[INFO] [stdout]  --> src/renderers/opengl.rs:3:709
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...1fv, glUniform1i, glUniform1iv, glUniform1ui, glUniform1uiv, glUniform4iv, glUniformMatrix2fv, glUniformMatrix3fv, glUniformMatrix4fv,...
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::JsString`
[INFO] [stdout]  --> src/renderers/webgl.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use js_sys::JsString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::Object`
[INFO] [stdout]  --> src/renderers/webgl.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use js_sys::Object;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ErrorType`
[INFO] [stdout]   --> src/renderers/webgl.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::ErrorType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> tests/gl.rs:28:47
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Script::of_update(|s : &mut Scene<R>, k, m, d| {
[INFO] [stdout]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `m`
[INFO] [stdout]   --> tests/gl.rs:28:50
[INFO] [stdout]    |
[INFO] [stdout] 28 |         Script::of_update(|s : &mut Scene<R>, k, m, d| {
[INFO] [stdout]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `glutin::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]   --> src/renderers/opengl.rs:65:96
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead
[INFO] [stdout]   --> src/renderers/webgl.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let config = JsValue::from_serde("{ antialias: false }").unwrap();
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:54:114
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 Event::WindowEvent { event: WindowEvent::KeyboardInput { device_id: _, input, is_synthetic: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                  ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:65:112
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/opengl.rs:225:31
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn unbind_program (&self, program: &ProgramGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:229:28
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn get_property(&self, key: &str) -> Option<Box<dyn std::any::Any>> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderers/opengl.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 254 |     unsafe fn create_shader (&self, mut code: &str, typ: GLenum) -> Result<u32, 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: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:26
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:47
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:28
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:49
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:31
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:52
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:31
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:52
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:31
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:52
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |             .map_err(|e| e.map_to_first(|x| JsValue::from_str("Element provided isn't a canvas")));
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:75:50
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     .map_err(|e| e.map_to_first(|x| JsValue::from_str("Context provided isn't WebGL v2")));
[INFO] [stdout]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:43
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:55
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vsync`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:68
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_vsync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/webgl.rs:204:31
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn unbind_program (&self, program: &ProgramWGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:27
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:45
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:28
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:46
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:32
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:53
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:32
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:53
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:32
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:53
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/opengl.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub struct MeshGL {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 431 |     id: u32,
[INFO] [stdout] 432 |     vertices: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 433 |     indices: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/webgl.rs:461:5
[INFO] [stdout]     |
[INFO] [stdout] 459 | pub struct MeshWGL {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 460 |     id: WebGlVertexArrayObject,
[INFO] [stdout] 461 |     vertices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 462 |     indices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `T` should have a snake case name
[INFO] [stdout]   --> src/math/matrix.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn T (&self) -> Matrix<T, C, R> {
[INFO] [stdout]    |            ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 71 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.38s
[INFO] running `Command { std: "docker" "inspect" "c4817d42ad6ef7bb1839b107a3d95446bfb3cf4f6a7b92cb67a5ad72412efd45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4817d42ad6ef7bb1839b107a3d95446bfb3cf4f6a7b92cb67a5ad72412efd45", kill_on_drop: false }`
[INFO] [stdout] c4817d42ad6ef7bb1839b107a3d95446bfb3cf4f6a7b92cb67a5ad72412efd45
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d7763cd77f624e2dbf4d7afcffd55e05e345a757ed102d34362cf10832ccaf90
[INFO] running `Command { std: "docker" "start" "-a" "d7763cd77f624e2dbf4d7afcffd55e05e345a757ed102d34362cf10832ccaf90", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `BigInt`, `BigUint`, `One`, `bigint::Sign`
[INFO] [stderr]  --> src/extra/num_two.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use num::{BigInt, BigUint, Num, One, bigint::Sign};
[INFO] [stderr]   |           ^^^^^^  ^^^^^^^       ^^^  ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `engine::camera`
[INFO] [stderr]  --> src/engine/scene.rs:1:63
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::{graph::{Renderer, Window}, math::matrix::Matrix4, engine::camera};
[INFO] [stderr]   |                                                               ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_BRACKET` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:53:5
[INFO] [stderr]    |
[INFO] [stderr] 53 |     LEFT_BRACKET,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBracket`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_BRACKET` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 55 |     RIGHT_BRACKET,
[INFO] [stderr]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBracket`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `GRAVE_ACCENT` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 56 |     GRAVE_ACCENT,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GraveAccent`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `WORLD_1` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:58:5
[INFO] [stderr]    |
[INFO] [stderr] 58 |     WORLD_1,
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World1`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `WORLD_2` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 59 |     WORLD_2,
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World2`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PAGE_UP` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:72:5
[INFO] [stderr]    |
[INFO] [stderr] 72 |     PAGE_UP,
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case: `PageUp`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PAGE_DOWN` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 73 |     PAGE_DOWN,
[INFO] [stderr]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `PageDown`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `CAPS_LOCK` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:77:5
[INFO] [stderr]    |
[INFO] [stderr] 77 |     CAPS_LOCK,
[INFO] [stderr]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `CapsLock`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `SCROLL_LOCK` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:78:5
[INFO] [stderr]    |
[INFO] [stderr] 78 |     SCROLL_LOCK,
[INFO] [stderr]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScrollLock`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `NUM_LOCK` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:79:5
[INFO] [stderr]    |
[INFO] [stderr] 79 |     NUM_LOCK,
[INFO] [stderr]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `NumLock`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PRINT_SCREEN` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:80:5
[INFO] [stderr]    |
[INFO] [stderr] 80 |     PRINT_SCREEN,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrintScreen`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_DECIMAL` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:122:5
[INFO] [stderr]     |
[INFO] [stderr] 122 |     KP_DECIMAL,
[INFO] [stderr]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `KpDecimal`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_DIVIDE` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:123:5
[INFO] [stderr]     |
[INFO] [stderr] 123 |     KP_DIVIDE,
[INFO] [stderr]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `KpDivide`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_MULTIPLY` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:124:5
[INFO] [stderr]     |
[INFO] [stderr] 124 |     KP_MULTIPLY,
[INFO] [stderr]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpMultiply`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_SUBTRACT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:125:5
[INFO] [stderr]     |
[INFO] [stderr] 125 |     KP_SUBTRACT,
[INFO] [stderr]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpSubtract`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_ADD` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:126:5
[INFO] [stderr]     |
[INFO] [stderr] 126 |     KP_ADD,
[INFO] [stderr]     |     ^^^^^^ help: convert the identifier to upper camel case: `KpAdd`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_ENTER` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:127:5
[INFO] [stderr]     |
[INFO] [stderr] 127 |     KP_ENTER,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEnter`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_EQUAL` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:128:5
[INFO] [stderr]     |
[INFO] [stderr] 128 |     KP_EQUAL,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEqual`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_SHIFT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:130:5
[INFO] [stderr]     |
[INFO] [stderr] 130 |     LEFT_SHIFT,
[INFO] [stderr]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftShift`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_CONTROL` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:131:5
[INFO] [stderr]     |
[INFO] [stderr] 131 |     LEFT_CONTROL,
[INFO] [stderr]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftControl`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_ALT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:132:5
[INFO] [stderr]     |
[INFO] [stderr] 132 |     LEFT_ALT,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `LeftAlt`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_SUPER` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:133:5
[INFO] [stderr]     |
[INFO] [stderr] 133 |     LEFT_SUPER,
[INFO] [stderr]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSuper`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_SHIFT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:135:5
[INFO] [stderr]     |
[INFO] [stderr] 135 |     RIGHT_SHIFT,
[INFO] [stderr]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightShift`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_CONTROL` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 136 |     RIGHT_CONTROL,
[INFO] [stderr]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightControl`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_ALT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:137:5
[INFO] [stderr]     |
[INFO] [stderr] 137 |     RIGHT_ALT,
[INFO] [stderr]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `RightAlt`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_SUPER` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:138:5
[INFO] [stderr]     |
[INFO] [stderr] 138 |     RIGHT_SUPER,
[INFO] [stderr]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSuper`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wasm_bindgen::JsValue`
[INFO] [stderr]  --> src/renderers/builder.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use wasm_bindgen::JsValue;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `glUniform4iv`
[INFO] [stderr]  --> src/renderers/opengl.rs:3:709
[INFO] [stderr]   |
[INFO] [stderr] 3 | ...1fv, glUniform1i, glUniform1iv, glUniform1ui, glUniform1uiv, glUniform4iv, glUniformMatrix2fv, glUniformMatrix3fv, glUniformMatrix4fv,...
[INFO] [stderr]   |                                                                 ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `js_sys::JsString`
[INFO] [stderr]  --> src/renderers/webgl.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use js_sys::JsString;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `js_sys::Object`
[INFO] [stderr]  --> src/renderers/webgl.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use js_sys::Object;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::ErrorType`
[INFO] [stderr]   --> src/renderers/webgl.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use crate::ErrorType;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated field `glutin::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stderr]   --> src/renderers/opengl.rs:65:96
[INFO] [stderr]    |
[INFO] [stderr] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stderr]    |                                                                                                ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead
[INFO] [stderr]   --> src/renderers/webgl.rs:59:31
[INFO] [stderr]    |
[INFO] [stderr] 59 |         let config = JsValue::from_serde("{ antialias: false }").unwrap();
[INFO] [stderr]    |                               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `window_id`
[INFO] [stderr]   --> src/renderers/opengl.rs:54:114
[INFO] [stderr]    |
[INFO] [stderr] 54 |                 Event::WindowEvent { event: WindowEvent::KeyboardInput { device_id: _, input, is_synthetic: _ }, window_id } => {
[INFO] [stderr]    |                                                                                                                  ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `window_id`
[INFO] [stderr]   --> src/renderers/opengl.rs:65:112
[INFO] [stderr]    |
[INFO] [stderr] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stderr]    |                                                                                                                ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `program`
[INFO] [stderr]    --> src/renderers/opengl.rs:225:31
[INFO] [stderr]     |
[INFO] [stderr] 225 |     fn unbind_program (&self, program: &ProgramGL) {
[INFO] [stderr]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:229:28
[INFO] [stderr]     |
[INFO] [stderr] 229 |     fn get_property(&self, key: &str) -> Option<Box<dyn std::any::Any>> {
[INFO] [stderr]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/renderers/opengl.rs:254:37
[INFO] [stderr]     |
[INFO] [stderr] 254 |     unsafe fn create_shader (&self, mut code: &str, typ: GLenum) -> Result<u32, String> {
[INFO] [stderr]     |                                     ----^^^^
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:396:26
[INFO] [stderr]     |
[INFO] [stderr] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stderr]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:396:47
[INFO] [stderr]     |
[INFO] [stderr] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stderr]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:400:28
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stderr]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:400:49
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stderr]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:404:31
[INFO] [stderr]     |
[INFO] [stderr] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stderr]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:404:52
[INFO] [stderr]     |
[INFO] [stderr] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stderr]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:408:31
[INFO] [stderr]     |
[INFO] [stderr] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stderr]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:408:52
[INFO] [stderr]     |
[INFO] [stderr] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stderr]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:412:31
[INFO] [stderr]     |
[INFO] [stderr] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stderr]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:412:52
[INFO] [stderr]     |
[INFO] [stderr] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stderr]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/renderers/webgl.rs:66:42
[INFO] [stderr]    |
[INFO] [stderr] 66 |             .map_err(|e| e.map_to_first(|x| JsValue::from_str("Element provided isn't a canvas")));
[INFO] [stderr]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/renderers/webgl.rs:75:50
[INFO] [stderr]    |
[INFO] [stderr] 75 |                     .map_err(|e| e.map_to_first(|x| JsValue::from_str("Context provided isn't WebGL v2")));
[INFO] [stderr]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `width`
[INFO] [stderr]    --> src/renderers/webgl.rs:164:43
[INFO] [stderr]     |
[INFO] [stderr] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stderr]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `height`
[INFO] [stderr]    --> src/renderers/webgl.rs:164:55
[INFO] [stderr]     |
[INFO] [stderr] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stderr]     |                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vsync`
[INFO] [stderr]    --> src/renderers/webgl.rs:164:68
[INFO] [stderr]     |
[INFO] [stderr] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stderr]     |                                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_vsync`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `program`
[INFO] [stderr]    --> src/renderers/webgl.rs:204:31
[INFO] [stderr]     |
[INFO] [stderr] 204 |     fn unbind_program (&self, program: &ProgramWGL) {
[INFO] [stderr]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:400:27
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stderr]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:400:45
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:421:28
[INFO] [stderr]     |
[INFO] [stderr] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stderr]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:421:46
[INFO] [stderr]     |
[INFO] [stderr] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stderr]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:437:32
[INFO] [stderr]     |
[INFO] [stderr] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stderr]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:437:53
[INFO] [stderr]     |
[INFO] [stderr] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stderr]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:441:32
[INFO] [stderr]     |
[INFO] [stderr] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stderr]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:441:53
[INFO] [stderr]     |
[INFO] [stderr] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stderr]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:445:32
[INFO] [stderr]     |
[INFO] [stderr] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stderr]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:445:53
[INFO] [stderr]     |
[INFO] [stderr] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stderr]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `vertices` and `indices` are never read
[INFO] [stderr]    --> src/renderers/opengl.rs:432:5
[INFO] [stderr]     |
[INFO] [stderr] 430 | pub struct MeshGL {
[INFO] [stderr]     |            ------ fields in this struct
[INFO] [stderr] 431 |     id: u32,
[INFO] [stderr] 432 |     vertices: u32,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 433 |     indices: u32,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `vertices` and `indices` are never read
[INFO] [stderr]    --> src/renderers/webgl.rs:461:5
[INFO] [stderr]     |
[INFO] [stderr] 459 | pub struct MeshWGL {
[INFO] [stderr]     |            ------- fields in this struct
[INFO] [stderr] 460 |     id: WebGlVertexArrayObject,
[INFO] [stderr] 461 |     vertices: WebGlBuffer,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 462 |     indices: WebGlBuffer,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `T` should have a snake case name
[INFO] [stderr]   --> src/math/matrix.rs:41:12
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub fn T (&self) -> Matrix<T, C, R> {
[INFO] [stderr]    |            ^ help: convert the identifier to snake case: `t`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/graph/renderer.rs:28:7
[INFO] [stderr]    |
[INFO] [stderr] 28 |       code.read_to_string(&mut code_string);
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 28 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stderr]    |       +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/graph/renderer.rs:34:7
[INFO] [stderr]    |
[INFO] [stderr] 34 |       code.read_to_string(&mut code_string);
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 34 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stderr]    |       +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `vigilant_lamp` (lib) generated 71 warnings (run `cargo fix --lib -p vigilant_lamp` to apply 38 suggestions)
[INFO] [stderr] warning: `vigilant_lamp` (lib test) generated 71 warnings (71 duplicates)
[INFO] [stderr] warning: unused import: `opengl::OpenGL`
[INFO] [stderr]  --> tests/gl.rs:3:128
[INFO] [stderr]   |
[INFO] [stderr] 3 | ...erspectiveCamera, MeshPrimitives, ObjectG, Script, FlatMap, opengl::OpenGL};
[INFO] [stderr]   |                                                                ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `k`
[INFO] [stderr]   --> tests/gl.rs:28:47
[INFO] [stderr]    |
[INFO] [stderr] 28 |         Script::of_update(|s : &mut Scene<R>, k, m, d| {
[INFO] [stderr]    |                                               ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `m`
[INFO] [stderr]   --> tests/gl.rs:28:50
[INFO] [stderr]    |
[INFO] [stderr] 28 |         Script::of_update(|s : &mut Scene<R>, k, m, d| {
[INFO] [stderr]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_m`
[INFO] [stderr] 
[INFO] [stderr] warning: `vigilant_lamp` (test "gl") generated 3 warnings (run `cargo fix --test "gl"` to apply 3 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vigilant_lamp-4143c15717ba42ec)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/gl.rs (/opt/rustwide/target/debug/deps/gl-3eb4fd2f40e1bea6)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::main ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::main stdout ----
[INFO] [stdout] thread 'tests::main' panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/winit-0.26.1/src/platform_impl/linux/mod.rs:758:9:
[INFO] [stdout] Initializing the event loop outside of the main thread is a significant cross-platform compatibility hazard. If you really, absolutely need to create an EventLoop on a different thread, please use the `EventLoopExtUnix::new_any_thread` function.
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x556c19c492fc - std::backtrace_rs::backtrace::libunwind::trace::ha637c64ce894333a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
[INFO] [stdout]    1:     0x556c19c492fc - std::backtrace_rs::backtrace::trace_unsynchronized::h47f62dea28e0c88d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x556c19c492fc - std::sys_common::backtrace::_print_fmt::h9eef0abe20ede486
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:67:5
[INFO] [stdout]    3:     0x556c19c492fc - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hed7f999df88cc644
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x556c19c758f0 - core::fmt::rt::Argument::fmt::h1539a9308b8d058d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/rt.rs:142:9
[INFO] [stdout]    5:     0x556c19c758f0 - core::fmt::write::h3a39390d8560d9c9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/fmt/mod.rs:1120:17
[INFO] [stdout]    6:     0x556c19c467cf - std::io::Write::write_fmt::h040b369f3a0f9cbc
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/io/mod.rs:1762:15
[INFO] [stdout]    7:     0x556c19c490e4 - std::sys_common::backtrace::_print::h894006fb5c6f3d45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x556c19c490e4 - std::sys_common::backtrace::print::h23a2d212c6fff936
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x556c19c4ada7 - std::panicking::default_hook::{{closure}}::h8a1d2ee00185001a
[INFO] [stdout]   10:     0x556c19c4aa93 - std::panicking::default_hook::h6038f2eba384e475
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:289:9
[INFO] [stdout]   11:     0x556c19866e57 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h0ad024c9bdc6d768
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   12:     0x556c19866e57 - test::test_main::{{closure}}::h7500b54257359db6
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:138:21
[INFO] [stdout]   13:     0x556c19c4b3b8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1f8f335eaa9cfaee
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2021:9
[INFO] [stdout]   14:     0x556c19c4b3b8 - std::panicking::rust_panic_with_hook::h2b5517d590cab22e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:783:13
[INFO] [stdout]   15:     0x556c19c4b10e - std::panicking::begin_panic_handler::{{closure}}::h233112c06e0ef43e
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:657:13
[INFO] [stdout]   16:     0x556c19c497c6 - std::sys_common::backtrace::__rust_end_short_backtrace::h6e893f24d7ebbff8
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:170:18
[INFO] [stdout]   17:     0x556c19c4ae72 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
[INFO] [stdout]   18:     0x556c1982ee75 - core::panicking::panic_fmt::hbf0e066aabfa482c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x556c199c8c34 - winit::platform_impl::platform::assert_is_main_thread::h42e551fd91e5c1a3
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/winit-0.26.1/src/platform_impl/linux/mod.rs:758:9
[INFO] [stdout]   20:     0x556c199c83c0 - winit::platform_impl::platform::EventLoop<T>::new::h39a9789b9d9bf657
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/winit-0.26.1/src/platform_impl/linux/mod.rs:572:9
[INFO] [stdout]   21:     0x556c19962edb - winit::event_loop::EventLoop<T>::with_user_event::h7b41bda6857cdebd
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/winit-0.26.1/src/event_loop.rs:134:25
[INFO] [stdout]   22:     0x556c19962eae - winit::event_loop::EventLoop<()>::new::h9a44f1d75178634b
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/winit-0.26.1/src/event_loop.rs:120:9
[INFO] [stdout]   23:     0x556c1987913b - vigilant_lamp::renderers::opengl::OpenGL::new::h8465800d90cee57a
[INFO] [stdout]                                at /opt/rustwide/workdir/src/renderers/opengl.rs:14:30
[INFO] [stdout]   24:     0x556c19830ec8 - vigilant_lamp::renderers::builder::build_opengl::hdf152109389da4d8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/renderers/builder.rs:12:20
[INFO] [stdout]   25:     0x556c19833185 - gl::tests::main::h28391b6c28002f7c
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/gl.rs:7:18
[INFO] [stdout]   26:     0x556c19833117 - gl::tests::main::{{closure}}::h009d5f04422f0b29
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/gl.rs:6:14
[INFO] [stdout]   27:     0x556c19831906 - core::ops::function::FnOnce::call_once::hfacfcc419459e60a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x556c1986c4af - core::ops::function::FnOnce::call_once::h2b5d431d5046312d
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29:     0x556c1986c4af - test::__rust_begin_short_backtrace::h7714669af176e207
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:628:18
[INFO] [stdout]   30:     0x556c1986b4c5 - test::run_test_in_process::{{closure}}::h85218797dcbcec12
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:60
[INFO] [stdout]   31:     0x556c1986b4c5 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h76c106ea31c14d7b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   32:     0x556c1986b4c5 - std::panicking::try::do_call::h3bd5d0f6620ee946
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   33:     0x556c1986b4c5 - std::panicking::try::h232e535e4744fe31
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   34:     0x556c1986b4c5 - std::panic::catch_unwind::h3ce3bd6ca8dbac68
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   35:     0x556c1986b4c5 - test::run_test_in_process::hc97b257c9621286a
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:651:27
[INFO] [stdout]   36:     0x556c1986b4c5 - test::run_test::{{closure}}::h2aa798823a438d38
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:574:43
[INFO] [stdout]   37:     0x556c19833786 - test::run_test::{{closure}}::h87d231c78fb59832
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/test/src/lib.rs:602:41
[INFO] [stdout]   38:     0x556c19833786 - std::sys_common::backtrace::__rust_begin_short_backtrace::he6df152596625789
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/backtrace.rs:154:18
[INFO] [stdout]   39:     0x556c19838837 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::ha94be15d1e0acf36
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:529:17
[INFO] [stdout]   40:     0x556c19838837 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9dc6bd6372f16606
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   41:     0x556c19838837 - std::panicking::try::do_call::h9057517f80303cd4
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:552:40
[INFO] [stdout]   42:     0x556c19838837 - std::panicking::try::he3a30b11ee45340c
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:516:19
[INFO] [stdout]   43:     0x556c19838837 - std::panic::catch_unwind::h410458cfd3528b8b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panic.rs:142:14
[INFO] [stdout]   44:     0x556c19838837 - std::thread::Builder::spawn_unchecked_::{{closure}}::h72ac3bdb567b737b
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/thread/mod.rs:528:30
[INFO] [stdout]   45:     0x556c19838837 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h38f34da3654a8344
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x556c19c50005 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hc7eafaff61e32df9
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   47:     0x556c19c50005 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6ba4a5de48dd2304
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/alloc/src/boxed.rs:2007:9
[INFO] [stdout]   48:     0x556c19c50005 - std::sys::unix::thread::Thread::new::thread_start::he469335aef763e45
[INFO] [stdout]                                at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   49:     0x7fc836320ac3 - <unknown>
[INFO] [stdout]   50:     0x7fc8363b1bf4 - __clone
[INFO] [stdout]   51:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::main
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test gl`
[INFO] running `Command { std: "docker" "inspect" "d7763cd77f624e2dbf4d7afcffd55e05e345a757ed102d34362cf10832ccaf90", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d7763cd77f624e2dbf4d7afcffd55e05e345a757ed102d34362cf10832ccaf90", kill_on_drop: false }`
[INFO] [stdout] d7763cd77f624e2dbf4d7afcffd55e05e345a757ed102d34362cf10832ccaf90
