[INFO] fetching crate vigilant_lamp 0.0.6...
[INFO] testing vigilant_lamp-0.0.6 against nightly-2024-10-28+rustflags=-Zrandomize-layout for randomize-layout
[INFO] extracting crate vigilant_lamp 0.0.6 into /workspace/builds/worker-5-tc2/source
[INFO] validating manifest of crates.io crate vigilant_lamp 0.0.6 on toolchain nightly-2024-10-28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-10-28" "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-5-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-10-28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 170 packages to latest compatible versions
[INFO] [stderr]       Adding game-loop v0.8.2 (available: v1.2.0)
[INFO] [stderr]       Adding glutin v0.28.0 (available: v0.32.1)
[INFO] [stderr]       Adding ndarray v0.15.6 (available: v0.16.1)
[INFO] [stderr]       Adding yew v0.18.0 (available: v0.21.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-10-28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 75b4e9561ace8bd76ed7a64a6ad3861bf366f659c8064f73187137c939ea492b
[INFO] running `Command { std: "docker" "start" "-a" "75b4e9561ace8bd76ed7a64a6ad3861bf366f659c8064f73187137c939ea492b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "75b4e9561ace8bd76ed7a64a6ad3861bf366f659c8064f73187137c939ea492b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "75b4e9561ace8bd76ed7a64a6ad3861bf366f659c8064f73187137c939ea492b", kill_on_drop: false }`
[INFO] [stdout] 75b4e9561ace8bd76ed7a64a6ad3861bf366f659c8064f73187137c939ea492b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Zrandomize-layout" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 34d141da2abd6822c179d175030b89b339a17b430dd2ffe880589f1df8ae552b
[INFO] running `Command { std: "docker" "start" "-a" "34d141da2abd6822c179d175030b89b339a17b430dd2ffe880589f1df8ae552b", kill_on_drop: false }`
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]    Compiling xml-rs v0.8.22
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.95
[INFO] [stderr]    Compiling bumpalo v3.16.0
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling wasm-bindgen v0.2.95
[INFO] [stderr]    Compiling libloading v0.8.5
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling scoped-tls v1.0.1
[INFO] [stderr]    Compiling syn v2.0.86
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling xcursor v0.3.8
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling matrixmultiply v0.3.9
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling winit v0.26.1
[INFO] [stderr]    Compiling thiserror v1.0.66
[INFO] [stderr]    Compiling cty v0.2.2
[INFO] [stderr]    Compiling anyhow v1.0.92
[INFO] [stderr]    Compiling raw-window-handle v0.4.3
[INFO] [stderr]    Compiling yew v0.18.0
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling bytes v1.8.0
[INFO] [stderr]    Compiling yew-macro v0.18.0
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling chlorine v1.0.12
[INFO] [stderr]    Compiling array-macro v2.1.8
[INFO] [stderr]    Compiling gl33 v0.2.1
[INFO] [stderr]    Compiling bytemuck v1.19.0
[INFO] [stderr]    Compiling game-loop v0.8.2
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.15.4
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.6
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.8
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling nix v0.22.3
[INFO] [stderr]    Compiling memmap2 v0.3.1
[INFO] [stderr]    Compiling shared_library v0.1.9
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.95
[INFO] [stderr]    Compiling serde_derive v1.0.214
[INFO] [stderr]    Compiling thiserror-impl v1.0.66
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.95
[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 wasm-bindgen-macro v0.2.95
[INFO] [stderr]    Compiling serde v1.0.214
[INFO] [stderr]    Compiling serde_json v1.0.132
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling js-sys v0.3.72
[INFO] [stderr]    Compiling console_error_panic_hook v0.1.7
[INFO] [stderr]    Compiling web-sys v0.3.72
[INFO] [stderr]    Compiling gloo-timers v0.2.6
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.45
[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`, and `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] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.57s
[INFO] running `Command { std: "docker" "inspect" "34d141da2abd6822c179d175030b89b339a17b430dd2ffe880589f1df8ae552b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34d141da2abd6822c179d175030b89b339a17b430dd2ffe880589f1df8ae552b", kill_on_drop: false }`
[INFO] [stdout] 34d141da2abd6822c179d175030b89b339a17b430dd2ffe880589f1df8ae552b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Zrandomize-layout" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 15ffb7d24d907a94f3c4129463a2245e4511d3980fe144fa1c0062f8e3bd57f7
[INFO] running `Command { std: "docker" "start" "-a" "15ffb7d24d907a94f3c4129463a2245e4511d3980fe144fa1c0062f8e3bd57f7", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `BigInt`, `BigUint`, `One`, and `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] [stderr]    Compiling vigilant_lamp v0.0.6 (/opt/rustwide/workdir)
[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 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: unused imports: `BigInt`, `BigUint`, `One`, and `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] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.62s
[INFO] running `Command { std: "docker" "inspect" "15ffb7d24d907a94f3c4129463a2245e4511d3980fe144fa1c0062f8e3bd57f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "15ffb7d24d907a94f3c4129463a2245e4511d3980fe144fa1c0062f8e3bd57f7", kill_on_drop: false }`
[INFO] [stdout] 15ffb7d24d907a94f3c4129463a2245e4511d3980fe144fa1c0062f8e3bd57f7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Zrandomize-layout" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-10-28" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e2bc5afa36b6a2e0f01756c66246867364d201c55a321bcfc17f88ddf53666a3
[INFO] running `Command { std: "docker" "start" "-a" "e2bc5afa36b6a2e0f01756c66246867364d201c55a321bcfc17f88ddf53666a3", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `BigInt`, `BigUint`, `One`, and `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 8 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 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vigilant_lamp-93072cf3a99482fd)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running tests/gl.rs (/opt/rustwide/target/debug/deps/gl-af5c27e06aa40a7b)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[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:     0x648d5fe7c80a - std::backtrace_rs::backtrace::libunwind::trace::h207520d6e9873551
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x648d5fe7c80a - std::backtrace_rs::backtrace::trace_unsynchronized::h2ed7433f370e3eca
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x648d5fe7c80a - std::sys::backtrace::_print_fmt::h916fac51166b18d7
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x648d5fe7c80a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::ha0a4c9b8ce3802e6
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x648d5fea5e43 - core::fmt::rt::Argument::fmt::h4cfc8587d52b3eb5
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x648d5fea5e43 - core::fmt::write::h522cc39e5b36ae9f
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/core/src/fmt/mod.rs:1190:21
[INFO] [stdout]    6:     0x648d5fe78fb3 - std::io::Write::write_fmt::h7d3c26752da97734
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/io/mod.rs:1839:15
[INFO] [stdout]    7:     0x648d5fe7c652 - std::sys::backtrace::BacktraceLock::print::h4b9e00b29e9c0942
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x648d5fe7dc9a - std::panicking::default_hook::{{closure}}::hb59b88280d0324d9
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x648d5fe7daa4 - std::panicking::default_hook::he1dd496665be4a29
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x648d5fad6529 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h4ff71de18744e1dc
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   11:     0x648d5fad6529 - test::test_main::{{closure}}::hcf7c055ce117aa81
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/test/src/lib.rs:133:21
[INFO] [stdout]   12:     0x648d5fe7e398 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h1d66c6bbd60c9692
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/alloc/src/boxed.rs:2468:9
[INFO] [stdout]   13:     0x648d5fe7e398 - std::panicking::rust_panic_with_hook::h2ff17fe8f26dfcf8
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x648d5fe7e15a - std::panicking::begin_panic_handler::{{closure}}::h4fad77951c07e101
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x648d5fe7cce9 - std::sys::backtrace::__rust_end_short_backtrace::hb1a25b3da5d0ea08
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x648d5fe7ddec - rust_begin_unwind
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x648d5fea3c10 - core::panicking::panic_fmt::ha9db07b529f9b256
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/core/src/panicking.rs:75:14
[INFO] [stdout]   18:     0x648d5fc1bc90 - winit::platform_impl::platform::assert_is_main_thread::h76680edca9e208e6
[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]   19:     0x648d5fc1b3d0 - winit::platform_impl::platform::EventLoop<T>::new::h59e4bd107b7b3225
[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]   20:     0x648d5fc4013c - winit::event_loop::EventLoop<T>::with_user_event::ha3d2b6d26494a661
[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]   21:     0x648d5fc4010e - winit::event_loop::EventLoop<()>::new::h23ac6359ce922401
[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]   22:     0x648d5fb4e90c - vigilant_lamp::renderers::opengl::OpenGL::new::h9e4d31a4954070f5
[INFO] [stdout]                                at /opt/rustwide/workdir/src/renderers/opengl.rs:14:30
[INFO] [stdout]   23:     0x648d5fa9a534 - vigilant_lamp::renderers::builder::build_opengl::h9bd467ebee4a3e44
[INFO] [stdout]                                at /opt/rustwide/workdir/src/renderers/builder.rs:12:20
[INFO] [stdout]   24:     0x648d5fa9c2a5 - gl::tests::main::hf7cf9dff94195198
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/gl.rs:7:18
[INFO] [stdout]   25:     0x648d5fa9c237 - gl::tests::main::{{closure}}::h71a12a0a5ff2d22f
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/gl.rs:6:14
[INFO] [stdout]   26:     0x648d5fa9ae06 - core::ops::function::FnOnce::call_once::hc83b5fa1210259de
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x648d5fadadfb - core::ops::function::FnOnce::call_once::h22c3ba5715e93f05
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x648d5fadadfb - test::__rust_begin_short_backtrace::h8e82d8113d0da17f
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/test/src/lib.rs:621:18
[INFO] [stdout]   29:     0x648d5fada777 - test::run_test_in_process::{{closure}}::h33235f4f20b7b7c7
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/test/src/lib.rs:644:60
[INFO] [stdout]   30:     0x648d5fada777 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb5043206310c586f
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   31:     0x648d5fada777 - std::panicking::try::do_call::h9ad4731a60ab23e2
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/panicking.rs:557:40
[INFO] [stdout]   32:     0x648d5fada777 - std::panicking::try::h3824d23db772a716
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/panicking.rs:520:19
[INFO] [stdout]   33:     0x648d5fada777 - std::panic::catch_unwind::h5afd514605fde46b
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/panic.rs:358:14
[INFO] [stdout]   34:     0x648d5fada777 - test::run_test_in_process::h0d5cbfa7067d1720
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/test/src/lib.rs:644:27
[INFO] [stdout]   35:     0x648d5fada777 - test::run_test::{{closure}}::h708eb8872708115d
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/test/src/lib.rs:565:43
[INFO] [stdout]   36:     0x648d5fa9de94 - test::run_test::{{closure}}::h392c51cee94713ab
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/test/src/lib.rs:595:41
[INFO] [stdout]   37:     0x648d5fa9de94 - std::sys::backtrace::__rust_begin_short_backtrace::h2f40290710935a8b
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   38:     0x648d5faa163e - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h3fd968d89053a903
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/thread/mod.rs:541:17
[INFO] [stdout]   39:     0x648d5faa163e - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h743f637ba4229880
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   40:     0x648d5faa163e - std::panicking::try::do_call::h07440897322525a6
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/panicking.rs:557:40
[INFO] [stdout]   41:     0x648d5faa163e - std::panicking::try::he5a2e00188156637
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/panicking.rs:520:19
[INFO] [stdout]   42:     0x648d5faa163e - std::panic::catch_unwind::hbaf3cae49b3c6433
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/panic.rs:358:14
[INFO] [stdout]   43:     0x648d5faa163e - std::thread::Builder::spawn_unchecked_::{{closure}}::h8e141ea224820bce
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/thread/mod.rs:540:30
[INFO] [stdout]   44:     0x648d5faa163e - core::ops::function::FnOnce::call_once{{vtable.shim}}::h90d312fedd7b8ea8
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x648d5fe823fb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h69aa08ddb6adb8b6
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   46:     0x648d5fe823fb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h5aa36efdb79c806f
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/alloc/src/boxed.rs:2454:9
[INFO] [stdout]   47:     0x648d5fe823fb - std::sys::pal::unix::thread::Thread::new::thread_start::h6cd80a1b4be5158d
[INFO] [stdout]                                at /rustc/df4ca44d3fbc9301ee17f30f4d474e6ae4b05252/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   48:     0x71756732aac3 - <unknown>
[INFO] [stdout]   49:     0x7175673bba04 - clone
[INFO] [stdout]   50:                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.04s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test gl`
[INFO] running `Command { std: "docker" "inspect" "e2bc5afa36b6a2e0f01756c66246867364d201c55a321bcfc17f88ddf53666a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2bc5afa36b6a2e0f01756c66246867364d201c55a321bcfc17f88ddf53666a3", kill_on_drop: false }`
[INFO] [stdout] e2bc5afa36b6a2e0f01756c66246867364d201c55a321bcfc17f88ddf53666a3
