[INFO] fetching crate vigilant_lamp 0.0.6...
[INFO] testing vigilant_lamp-0.0.6 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate vigilant_lamp 0.0.6 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate vigilant_lamp 0.0.6 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "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-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "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 bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding calloop v0.9.3 (latest: v0.13.0)
[INFO] [stderr]       Adding cfg-if v0.1.10 (latest: v1.0.0)
[INFO] [stderr]       Adding cocoa v0.24.1 (latest: v0.25.0)
[INFO] [stderr]       Adding core-foundation v0.7.0 (latest: v0.9.4)
[INFO] [stderr]       Adding core-foundation-sys v0.7.0 (latest: v0.8.6)
[INFO] [stderr]       Adding core-graphics v0.19.2 (latest: v0.23.2)
[INFO] [stderr]       Adding core-graphics v0.22.3 (latest: v0.23.2)
[INFO] [stderr]       Adding darling v0.13.4 (latest: v0.20.9)
[INFO] [stderr]       Adding darling_core v0.13.4 (latest: v0.20.9)
[INFO] [stderr]       Adding darling_macro v0.13.4 (latest: v0.20.9)
[INFO] [stderr]       Adding foreign-types v0.3.2 (latest: v0.5.0)
[INFO] [stderr]       Adding foreign-types-shared v0.1.1 (latest: v0.3.1)
[INFO] [stderr]       Adding game-loop v0.8.2 (latest: v1.2.0)
[INFO] [stderr]       Adding gloo v0.2.1 (latest: v0.11.0)
[INFO] [stderr]       Adding gloo-events v0.1.2 (latest: v0.2.0)
[INFO] [stderr]       Adding gloo-file v0.1.0 (latest: v0.3.0)
[INFO] [stderr]       Adding gloo-timers v0.2.6 (latest: v0.3.0)
[INFO] [stderr]       Adding glutin v0.28.0 (latest: v0.31.3)
[INFO] [stderr]       Adding glutin_egl_sys v0.1.6 (latest: v0.6.0)
[INFO] [stderr]       Adding glutin_gles2_sys v0.1.5 (latest: v0.5.0)
[INFO] [stderr]       Adding glutin_glx_sys v0.1.8 (latest: v0.5.0)
[INFO] [stderr]       Adding glutin_wgl_sys v0.1.5 (latest: v0.5.0)
[INFO] [stderr]       Adding hashbrown v0.12.3 (latest: v0.14.5)
[INFO] [stderr]       Adding http v0.2.12 (latest: v1.1.0)
[INFO] [stderr]       Adding indexmap v1.9.3 (latest: v2.2.6)
[INFO] [stderr]       Adding jni-sys v0.3.0 (latest: v0.4.0)
[INFO] [stderr]       Adding libloading v0.7.4 (latest: v0.8.3)
[INFO] [stderr]       Adding malloc_buf v0.0.6 (latest: v1.0.0)
[INFO] [stderr]       Adding memmap2 v0.3.1 (latest: v0.9.4)
[INFO] [stderr]       Adding memoffset v0.6.5 (latest: v0.9.1)
[INFO] [stderr]       Adding ndk v0.5.0 (latest: v0.9.0)
[INFO] [stderr]       Adding ndk-glue v0.5.2 (latest: v0.7.0)
[INFO] [stderr]       Adding ndk-sys v0.2.2 (latest: v0.6.0+11769913)
[INFO] [stderr]       Adding nix v0.22.3 (latest: v0.29.0)
[INFO] [stderr]       Adding nix v0.24.3 (latest: v0.29.0)
[INFO] [stderr]       Adding num_enum v0.5.11 (latest: v0.7.2)
[INFO] [stderr]       Adding num_enum_derive v0.5.11 (latest: v0.7.2)
[INFO] [stderr]       Adding parking_lot v0.11.2 (latest: v0.12.3)
[INFO] [stderr]       Adding parking_lot_core v0.8.6 (latest: v0.9.10)
[INFO] [stderr]       Adding proc-macro-crate v1.3.1 (latest: v3.1.0)
[INFO] [stderr]       Adding raw-window-handle v0.4.3 (latest: v0.6.2)
[INFO] [stderr]       Adding redox_syscall v0.2.16 (latest: v0.5.1)
[INFO] [stderr]       Adding smithay-client-toolkit v0.15.4 (latest: v0.18.1)
[INFO] [stderr]       Adding strsim v0.10.0 (latest: v0.11.1)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.66)
[INFO] [stderr]       Adding toml_edit v0.19.15 (latest: v0.22.13)
[INFO] [stderr]       Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.1+wasi-0.2.0)
[INFO] [stderr]       Adding wayland-client v0.29.5 (latest: v0.31.2)
[INFO] [stderr]       Adding wayland-cursor v0.29.5 (latest: v0.31.1)
[INFO] [stderr]       Adding wayland-egl v0.29.5 (latest: v0.32.0)
[INFO] [stderr]       Adding wayland-protocols v0.29.5 (latest: v0.31.2)
[INFO] [stderr]       Adding wayland-scanner v0.29.5 (latest: v0.31.1)
[INFO] [stderr]       Adding wayland-sys v0.29.5 (latest: v0.31.1)
[INFO] [stderr]       Adding windows-sys v0.48.0 (latest: v0.52.0)
[INFO] [stderr]       Adding windows-targets v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_aarch64_gnullvm v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_aarch64_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_i686_gnu v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_i686_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_gnu v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_gnullvm v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding winit v0.26.1 (latest: v0.30.0)
[INFO] [stderr]       Adding winnow v0.5.40 (latest: v0.6.8)
[INFO] [stderr]       Adding yew v0.18.0 (latest: v0.21.0)
[INFO] [stderr]       Adding yew-macro v0.18.0 (latest: v0.21.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded glutin v0.28.0
[INFO] [stderr]   Downloaded chlorine v1.0.11
[INFO] [stderr]   Downloaded array-macro v2.1.8
[INFO] [stderr]   Downloaded game-loop v0.8.2
[INFO] [stderr]   Downloaded gl33 v0.2.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8ac5c5c59c1151009d62459991aaa27748d5302fff9d60dc67f9c7270b891d6d
[INFO] running `Command { std: "docker" "start" "-a" "8ac5c5c59c1151009d62459991aaa27748d5302fff9d60dc67f9c7270b891d6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8ac5c5c59c1151009d62459991aaa27748d5302fff9d60dc67f9c7270b891d6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ac5c5c59c1151009d62459991aaa27748d5302fff9d60dc67f9c7270b891d6d", kill_on_drop: false }`
[INFO] [stdout] 8ac5c5c59c1151009d62459991aaa27748d5302fff9d60dc67f9c7270b891d6d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 14f36fd38a0b1ee24da61d584f5b63612ad5def39c10241991e0419d9627583b
[INFO] running `Command { std: "docker" "start" "-a" "14f36fd38a0b1ee24da61d584f5b63612ad5def39c10241991e0419d9627583b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling xml-rs v0.8.20
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.92
[INFO] [stderr]    Compiling bumpalo v3.16.0
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling wasm-bindgen v0.2.92
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling libloading v0.8.3
[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 scoped-tls v1.0.1
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling syn v2.0.66
[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.5
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling winit v0.26.1
[INFO] [stderr]    Compiling cty v0.2.2
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling raw-window-handle v0.4.3
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling bytes v1.6.0
[INFO] [stderr]    Compiling yew v0.18.0
[INFO] [stderr]    Compiling boolinator v2.4.0
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling yew-macro v0.18.0
[INFO] [stderr]    Compiling anymap v0.12.1
[INFO] [stderr]    Compiling cfg-match v0.2.1
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.15.4
[INFO] [stderr]    Compiling chlorine v1.0.11
[INFO] [stderr]    Compiling bytemuck v1.16.0
[INFO] [stderr]    Compiling gl33 v0.2.1
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling array-macro v2.1.8
[INFO] [stderr]    Compiling game-loop v0.8.2
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.8
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.6
[INFO] [stderr]    Compiling num-bigint v0.4.5
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling nix v0.22.3
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling memmap2 v0.3.1
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling shared_library v0.1.9
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.92
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling serde_derive v1.0.202
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.92
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.92
[INFO] [stderr]    Compiling wayland-cursor v0.29.5
[INFO] [stderr]    Compiling wayland-egl v0.29.5
[INFO] [stderr]    Compiling calloop v0.9.3
[INFO] [stderr]    Compiling serde v1.0.202
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling js-sys v0.3.69
[INFO] [stderr]    Compiling console_error_panic_hook v0.1.7
[INFO] [stderr]    Compiling web-sys v0.3.69
[INFO] [stderr]    Compiling gloo-timers v0.2.6
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.42
[INFO] [stderr]    Compiling glutin v0.28.0
[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 vigilant_lamp v0.0.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BigInt`, `BigUint`, `One`, `bigint::Sign`
[INFO] [stdout]  --> src/extra/num_two.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num::{BigInt, BigUint, Num, One, bigint::Sign};
[INFO] [stdout]   |           ^^^^^^  ^^^^^^^       ^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::camera`
[INFO] [stdout]  --> src/engine/scene.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{graph::{Renderer, Window}, math::matrix::Matrix4, engine::camera};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     LEFT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBracket`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     RIGHT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBracket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GRAVE_ACCENT` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     GRAVE_ACCENT,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GraveAccent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_1` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     WORLD_1,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_2` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     WORLD_2,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_UP` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     PAGE_UP,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `PageUp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_DOWN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     PAGE_DOWN,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `PageDown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CAPS_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     CAPS_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `CapsLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SCROLL_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     SCROLL_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScrollLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NUM_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     NUM_LOCK,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `NumLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PRINT_SCREEN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     PRINT_SCREEN,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrintScreen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DECIMAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     KP_DECIMAL,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `KpDecimal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DIVIDE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     KP_DIVIDE,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `KpDivide`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_MULTIPLY` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     KP_MULTIPLY,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpMultiply`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_SUBTRACT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     KP_SUBTRACT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpSubtract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ADD` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     KP_ADD,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `KpAdd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ENTER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     KP_ENTER,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEnter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_EQUAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     KP_EQUAL,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     LEFT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     LEFT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     LEFT_ALT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `LeftAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     LEFT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     RIGHT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     RIGHT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     RIGHT_ALT,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `RightAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     RIGHT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::JsValue`
[INFO] [stdout]  --> src/renderers/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wasm_bindgen::JsValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glUniform4iv`
[INFO] [stdout]  --> src/renderers/opengl.rs:3:709
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...1fv, glUniform1i, glUniform1iv, glUniform1ui, glUniform1uiv, glUniform4iv, glUniformMatrix2fv, glUniformMatrix3fv, glUniformMatrix4fv,...
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::JsString`
[INFO] [stdout]  --> src/renderers/webgl.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use js_sys::JsString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::Object`
[INFO] [stdout]  --> src/renderers/webgl.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use js_sys::Object;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ErrorType`
[INFO] [stdout]   --> src/renderers/webgl.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::ErrorType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `glutin::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]   --> src/renderers/opengl.rs:65:96
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead
[INFO] [stdout]   --> src/renderers/webgl.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let config = JsValue::from_serde("{ antialias: false }").unwrap();
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:54:114
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 Event::WindowEvent { event: WindowEvent::KeyboardInput { device_id: _, input, is_synthetic: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                  ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:65:112
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/opengl.rs:225:31
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn unbind_program (&self, program: &ProgramGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:229:28
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn get_property(&self, key: &str) -> Option<Box<dyn std::any::Any>> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderers/opengl.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 254 |     unsafe fn create_shader (&self, mut code: &str, typ: GLenum) -> Result<u32, String> {
[INFO] [stdout]     |                                     ----^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:26
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:47
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:28
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:49
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:31
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:52
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:31
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:52
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:31
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:52
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |             .map_err(|e| e.map_to_first(|x| JsValue::from_str("Element provided isn't a canvas")));
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:75:50
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     .map_err(|e| e.map_to_first(|x| JsValue::from_str("Context provided isn't WebGL v2")));
[INFO] [stdout]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:43
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:55
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vsync`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:68
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_vsync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/webgl.rs:204:31
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn unbind_program (&self, program: &ProgramWGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:27
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:45
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:28
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:46
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:32
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:53
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:32
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:53
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:32
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:53
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/opengl.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub struct MeshGL {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 431 |     id: u32,
[INFO] [stdout] 432 |     vertices: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 433 |     indices: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/webgl.rs:461:5
[INFO] [stdout]     |
[INFO] [stdout] 459 | pub struct MeshWGL {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 460 |     id: WebGlVertexArrayObject,
[INFO] [stdout] 461 |     vertices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 462 |     indices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `T` should have a snake case name
[INFO] [stdout]   --> src/math/matrix.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn T (&self) -> Matrix<T, C, R> {
[INFO] [stdout]    |            ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 71 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.33s
[INFO] running `Command { std: "docker" "inspect" "14f36fd38a0b1ee24da61d584f5b63612ad5def39c10241991e0419d9627583b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "14f36fd38a0b1ee24da61d584f5b63612ad5def39c10241991e0419d9627583b", kill_on_drop: false }`
[INFO] [stdout] 14f36fd38a0b1ee24da61d584f5b63612ad5def39c10241991e0419d9627583b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2603726fd86b10dfbc3f7a0ef9dd8af6b8b42d91e93f059a3f6fc015a5b6be9c
[INFO] running `Command { std: "docker" "start" "-a" "2603726fd86b10dfbc3f7a0ef9dd8af6b8b42d91e93f059a3f6fc015a5b6be9c", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `BigInt`, `BigUint`, `One`, `bigint::Sign`
[INFO] [stdout]  --> src/extra/num_two.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num::{BigInt, BigUint, Num, One, bigint::Sign};
[INFO] [stdout]   |           ^^^^^^  ^^^^^^^       ^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::camera`
[INFO] [stdout]  --> src/engine/scene.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{graph::{Renderer, Window}, math::matrix::Matrix4, engine::camera};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     LEFT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBracket`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     RIGHT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBracket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GRAVE_ACCENT` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     GRAVE_ACCENT,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GraveAccent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_1` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     WORLD_1,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_2` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     WORLD_2,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_UP` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     PAGE_UP,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `PageUp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_DOWN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     PAGE_DOWN,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `PageDown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CAPS_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     CAPS_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `CapsLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SCROLL_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     SCROLL_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScrollLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NUM_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     NUM_LOCK,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `NumLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PRINT_SCREEN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     PRINT_SCREEN,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrintScreen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DECIMAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     KP_DECIMAL,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `KpDecimal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DIVIDE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     KP_DIVIDE,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `KpDivide`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_MULTIPLY` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     KP_MULTIPLY,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpMultiply`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_SUBTRACT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     KP_SUBTRACT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpSubtract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ADD` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     KP_ADD,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `KpAdd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ENTER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     KP_ENTER,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEnter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_EQUAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     KP_EQUAL,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     LEFT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     LEFT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     LEFT_ALT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `LeftAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     LEFT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     RIGHT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     RIGHT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     RIGHT_ALT,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `RightAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     RIGHT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::JsValue`
[INFO] [stdout]  --> src/renderers/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wasm_bindgen::JsValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glUniform4iv`
[INFO] [stdout]  --> src/renderers/opengl.rs:3:709
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...1fv, glUniform1i, glUniform1iv, glUniform1ui, glUniform1uiv, glUniform4iv, glUniformMatrix2fv, glUniformMatrix3fv, glUniformMatrix4fv,...
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::JsString`
[INFO] [stdout]  --> src/renderers/webgl.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use js_sys::JsString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::Object`
[INFO] [stdout]  --> src/renderers/webgl.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use js_sys::Object;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ErrorType`
[INFO] [stdout]   --> src/renderers/webgl.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::ErrorType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `glutin::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]   --> src/renderers/opengl.rs:65:96
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead
[INFO] [stdout]   --> src/renderers/webgl.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let config = JsValue::from_serde("{ antialias: false }").unwrap();
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:54:114
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 Event::WindowEvent { event: WindowEvent::KeyboardInput { device_id: _, input, is_synthetic: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                  ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:65:112
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/opengl.rs:225:31
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn unbind_program (&self, program: &ProgramGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:229:28
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn get_property(&self, key: &str) -> Option<Box<dyn std::any::Any>> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderers/opengl.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 254 |     unsafe fn create_shader (&self, mut code: &str, typ: GLenum) -> Result<u32, String> {
[INFO] [stdout]     |                                     ----^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:26
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:47
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:28
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:49
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:31
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:52
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:31
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:52
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:31
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:52
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |             .map_err(|e| e.map_to_first(|x| JsValue::from_str("Element provided isn't a canvas")));
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:75:50
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     .map_err(|e| e.map_to_first(|x| JsValue::from_str("Context provided isn't WebGL v2")));
[INFO] [stdout]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:43
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:55
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vsync`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:68
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_vsync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/webgl.rs:204:31
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn unbind_program (&self, program: &ProgramWGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:27
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:45
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:28
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:46
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:32
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:53
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:32
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:53
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:32
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:53
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/opengl.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub struct MeshGL {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 431 |     id: u32,
[INFO] [stdout] 432 |     vertices: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 433 |     indices: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/webgl.rs:461:5
[INFO] [stdout]     |
[INFO] [stdout] 459 | pub struct MeshWGL {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 460 |     id: WebGlVertexArrayObject,
[INFO] [stdout] 461 |     vertices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 462 |     indices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `T` should have a snake case name
[INFO] [stdout]   --> src/math/matrix.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn T (&self) -> Matrix<T, C, R> {
[INFO] [stdout]    |            ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 71 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    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`, `bigint::Sign`
[INFO] [stdout]  --> src/extra/num_two.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num::{BigInt, BigUint, Num, One, bigint::Sign};
[INFO] [stdout]   |           ^^^^^^  ^^^^^^^       ^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::camera`
[INFO] [stdout]  --> src/engine/scene.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{graph::{Renderer, Window}, math::matrix::Matrix4, engine::camera};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     LEFT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBracket`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     RIGHT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBracket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GRAVE_ACCENT` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     GRAVE_ACCENT,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GraveAccent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_1` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     WORLD_1,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_2` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     WORLD_2,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_UP` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     PAGE_UP,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `PageUp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_DOWN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     PAGE_DOWN,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `PageDown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CAPS_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     CAPS_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `CapsLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SCROLL_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     SCROLL_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScrollLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NUM_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     NUM_LOCK,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `NumLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PRINT_SCREEN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     PRINT_SCREEN,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrintScreen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DECIMAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     KP_DECIMAL,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `KpDecimal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DIVIDE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     KP_DIVIDE,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `KpDivide`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_MULTIPLY` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     KP_MULTIPLY,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpMultiply`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_SUBTRACT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     KP_SUBTRACT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpSubtract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ADD` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     KP_ADD,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `KpAdd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ENTER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     KP_ENTER,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEnter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_EQUAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     KP_EQUAL,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     LEFT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     LEFT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     LEFT_ALT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `LeftAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     LEFT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     RIGHT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     RIGHT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     RIGHT_ALT,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `RightAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     RIGHT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::JsValue`
[INFO] [stdout]  --> src/renderers/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wasm_bindgen::JsValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glUniform4iv`
[INFO] [stdout]  --> src/renderers/opengl.rs:3:709
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...1fv, glUniform1i, glUniform1iv, glUniform1ui, glUniform1uiv, glUniform4iv, glUniformMatrix2fv, glUniformMatrix3fv, glUniformMatrix4fv,...
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::JsString`
[INFO] [stdout]  --> src/renderers/webgl.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use js_sys::JsString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::Object`
[INFO] [stdout]  --> src/renderers/webgl.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use js_sys::Object;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ErrorType`
[INFO] [stdout]   --> src/renderers/webgl.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::ErrorType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `glutin::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]   --> src/renderers/opengl.rs:65:96
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead
[INFO] [stdout]   --> src/renderers/webgl.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let config = JsValue::from_serde("{ antialias: false }").unwrap();
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:54:114
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 Event::WindowEvent { event: WindowEvent::KeyboardInput { device_id: _, input, is_synthetic: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                  ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:65:112
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/opengl.rs:225:31
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn unbind_program (&self, program: &ProgramGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:229:28
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn get_property(&self, key: &str) -> Option<Box<dyn std::any::Any>> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderers/opengl.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 254 |     unsafe fn create_shader (&self, mut code: &str, typ: GLenum) -> Result<u32, String> {
[INFO] [stdout]     |                                     ----^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:26
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:47
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:28
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:49
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:31
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:52
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:31
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:52
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:31
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:52
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |             .map_err(|e| e.map_to_first(|x| JsValue::from_str("Element provided isn't a canvas")));
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:75:50
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     .map_err(|e| e.map_to_first(|x| JsValue::from_str("Context provided isn't WebGL v2")));
[INFO] [stdout]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:43
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:55
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vsync`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:68
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_vsync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/webgl.rs:204:31
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn unbind_program (&self, program: &ProgramWGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:27
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:45
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:28
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:46
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:32
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:53
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:32
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:53
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:32
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:53
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/opengl.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub struct MeshGL {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 431 |     id: u32,
[INFO] [stdout] 432 |     vertices: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 433 |     indices: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/webgl.rs:461:5
[INFO] [stdout]     |
[INFO] [stdout] 459 | pub struct MeshWGL {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 460 |     id: WebGlVertexArrayObject,
[INFO] [stdout] 461 |     vertices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 462 |     indices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `T` should have a snake case name
[INFO] [stdout]   --> src/math/matrix.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn T (&self) -> Matrix<T, C, R> {
[INFO] [stdout]    |            ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 71 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.05s
[INFO] running `Command { std: "docker" "inspect" "2603726fd86b10dfbc3f7a0ef9dd8af6b8b42d91e93f059a3f6fc015a5b6be9c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2603726fd86b10dfbc3f7a0ef9dd8af6b8b42d91e93f059a3f6fc015a5b6be9c", kill_on_drop: false }`
[INFO] [stdout] 2603726fd86b10dfbc3f7a0ef9dd8af6b8b42d91e93f059a3f6fc015a5b6be9c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 62c746c7804f549ccb23e70ea4abab2d446b10f9c44cedec6c8c797505f57b61
[INFO] running `Command { std: "docker" "start" "-a" "62c746c7804f549ccb23e70ea4abab2d446b10f9c44cedec6c8c797505f57b61", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `BigInt`, `BigUint`, `One`, `bigint::Sign`
[INFO] [stderr]  --> src/extra/num_two.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use num::{BigInt, BigUint, Num, One, bigint::Sign};
[INFO] [stderr]   |           ^^^^^^  ^^^^^^^       ^^^  ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `engine::camera`
[INFO] [stderr]  --> src/engine/scene.rs:1:63
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::{graph::{Renderer, Window}, math::matrix::Matrix4, engine::camera};
[INFO] [stderr]   |                                                               ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_BRACKET` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:53:5
[INFO] [stderr]    |
[INFO] [stderr] 53 |     LEFT_BRACKET,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBracket`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_BRACKET` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 55 |     RIGHT_BRACKET,
[INFO] [stderr]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBracket`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `GRAVE_ACCENT` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 56 |     GRAVE_ACCENT,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GraveAccent`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `WORLD_1` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:58:5
[INFO] [stderr]    |
[INFO] [stderr] 58 |     WORLD_1,
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World1`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `WORLD_2` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 59 |     WORLD_2,
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World2`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PAGE_UP` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:72:5
[INFO] [stderr]    |
[INFO] [stderr] 72 |     PAGE_UP,
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case: `PageUp`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PAGE_DOWN` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 73 |     PAGE_DOWN,
[INFO] [stderr]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `PageDown`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `CAPS_LOCK` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:77:5
[INFO] [stderr]    |
[INFO] [stderr] 77 |     CAPS_LOCK,
[INFO] [stderr]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `CapsLock`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `SCROLL_LOCK` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:78:5
[INFO] [stderr]    |
[INFO] [stderr] 78 |     SCROLL_LOCK,
[INFO] [stderr]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScrollLock`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `NUM_LOCK` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:79:5
[INFO] [stderr]    |
[INFO] [stderr] 79 |     NUM_LOCK,
[INFO] [stderr]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `NumLock`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PRINT_SCREEN` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:80:5
[INFO] [stderr]    |
[INFO] [stderr] 80 |     PRINT_SCREEN,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrintScreen`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_DECIMAL` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:122:5
[INFO] [stderr]     |
[INFO] [stderr] 122 |     KP_DECIMAL,
[INFO] [stderr]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `KpDecimal`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_DIVIDE` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:123:5
[INFO] [stderr]     |
[INFO] [stderr] 123 |     KP_DIVIDE,
[INFO] [stderr]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `KpDivide`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_MULTIPLY` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:124:5
[INFO] [stderr]     |
[INFO] [stderr] 124 |     KP_MULTIPLY,
[INFO] [stderr]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpMultiply`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_SUBTRACT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:125:5
[INFO] [stderr]     |
[INFO] [stderr] 125 |     KP_SUBTRACT,
[INFO] [stderr]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpSubtract`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_ADD` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:126:5
[INFO] [stderr]     |
[INFO] [stderr] 126 |     KP_ADD,
[INFO] [stderr]     |     ^^^^^^ help: convert the identifier to upper camel case: `KpAdd`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_ENTER` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:127:5
[INFO] [stderr]     |
[INFO] [stderr] 127 |     KP_ENTER,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEnter`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_EQUAL` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:128:5
[INFO] [stderr]     |
[INFO] [stderr] 128 |     KP_EQUAL,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEqual`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_SHIFT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:130:5
[INFO] [stderr]     |
[INFO] [stderr] 130 |     LEFT_SHIFT,
[INFO] [stderr]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftShift`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_CONTROL` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:131:5
[INFO] [stderr]     |
[INFO] [stderr] 131 |     LEFT_CONTROL,
[INFO] [stderr]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftControl`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_ALT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:132:5
[INFO] [stderr]     |
[INFO] [stderr] 132 |     LEFT_ALT,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `LeftAlt`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_SUPER` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:133:5
[INFO] [stderr]     |
[INFO] [stderr] 133 |     LEFT_SUPER,
[INFO] [stderr]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSuper`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_SHIFT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:135:5
[INFO] [stderr]     |
[INFO] [stderr] 135 |     RIGHT_SHIFT,
[INFO] [stderr]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightShift`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_CONTROL` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 136 |     RIGHT_CONTROL,
[INFO] [stderr]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightControl`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_ALT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:137:5
[INFO] [stderr]     |
[INFO] [stderr] 137 |     RIGHT_ALT,
[INFO] [stderr]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `RightAlt`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_SUPER` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:138:5
[INFO] [stderr]     |
[INFO] [stderr] 138 |     RIGHT_SUPER,
[INFO] [stderr]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSuper`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wasm_bindgen::JsValue`
[INFO] [stderr]  --> src/renderers/builder.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use wasm_bindgen::JsValue;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `glUniform4iv`
[INFO] [stderr]  --> src/renderers/opengl.rs:3:709
[INFO] [stderr]   |
[INFO] [stderr] 3 | ...1fv, glUniform1i, glUniform1iv, glUniform1ui, glUniform1uiv, glUniform4iv, glUniformMatrix2fv, glUniformMatrix3fv, glUniformMatrix4fv,...
[INFO] [stderr]   |                                                                 ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `js_sys::JsString`
[INFO] [stderr]  --> src/renderers/webgl.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use js_sys::JsString;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `js_sys::Object`
[INFO] [stderr]  --> src/renderers/webgl.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use js_sys::Object;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::ErrorType`
[INFO] [stderr]   --> src/renderers/webgl.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use crate::ErrorType;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated field `glutin::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stderr]   --> src/renderers/opengl.rs:65:96
[INFO] [stderr]    |
[INFO] [stderr] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stderr]    |                                                                                                ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead
[INFO] [stderr]   --> src/renderers/webgl.rs:59:31
[INFO] [stderr]    |
[INFO] [stderr] 59 |         let config = JsValue::from_serde("{ antialias: false }").unwrap();
[INFO] [stderr]    |                               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `window_id`
[INFO] [stderr]   --> src/renderers/opengl.rs:54:114
[INFO] [stderr]    |
[INFO] [stderr] 54 |                 Event::WindowEvent { event: WindowEvent::KeyboardInput { device_id: _, input, is_synthetic: _ }, window_id } => {
[INFO] [stderr]    |                                                                                                                  ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `window_id`
[INFO] [stderr]   --> src/renderers/opengl.rs:65:112
[INFO] [stderr]    |
[INFO] [stderr] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stderr]    |                                                                                                                ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `program`
[INFO] [stderr]    --> src/renderers/opengl.rs:225:31
[INFO] [stderr]     |
[INFO] [stderr] 225 |     fn unbind_program (&self, program: &ProgramGL) {
[INFO] [stderr]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:229:28
[INFO] [stderr]     |
[INFO] [stderr] 229 |     fn get_property(&self, key: &str) -> Option<Box<dyn std::any::Any>> {
[INFO] [stderr]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/renderers/opengl.rs:254:37
[INFO] [stderr]     |
[INFO] [stderr] 254 |     unsafe fn create_shader (&self, mut code: &str, typ: GLenum) -> Result<u32, String> {
[INFO] [stderr]     |                                     ----^^^^
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:396:26
[INFO] [stderr]     |
[INFO] [stderr] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stderr]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:396:47
[INFO] [stderr]     |
[INFO] [stderr] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stderr]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:400:28
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stderr]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:400:49
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stderr]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:404:31
[INFO] [stderr]     |
[INFO] [stderr] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stderr]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:404:52
[INFO] [stderr]     |
[INFO] [stderr] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stderr]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:408:31
[INFO] [stderr]     |
[INFO] [stderr] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stderr]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:408:52
[INFO] [stderr]     |
[INFO] [stderr] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stderr]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:412:31
[INFO] [stderr]     |
[INFO] [stderr] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stderr]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:412:52
[INFO] [stderr]     |
[INFO] [stderr] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stderr]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/renderers/webgl.rs:66:42
[INFO] [stderr]    |
[INFO] [stderr] 66 |             .map_err(|e| e.map_to_first(|x| JsValue::from_str("Element provided isn't a canvas")));
[INFO] [stderr]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/renderers/webgl.rs:75:50
[INFO] [stderr]    |
[INFO] [stderr] 75 |                     .map_err(|e| e.map_to_first(|x| JsValue::from_str("Context provided isn't WebGL v2")));
[INFO] [stderr]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `width`
[INFO] [stderr]    --> src/renderers/webgl.rs:164:43
[INFO] [stderr]     |
[INFO] [stderr] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stderr]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `height`
[INFO] [stderr]    --> src/renderers/webgl.rs:164:55
[INFO] [stderr]     |
[INFO] [stderr] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stderr]     |                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vsync`
[INFO] [stderr]    --> src/renderers/webgl.rs:164:68
[INFO] [stderr]     |
[INFO] [stderr] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stderr]     |                                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_vsync`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `program`
[INFO] [stderr]    --> src/renderers/webgl.rs:204:31
[INFO] [stderr]     |
[INFO] [stderr] 204 |     fn unbind_program (&self, program: &ProgramWGL) {
[INFO] [stderr]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:400:27
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stderr]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:400:45
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:421:28
[INFO] [stderr]     |
[INFO] [stderr] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stderr]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:421:46
[INFO] [stderr]     |
[INFO] [stderr] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stderr]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:437:32
[INFO] [stderr]     |
[INFO] [stderr] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stderr]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:437:53
[INFO] [stderr]     |
[INFO] [stderr] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stderr]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:441:32
[INFO] [stderr]     |
[INFO] [stderr] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stderr]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:441:53
[INFO] [stderr]     |
[INFO] [stderr] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stderr]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:445:32
[INFO] [stderr]     |
[INFO] [stderr] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stderr]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:445:53
[INFO] [stderr]     |
[INFO] [stderr] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stderr]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `vertices` and `indices` are never read
[INFO] [stderr]    --> src/renderers/opengl.rs:432:5
[INFO] [stderr]     |
[INFO] [stderr] 430 | pub struct MeshGL {
[INFO] [stderr]     |            ------ fields in this struct
[INFO] [stderr] 431 |     id: u32,
[INFO] [stderr] 432 |     vertices: u32,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 433 |     indices: u32,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `vertices` and `indices` are never read
[INFO] [stderr]    --> src/renderers/webgl.rs:461:5
[INFO] [stderr]     |
[INFO] [stderr] 459 | pub struct MeshWGL {
[INFO] [stderr]     |            ------- fields in this struct
[INFO] [stderr] 460 |     id: WebGlVertexArrayObject,
[INFO] [stderr] 461 |     vertices: WebGlBuffer,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 462 |     indices: WebGlBuffer,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `T` should have a snake case name
[INFO] [stderr]   --> src/math/matrix.rs:41:12
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub fn T (&self) -> Matrix<T, C, R> {
[INFO] [stderr]    |            ^ help: convert the identifier to snake case: `t`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/graph/renderer.rs:28:7
[INFO] [stderr]    |
[INFO] [stderr] 28 |       code.read_to_string(&mut code_string);
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 28 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stderr]    |       +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/graph/renderer.rs:34:7
[INFO] [stderr]    |
[INFO] [stderr] 34 |       code.read_to_string(&mut code_string);
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 34 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stderr]    |       +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `vigilant_lamp` (lib) generated 71 warnings (run `cargo fix --lib -p vigilant_lamp` to apply 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.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vigilant_lamp-809d0be2af776f7f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/gl.rs (/opt/rustwide/target/debug/deps/gl-d1ba207772b71b47)
[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:     0x5570d4880105 - std::backtrace_rs::backtrace::libunwind::trace::h59d96bdb08384354
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x5570d4880105 - std::backtrace_rs::backtrace::trace_unsynchronized::h9cf5becacfc93fba
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5570d4880105 - std::sys_common::backtrace::_print_fmt::h10b76d10405dbd48
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x5570d4880105 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h6ed9e62a156d84e4
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5570d48a952b - core::fmt::rt::Argument::fmt::h645c680983f03c9f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x5570d48a952b - core::fmt::write::h8bcd80919a02be29
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x5570d487d45f - std::io::Write::write_fmt::h8d0c47c662cad79c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x5570d487fede - std::sys_common::backtrace::_print::h6306f131a28d62b0
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x5570d487fede - std::sys_common::backtrace::print::h7079288e0a26dfcc
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x5570d4881909 - std::panicking::default_hook::{{closure}}::hb063ecec81a736ba
[INFO] [stdout]   10:     0x5570d48815ce - std::panicking::default_hook::hd56ee406bf547b5c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x5570d44c37ba - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::he5eacdef44c8728f
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x5570d44c37ba - test::test_main::{{closure}}::h0ec9aed229e79095
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x5570d4881f0b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcbd0d80e1ad4e4f9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x5570d4881f0b - std::panicking::rust_panic_with_hook::h624aa3ca42ebb8f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x5570d4881c84 - std::panicking::begin_panic_handler::{{closure}}::hbc4e76194a5e287c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:664:13
[INFO] [stdout]   16:     0x5570d48805c9 - std::sys_common::backtrace::__rust_end_short_backtrace::h847fedc9d1ff7b6d
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x5570d48819b7 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x5570d448b9d3 - core::panicking::panic_fmt::hec11a924b87ce965
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x5570d463b6a2 - winit::platform_impl::platform::assert_is_main_thread::h2ba3a0fc399a53a5
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/winit-0.26.1/src/platform_impl/linux/mod.rs:758:9
[INFO] [stdout]   20:     0x5570d463ae00 - winit::platform_impl::platform::EventLoop<T>::new::h27fc139963debcb7
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/winit-0.26.1/src/platform_impl/linux/mod.rs:572:9
[INFO] [stdout]   21:     0x5570d461389b - winit::event_loop::EventLoop<T>::with_user_event::he4e5756d2078cd0d
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/winit-0.26.1/src/event_loop.rs:134:25
[INFO] [stdout]   22:     0x5570d461386e - winit::event_loop::EventLoop<()>::new::h18a2c42da464c872
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/winit-0.26.1/src/event_loop.rs:120:9
[INFO] [stdout]   23:     0x5570d4503c9b - vigilant_lamp::renderers::opengl::OpenGL::new::hc308c78b7196b644
[INFO] [stdout]                                at /opt/rustwide/workdir/src/renderers/opengl.rs:14:30
[INFO] [stdout]   24:     0x5570d448da38 - vigilant_lamp::renderers::builder::build_opengl::hff09944a3d4a2fe6
[INFO] [stdout]                                at /opt/rustwide/workdir/src/renderers/builder.rs:12:20
[INFO] [stdout]   25:     0x5570d448fc65 - gl::tests::main::hf14873b39d2e07a2
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/gl.rs:7:18
[INFO] [stdout]   26:     0x5570d448fbf7 - gl::tests::main::{{closure}}::hcdfcdb6027d2b819
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/gl.rs:6:14
[INFO] [stdout]   27:     0x5570d448e2c6 - core::ops::function::FnOnce::call_once::h047efea4f29feaca
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5570d44c819b - core::ops::function::FnOnce::call_once::h2e43a8f6f3d94b99
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29:     0x5570d44c819b - test::__rust_begin_short_backtrace::h214c9f2d2d3fee90
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:625:18
[INFO] [stdout]   30:     0x5570d44c78a1 - test::run_test_in_process::{{closure}}::h510b7ba7990692a5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:60
[INFO] [stdout]   31:     0x5570d44c78a1 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h4157186197a93871
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   32:     0x5570d44c78a1 - std::panicking::try::do_call::h1bf2463bccd4b28c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   33:     0x5570d44c78a1 - std::panicking::try::hd6d4808c9fab4fa5
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   34:     0x5570d44c78a1 - std::panic::catch_unwind::hd5641d97d123f9f2
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   35:     0x5570d44c78a1 - test::run_test_in_process::hc273b71c8b878a4c
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:648:27
[INFO] [stdout]   36:     0x5570d44c78a1 - test::run_test::{{closure}}::h6838df834eb8467e
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:569:43
[INFO] [stdout]   37:     0x5570d4490264 - test::run_test::{{closure}}::h608b98ecff5665fb
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/test/src/lib.rs:599:41
[INFO] [stdout]   38:     0x5570d4490264 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdc4182b97d1042e9
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   39:     0x5570d4494c92 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h571773fd21d674c8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   40:     0x5570d4494c92 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hdcd384cf2fa70ba3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   41:     0x5570d4494c92 - std::panicking::try::do_call::h4f1a44bd81423be1
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:559:40
[INFO] [stdout]   42:     0x5570d4494c92 - std::panicking::try::h5e02afcb81dcd361
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panicking.rs:523:19
[INFO] [stdout]   43:     0x5570d4494c92 - std::panic::catch_unwind::h022f75775bfd8c45
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/panic.rs:149:14
[INFO] [stdout]   44:     0x5570d4494c92 - std::thread::Builder::spawn_unchecked_::{{closure}}::hf5a62e9e4e6df1f8
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   45:     0x5570d4494c92 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6d56360aeb9509a7
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x5570d48863cb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7a343dc551c06baa
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   47:     0x5570d48863cb - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h30b8111cbaa644f3
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   48:     0x5570d48863cb - std::sys::pal::unix::thread::Thread::new::thread_start::h7404e134e61e7a11
[INFO] [stdout]                                at /rustc/1871252fc8bb672d40787e67404e6eaae7059369/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   49:     0x7f1dea255ac3 - <unknown>
[INFO] [stdout]   50:     0x7f1dea2e6a04 - __clone
[INFO] [stdout]   51:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::main
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test gl`
[INFO] running `Command { std: "docker" "inspect" "62c746c7804f549ccb23e70ea4abab2d446b10f9c44cedec6c8c797505f57b61", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "62c746c7804f549ccb23e70ea4abab2d446b10f9c44cedec6c8c797505f57b61", kill_on_drop: false }`
[INFO] [stdout] 62c746c7804f549ccb23e70ea4abab2d446b10f9c44cedec6c8c797505f57b61
[INFO] testing vigilant_lamp-0.0.6 against try#b642703cf9526da1e72c0b6755753b939a9c6b6d for pr-125151
[INFO] extracting crate vigilant_lamp 0.0.6 into /workspace/builds/worker-6-tc2/source
[INFO] validating manifest of crates.io crate vigilant_lamp 0.0.6 on toolchain b642703cf9526da1e72c0b6755753b939a9c6b6d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "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-6-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "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 bitflags v1.3.2 (latest: v2.5.0)
[INFO] [stderr]       Adding calloop v0.9.3 (latest: v0.13.0)
[INFO] [stderr]       Adding cfg-if v0.1.10 (latest: v1.0.0)
[INFO] [stderr]       Adding cocoa v0.24.1 (latest: v0.25.0)
[INFO] [stderr]       Adding core-foundation v0.7.0 (latest: v0.9.4)
[INFO] [stderr]       Adding core-foundation-sys v0.7.0 (latest: v0.8.6)
[INFO] [stderr]       Adding core-graphics v0.19.2 (latest: v0.23.2)
[INFO] [stderr]       Adding core-graphics v0.22.3 (latest: v0.23.2)
[INFO] [stderr]       Adding darling v0.13.4 (latest: v0.20.9)
[INFO] [stderr]       Adding darling_core v0.13.4 (latest: v0.20.9)
[INFO] [stderr]       Adding darling_macro v0.13.4 (latest: v0.20.9)
[INFO] [stderr]       Adding foreign-types v0.3.2 (latest: v0.5.0)
[INFO] [stderr]       Adding foreign-types-shared v0.1.1 (latest: v0.3.1)
[INFO] [stderr]       Adding game-loop v0.8.2 (latest: v1.2.0)
[INFO] [stderr]       Adding gloo v0.2.1 (latest: v0.11.0)
[INFO] [stderr]       Adding gloo-events v0.1.2 (latest: v0.2.0)
[INFO] [stderr]       Adding gloo-file v0.1.0 (latest: v0.3.0)
[INFO] [stderr]       Adding gloo-timers v0.2.6 (latest: v0.3.0)
[INFO] [stderr]       Adding glutin v0.28.0 (latest: v0.31.3)
[INFO] [stderr]       Adding glutin_egl_sys v0.1.6 (latest: v0.6.0)
[INFO] [stderr]       Adding glutin_gles2_sys v0.1.5 (latest: v0.5.0)
[INFO] [stderr]       Adding glutin_glx_sys v0.1.8 (latest: v0.5.0)
[INFO] [stderr]       Adding glutin_wgl_sys v0.1.5 (latest: v0.5.0)
[INFO] [stderr]       Adding hashbrown v0.12.3 (latest: v0.14.5)
[INFO] [stderr]       Adding http v0.2.12 (latest: v1.1.0)
[INFO] [stderr]       Adding indexmap v1.9.3 (latest: v2.2.6)
[INFO] [stderr]       Adding jni-sys v0.3.0 (latest: v0.4.0)
[INFO] [stderr]       Adding libloading v0.7.4 (latest: v0.8.3)
[INFO] [stderr]       Adding malloc_buf v0.0.6 (latest: v1.0.0)
[INFO] [stderr]       Adding memmap2 v0.3.1 (latest: v0.9.4)
[INFO] [stderr]       Adding memoffset v0.6.5 (latest: v0.9.1)
[INFO] [stderr]       Adding ndk v0.5.0 (latest: v0.9.0)
[INFO] [stderr]       Adding ndk-glue v0.5.2 (latest: v0.7.0)
[INFO] [stderr]       Adding ndk-sys v0.2.2 (latest: v0.6.0+11769913)
[INFO] [stderr]       Adding nix v0.22.3 (latest: v0.29.0)
[INFO] [stderr]       Adding nix v0.24.3 (latest: v0.29.0)
[INFO] [stderr]       Adding num_enum v0.5.11 (latest: v0.7.2)
[INFO] [stderr]       Adding num_enum_derive v0.5.11 (latest: v0.7.2)
[INFO] [stderr]       Adding parking_lot v0.11.2 (latest: v0.12.3)
[INFO] [stderr]       Adding parking_lot_core v0.8.6 (latest: v0.9.10)
[INFO] [stderr]       Adding proc-macro-crate v1.3.1 (latest: v3.1.0)
[INFO] [stderr]       Adding raw-window-handle v0.4.3 (latest: v0.6.2)
[INFO] [stderr]       Adding redox_syscall v0.2.16 (latest: v0.5.1)
[INFO] [stderr]       Adding smithay-client-toolkit v0.15.4 (latest: v0.18.1)
[INFO] [stderr]       Adding strsim v0.10.0 (latest: v0.11.1)
[INFO] [stderr]       Adding syn v1.0.109 (latest: v2.0.66)
[INFO] [stderr]       Adding toml_edit v0.19.15 (latest: v0.22.13)
[INFO] [stderr]       Adding wasi v0.11.0+wasi-snapshot-preview1 (latest: v0.13.1+wasi-0.2.0)
[INFO] [stderr]       Adding wayland-client v0.29.5 (latest: v0.31.2)
[INFO] [stderr]       Adding wayland-cursor v0.29.5 (latest: v0.31.1)
[INFO] [stderr]       Adding wayland-egl v0.29.5 (latest: v0.32.0)
[INFO] [stderr]       Adding wayland-protocols v0.29.5 (latest: v0.31.2)
[INFO] [stderr]       Adding wayland-scanner v0.29.5 (latest: v0.31.1)
[INFO] [stderr]       Adding wayland-sys v0.29.5 (latest: v0.31.1)
[INFO] [stderr]       Adding windows-sys v0.48.0 (latest: v0.52.0)
[INFO] [stderr]       Adding windows-targets v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_aarch64_gnullvm v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_aarch64_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_i686_gnu v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_i686_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_gnu v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_gnullvm v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding windows_x86_64_msvc v0.48.5 (latest: v0.52.5)
[INFO] [stderr]       Adding winit v0.26.1 (latest: v0.30.0)
[INFO] [stderr]       Adding winnow v0.5.40 (latest: v0.6.8)
[INFO] [stderr]       Adding yew v0.18.0 (latest: v0.21.0)
[INFO] [stderr]       Adding yew-macro v0.18.0 (latest: v0.21.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 191cf727c8e0717c2b23304749e7613e82ce99cf098240a67c7c3f6410ffe6ee
[INFO] running `Command { std: "docker" "start" "-a" "191cf727c8e0717c2b23304749e7613e82ce99cf098240a67c7c3f6410ffe6ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "191cf727c8e0717c2b23304749e7613e82ce99cf098240a67c7c3f6410ffe6ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "191cf727c8e0717c2b23304749e7613e82ce99cf098240a67c7c3f6410ffe6ee", kill_on_drop: false }`
[INFO] [stdout] 191cf727c8e0717c2b23304749e7613e82ce99cf098240a67c7c3f6410ffe6ee
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e93714b90c2c4211aef931e9e244f81d609e67dfd1ca2bcf104f72505bea3b08
[INFO] running `Command { std: "docker" "start" "-a" "e93714b90c2c4211aef931e9e244f81d609e67dfd1ca2bcf104f72505bea3b08", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling xml-rs v0.8.20
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.92
[INFO] [stderr]    Compiling bumpalo v3.16.0
[INFO] [stderr]    Compiling memoffset v0.6.5
[INFO] [stderr]    Compiling itoa v1.0.11
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling wasm-bindgen v0.2.92
[INFO] [stderr]    Compiling libloading v0.8.3
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling khronos_api v3.1.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling scoped-tls v1.0.1
[INFO] [stderr]    Compiling downcast-rs v1.2.1
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling dlib v0.5.2
[INFO] [stderr]    Compiling xcursor v0.3.5
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling winit v0.26.1
[INFO] [stderr]    Compiling thiserror v1.0.61
[INFO] [stderr]    Compiling cty v0.2.2
[INFO] [stderr]    Compiling raw-window-handle v0.4.3
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling yew v0.18.0
[INFO] [stderr]    Compiling boolinator v2.4.0
[INFO] [stderr]    Compiling percent-encoding v2.3.1
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling bytes v1.6.0
[INFO] [stderr]    Compiling yew-macro v0.18.0
[INFO] [stderr]    Compiling libloading v0.7.4
[INFO] [stderr]    Compiling chlorine v1.0.11
[INFO] [stderr]    Compiling anymap v0.12.1
[INFO] [stderr]    Compiling cfg-match v0.2.1
[INFO] [stderr]    Compiling gl33 v0.2.1
[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 bytemuck v1.16.0
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling gl_generator v0.14.0
[INFO] [stderr]    Compiling game-loop v0.8.2
[INFO] [stderr]    Compiling array-macro v2.1.8
[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 num-bigint v0.4.5
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.6
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.8
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling nix v0.22.3
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling memmap2 v0.3.1
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling shared_library v0.1.9
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling parking_lot v0.11.2
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.92
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling serde_derive v1.0.202
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.92
[INFO] [stderr]    Compiling wayland-cursor v0.29.5
[INFO] [stderr]    Compiling wayland-egl v0.29.5
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.92
[INFO] [stderr]    Compiling calloop v0.9.3
[INFO] [stderr]    Compiling serde v1.0.202
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling js-sys v0.3.69
[INFO] [stderr]    Compiling console_error_panic_hook v0.1.7
[INFO] [stderr]    Compiling web-sys v0.3.69
[INFO] [stderr]    Compiling gloo-timers v0.2.6
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.42
[INFO] [stderr]    Compiling glutin v0.28.0
[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 vigilant_lamp v0.0.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `BigInt`, `BigUint`, `One`, `bigint::Sign`
[INFO] [stdout]  --> src/extra/num_two.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num::{BigInt, BigUint, Num, One, bigint::Sign};
[INFO] [stdout]   |           ^^^^^^  ^^^^^^^       ^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::camera`
[INFO] [stdout]  --> src/engine/scene.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{graph::{Renderer, Window}, math::matrix::Matrix4, engine::camera};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     LEFT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBracket`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     RIGHT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBracket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GRAVE_ACCENT` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     GRAVE_ACCENT,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GraveAccent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_1` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     WORLD_1,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_2` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     WORLD_2,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_UP` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     PAGE_UP,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `PageUp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_DOWN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     PAGE_DOWN,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `PageDown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CAPS_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     CAPS_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `CapsLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SCROLL_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     SCROLL_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScrollLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NUM_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     NUM_LOCK,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `NumLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PRINT_SCREEN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     PRINT_SCREEN,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrintScreen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DECIMAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     KP_DECIMAL,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `KpDecimal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DIVIDE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     KP_DIVIDE,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `KpDivide`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_MULTIPLY` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     KP_MULTIPLY,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpMultiply`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_SUBTRACT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     KP_SUBTRACT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpSubtract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ADD` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     KP_ADD,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `KpAdd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ENTER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     KP_ENTER,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEnter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_EQUAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     KP_EQUAL,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     LEFT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     LEFT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     LEFT_ALT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `LeftAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     LEFT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     RIGHT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     RIGHT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     RIGHT_ALT,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `RightAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     RIGHT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::JsValue`
[INFO] [stdout]  --> src/renderers/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wasm_bindgen::JsValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glUniform4iv`
[INFO] [stdout]  --> src/renderers/opengl.rs:3:709
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...1fv, glUniform1i, glUniform1iv, glUniform1ui, glUniform1uiv, glUniform4iv, glUniformMatrix2fv, glUniformMatrix3fv, glUniformMatrix4fv,...
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::JsString`
[INFO] [stdout]  --> src/renderers/webgl.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use js_sys::JsString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::Object`
[INFO] [stdout]  --> src/renderers/webgl.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use js_sys::Object;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ErrorType`
[INFO] [stdout]   --> src/renderers/webgl.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::ErrorType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `glutin::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]   --> src/renderers/opengl.rs:65:96
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead
[INFO] [stdout]   --> src/renderers/webgl.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let config = JsValue::from_serde("{ antialias: false }").unwrap();
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:54:114
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 Event::WindowEvent { event: WindowEvent::KeyboardInput { device_id: _, input, is_synthetic: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                  ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:65:112
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/opengl.rs:225:31
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn unbind_program (&self, program: &ProgramGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:229:28
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn get_property(&self, key: &str) -> Option<Box<dyn std::any::Any>> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderers/opengl.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 254 |     unsafe fn create_shader (&self, mut code: &str, typ: GLenum) -> Result<u32, String> {
[INFO] [stdout]     |                                     ----^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:26
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:47
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:28
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:49
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:31
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:52
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:31
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:52
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:31
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:52
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |             .map_err(|e| e.map_to_first(|x| JsValue::from_str("Element provided isn't a canvas")));
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:75:50
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     .map_err(|e| e.map_to_first(|x| JsValue::from_str("Context provided isn't WebGL v2")));
[INFO] [stdout]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:43
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:55
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vsync`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:68
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_vsync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/webgl.rs:204:31
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn unbind_program (&self, program: &ProgramWGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:27
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:45
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:28
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:46
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:32
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:53
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:32
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:53
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:32
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:53
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/opengl.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub struct MeshGL {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 431 |     id: u32,
[INFO] [stdout] 432 |     vertices: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 433 |     indices: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/webgl.rs:461:5
[INFO] [stdout]     |
[INFO] [stdout] 459 | pub struct MeshWGL {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 460 |     id: WebGlVertexArrayObject,
[INFO] [stdout] 461 |     vertices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 462 |     indices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `T` should have a snake case name
[INFO] [stdout]   --> src/math/matrix.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn T (&self) -> Matrix<T, C, R> {
[INFO] [stdout]    |            ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 71 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.39s
[INFO] running `Command { std: "docker" "inspect" "e93714b90c2c4211aef931e9e244f81d609e67dfd1ca2bcf104f72505bea3b08", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e93714b90c2c4211aef931e9e244f81d609e67dfd1ca2bcf104f72505bea3b08", kill_on_drop: false }`
[INFO] [stdout] e93714b90c2c4211aef931e9e244f81d609e67dfd1ca2bcf104f72505bea3b08
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] db4ba13f8e72ba6796f773ec9672db91726588110630f6cb4596a8813ddbc8b3
[INFO] running `Command { std: "docker" "start" "-a" "db4ba13f8e72ba6796f773ec9672db91726588110630f6cb4596a8813ddbc8b3", kill_on_drop: false }`
[INFO] [stdout] warning: unused imports: `BigInt`, `BigUint`, `One`, `bigint::Sign`
[INFO] [stdout]  --> src/extra/num_two.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num::{BigInt, BigUint, Num, One, bigint::Sign};
[INFO] [stdout]   |           ^^^^^^  ^^^^^^^       ^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::camera`
[INFO] [stdout]  --> src/engine/scene.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{graph::{Renderer, Window}, math::matrix::Matrix4, engine::camera};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     LEFT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBracket`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     RIGHT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBracket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GRAVE_ACCENT` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     GRAVE_ACCENT,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GraveAccent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_1` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     WORLD_1,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_2` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     WORLD_2,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_UP` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     PAGE_UP,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `PageUp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_DOWN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     PAGE_DOWN,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `PageDown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CAPS_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     CAPS_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `CapsLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SCROLL_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     SCROLL_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScrollLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NUM_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     NUM_LOCK,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `NumLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PRINT_SCREEN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     PRINT_SCREEN,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrintScreen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DECIMAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     KP_DECIMAL,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `KpDecimal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DIVIDE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     KP_DIVIDE,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `KpDivide`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_MULTIPLY` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     KP_MULTIPLY,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpMultiply`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_SUBTRACT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     KP_SUBTRACT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpSubtract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ADD` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     KP_ADD,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `KpAdd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ENTER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     KP_ENTER,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEnter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_EQUAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     KP_EQUAL,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     LEFT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     LEFT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     LEFT_ALT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `LeftAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     LEFT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     RIGHT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     RIGHT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     RIGHT_ALT,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `RightAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     RIGHT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::JsValue`
[INFO] [stdout]  --> src/renderers/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wasm_bindgen::JsValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glUniform4iv`
[INFO] [stdout]  --> src/renderers/opengl.rs:3:709
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...1fv, glUniform1i, glUniform1iv, glUniform1ui, glUniform1uiv, glUniform4iv, glUniformMatrix2fv, glUniformMatrix3fv, glUniformMatrix4fv,...
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::JsString`
[INFO] [stdout]  --> src/renderers/webgl.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use js_sys::JsString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::Object`
[INFO] [stdout]  --> src/renderers/webgl.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use js_sys::Object;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ErrorType`
[INFO] [stdout]   --> src/renderers/webgl.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::ErrorType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `glutin::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]   --> src/renderers/opengl.rs:65:96
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead
[INFO] [stdout]   --> src/renderers/webgl.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let config = JsValue::from_serde("{ antialias: false }").unwrap();
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:54:114
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 Event::WindowEvent { event: WindowEvent::KeyboardInput { device_id: _, input, is_synthetic: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                  ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:65:112
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/opengl.rs:225:31
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn unbind_program (&self, program: &ProgramGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:229:28
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn get_property(&self, key: &str) -> Option<Box<dyn std::any::Any>> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderers/opengl.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 254 |     unsafe fn create_shader (&self, mut code: &str, typ: GLenum) -> Result<u32, String> {
[INFO] [stdout]     |                                     ----^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:26
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:47
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:28
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:49
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:31
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:52
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:31
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:52
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:31
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:52
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |             .map_err(|e| e.map_to_first(|x| JsValue::from_str("Element provided isn't a canvas")));
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:75:50
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     .map_err(|e| e.map_to_first(|x| JsValue::from_str("Context provided isn't WebGL v2")));
[INFO] [stdout]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:43
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:55
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [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] [stderr]    Compiling vigilant_lamp v0.0.6 (/opt/rustwide/workdir)
[INFO] [stdout] warning: method `T` should have a snake case name
[INFO] [stdout]   --> src/math/matrix.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn T (&self) -> Matrix<T, C, R> {
[INFO] [stdout]    |            ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 71 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `opengl::OpenGL`
[INFO] [stdout]  --> tests/gl.rs:3:128
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...erspectiveCamera, MeshPrimitives, ObjectG, Script, FlatMap, opengl::OpenGL};
[INFO] [stdout]   |                                                                ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused 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`, `bigint::Sign`
[INFO] [stdout]  --> src/extra/num_two.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use num::{BigInt, BigUint, Num, One, bigint::Sign};
[INFO] [stdout]   |           ^^^^^^  ^^^^^^^       ^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine::camera`
[INFO] [stdout]  --> src/engine/scene.rs:1:63
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::{graph::{Renderer, Window}, math::matrix::Matrix4, engine::camera};
[INFO] [stdout]   |                                                               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     LEFT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBracket`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_BRACKET` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     RIGHT_BRACKET,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBracket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `GRAVE_ACCENT` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     GRAVE_ACCENT,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GraveAccent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_1` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     WORLD_1,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `WORLD_2` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     WORLD_2,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_UP` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     PAGE_UP,
[INFO] [stdout]    |     ^^^^^^^ help: convert the identifier to upper camel case: `PageUp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PAGE_DOWN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     PAGE_DOWN,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `PageDown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CAPS_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     CAPS_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `CapsLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SCROLL_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     SCROLL_LOCK,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScrollLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NUM_LOCK` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     NUM_LOCK,
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `NumLock`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PRINT_SCREEN` should have an upper camel case name
[INFO] [stdout]   --> src/engine/input/keyboard.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     PRINT_SCREEN,
[INFO] [stdout]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrintScreen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DECIMAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     KP_DECIMAL,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `KpDecimal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_DIVIDE` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     KP_DIVIDE,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `KpDivide`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_MULTIPLY` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     KP_MULTIPLY,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpMultiply`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_SUBTRACT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     KP_SUBTRACT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpSubtract`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ADD` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     KP_ADD,
[INFO] [stdout]     |     ^^^^^^ help: convert the identifier to upper camel case: `KpAdd`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_ENTER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     KP_ENTER,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEnter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KP_EQUAL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     KP_EQUAL,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEqual`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     LEFT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     LEFT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 |     LEFT_ALT,
[INFO] [stdout]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `LeftAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `LEFT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     LEFT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SHIFT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     RIGHT_SHIFT,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightShift`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_CONTROL` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     RIGHT_CONTROL,
[INFO] [stdout]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightControl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_ALT` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:137:5
[INFO] [stdout]     |
[INFO] [stdout] 137 |     RIGHT_ALT,
[INFO] [stdout]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `RightAlt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `RIGHT_SUPER` should have an upper camel case name
[INFO] [stdout]    --> src/engine/input/keyboard.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 138 |     RIGHT_SUPER,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSuper`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `wasm_bindgen::JsValue`
[INFO] [stdout]  --> src/renderers/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use wasm_bindgen::JsValue;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glUniform4iv`
[INFO] [stdout]  --> src/renderers/opengl.rs:3:709
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...1fv, glUniform1i, glUniform1iv, glUniform1ui, glUniform1uiv, glUniform4iv, glUniformMatrix2fv, glUniformMatrix3fv, glUniformMatrix4fv,...
[INFO] [stdout]   |                                                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::JsString`
[INFO] [stdout]  --> src/renderers/webgl.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use js_sys::JsString;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `js_sys::Object`
[INFO] [stdout]  --> src/renderers/webgl.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use js_sys::Object;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ErrorType`
[INFO] [stdout]   --> src/renderers/webgl.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use crate::ErrorType;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `glutin::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stdout]   --> src/renderers/opengl.rs:65:96
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead
[INFO] [stdout]   --> src/renderers/webgl.rs:59:31
[INFO] [stdout]    |
[INFO] [stdout] 59 |         let config = JsValue::from_serde("{ antialias: false }").unwrap();
[INFO] [stdout]    |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:54:114
[INFO] [stdout]    |
[INFO] [stdout] 54 |                 Event::WindowEvent { event: WindowEvent::KeyboardInput { device_id: _, input, is_synthetic: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                  ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]   --> src/renderers/opengl.rs:65:112
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stdout]    |                                                                                                                ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/opengl.rs:225:31
[INFO] [stdout]     |
[INFO] [stdout] 225 |     fn unbind_program (&self, program: &ProgramGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:229:28
[INFO] [stdout]     |
[INFO] [stdout] 229 |     fn get_property(&self, key: &str) -> Option<Box<dyn std::any::Any>> {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/renderers/opengl.rs:254:37
[INFO] [stdout]     |
[INFO] [stdout] 254 |     unsafe fn create_shader (&self, mut code: &str, typ: GLenum) -> Result<u32, String> {
[INFO] [stdout]     |                                     ----^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:26
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:396:47
[INFO] [stdout]     |
[INFO] [stdout] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stdout]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:28
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:400:49
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:31
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:404:52
[INFO] [stdout]     |
[INFO] [stdout] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:31
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:408:52
[INFO] [stdout]     |
[INFO] [stdout] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:31
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/opengl.rs:412:52
[INFO] [stdout]     |
[INFO] [stdout] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stdout]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 |             .map_err(|e| e.map_to_first(|x| JsValue::from_str("Element provided isn't a canvas")));
[INFO] [stdout]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/renderers/webgl.rs:75:50
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     .map_err(|e| e.map_to_first(|x| JsValue::from_str("Context provided isn't WebGL v2")));
[INFO] [stdout]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:43
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `height`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:55
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vsync`
[INFO] [stdout]    --> src/renderers/webgl.rs:164:68
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stdout]     |                                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_vsync`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/renderers/webgl.rs:204:31
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn unbind_program (&self, program: &ProgramWGL) {
[INFO] [stdout]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:27
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:400:45
[INFO] [stdout]     |
[INFO] [stdout] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:28
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:421:46
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stdout]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:32
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:437:53
[INFO] [stdout]     |
[INFO] [stdout] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:32
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:441:53
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:32
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/renderers/webgl.rs:445:53
[INFO] [stdout]     |
[INFO] [stdout] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stdout]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/opengl.rs:432:5
[INFO] [stdout]     |
[INFO] [stdout] 430 | pub struct MeshGL {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 431 |     id: u32,
[INFO] [stdout] 432 |     vertices: u32,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 433 |     indices: u32,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vertices` and `indices` are never read
[INFO] [stdout]    --> src/renderers/webgl.rs:461:5
[INFO] [stdout]     |
[INFO] [stdout] 459 | pub struct MeshWGL {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 460 |     id: WebGlVertexArrayObject,
[INFO] [stdout] 461 |     vertices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 462 |     indices: WebGlBuffer,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `T` should have a snake case name
[INFO] [stdout]   --> src/math/matrix.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn T (&self) -> Matrix<T, C, R> {
[INFO] [stdout]    |            ^ help: convert the identifier to snake case: `t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:28:7
[INFO] [stdout]    |
[INFO] [stdout] 28 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/graph/renderer.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 |       code.read_to_string(&mut code_string);
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 34 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 71 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.54s
[INFO] running `Command { std: "docker" "inspect" "db4ba13f8e72ba6796f773ec9672db91726588110630f6cb4596a8813ddbc8b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db4ba13f8e72ba6796f773ec9672db91726588110630f6cb4596a8813ddbc8b3", kill_on_drop: false }`
[INFO] [stdout] db4ba13f8e72ba6796f773ec9672db91726588110630f6cb4596a8813ddbc8b3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+b642703cf9526da1e72c0b6755753b939a9c6b6d" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9b4b8ee833e228049cfce2bdd75ee133578dbd5b87accf628576bf366cfd906d
[INFO] running `Command { std: "docker" "start" "-a" "9b4b8ee833e228049cfce2bdd75ee133578dbd5b87accf628576bf366cfd906d", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `BigInt`, `BigUint`, `One`, `bigint::Sign`
[INFO] [stderr]  --> src/extra/num_two.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use num::{BigInt, BigUint, Num, One, bigint::Sign};
[INFO] [stderr]   |           ^^^^^^  ^^^^^^^       ^^^  ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `engine::camera`
[INFO] [stderr]  --> src/engine/scene.rs:1:63
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::{graph::{Renderer, Window}, math::matrix::Matrix4, engine::camera};
[INFO] [stderr]   |                                                               ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_BRACKET` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:53:5
[INFO] [stderr]    |
[INFO] [stderr] 53 |     LEFT_BRACKET,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftBracket`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_camel_case_types)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_BRACKET` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 55 |     RIGHT_BRACKET,
[INFO] [stderr]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightBracket`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `GRAVE_ACCENT` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 56 |     GRAVE_ACCENT,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `GraveAccent`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `WORLD_1` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:58:5
[INFO] [stderr]    |
[INFO] [stderr] 58 |     WORLD_1,
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World1`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `WORLD_2` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 59 |     WORLD_2,
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case: `World2`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PAGE_UP` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:72:5
[INFO] [stderr]    |
[INFO] [stderr] 72 |     PAGE_UP,
[INFO] [stderr]    |     ^^^^^^^ help: convert the identifier to upper camel case: `PageUp`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PAGE_DOWN` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 73 |     PAGE_DOWN,
[INFO] [stderr]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `PageDown`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `CAPS_LOCK` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:77:5
[INFO] [stderr]    |
[INFO] [stderr] 77 |     CAPS_LOCK,
[INFO] [stderr]    |     ^^^^^^^^^ help: convert the identifier to upper camel case: `CapsLock`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `SCROLL_LOCK` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:78:5
[INFO] [stderr]    |
[INFO] [stderr] 78 |     SCROLL_LOCK,
[INFO] [stderr]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `ScrollLock`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `NUM_LOCK` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:79:5
[INFO] [stderr]    |
[INFO] [stderr] 79 |     NUM_LOCK,
[INFO] [stderr]    |     ^^^^^^^^ help: convert the identifier to upper camel case: `NumLock`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `PRINT_SCREEN` should have an upper camel case name
[INFO] [stderr]   --> src/engine/input/keyboard.rs:80:5
[INFO] [stderr]    |
[INFO] [stderr] 80 |     PRINT_SCREEN,
[INFO] [stderr]    |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PrintScreen`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_DECIMAL` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:122:5
[INFO] [stderr]     |
[INFO] [stderr] 122 |     KP_DECIMAL,
[INFO] [stderr]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `KpDecimal`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_DIVIDE` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:123:5
[INFO] [stderr]     |
[INFO] [stderr] 123 |     KP_DIVIDE,
[INFO] [stderr]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `KpDivide`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_MULTIPLY` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:124:5
[INFO] [stderr]     |
[INFO] [stderr] 124 |     KP_MULTIPLY,
[INFO] [stderr]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpMultiply`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_SUBTRACT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:125:5
[INFO] [stderr]     |
[INFO] [stderr] 125 |     KP_SUBTRACT,
[INFO] [stderr]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `KpSubtract`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_ADD` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:126:5
[INFO] [stderr]     |
[INFO] [stderr] 126 |     KP_ADD,
[INFO] [stderr]     |     ^^^^^^ help: convert the identifier to upper camel case: `KpAdd`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_ENTER` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:127:5
[INFO] [stderr]     |
[INFO] [stderr] 127 |     KP_ENTER,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEnter`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `KP_EQUAL` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:128:5
[INFO] [stderr]     |
[INFO] [stderr] 128 |     KP_EQUAL,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `KpEqual`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_SHIFT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:130:5
[INFO] [stderr]     |
[INFO] [stderr] 130 |     LEFT_SHIFT,
[INFO] [stderr]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftShift`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_CONTROL` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:131:5
[INFO] [stderr]     |
[INFO] [stderr] 131 |     LEFT_CONTROL,
[INFO] [stderr]     |     ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftControl`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_ALT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:132:5
[INFO] [stderr]     |
[INFO] [stderr] 132 |     LEFT_ALT,
[INFO] [stderr]     |     ^^^^^^^^ help: convert the identifier to upper camel case: `LeftAlt`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `LEFT_SUPER` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:133:5
[INFO] [stderr]     |
[INFO] [stderr] 133 |     LEFT_SUPER,
[INFO] [stderr]     |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `LeftSuper`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_SHIFT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:135:5
[INFO] [stderr]     |
[INFO] [stderr] 135 |     RIGHT_SHIFT,
[INFO] [stderr]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightShift`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_CONTROL` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 136 |     RIGHT_CONTROL,
[INFO] [stderr]     |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightControl`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_ALT` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:137:5
[INFO] [stderr]     |
[INFO] [stderr] 137 |     RIGHT_ALT,
[INFO] [stderr]     |     ^^^^^^^^^ help: convert the identifier to upper camel case: `RightAlt`
[INFO] [stderr] 
[INFO] [stderr] warning: variant `RIGHT_SUPER` should have an upper camel case name
[INFO] [stderr]    --> src/engine/input/keyboard.rs:138:5
[INFO] [stderr]     |
[INFO] [stderr] 138 |     RIGHT_SUPER,
[INFO] [stderr]     |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `RightSuper`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `wasm_bindgen::JsValue`
[INFO] [stderr]  --> src/renderers/builder.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use wasm_bindgen::JsValue;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `glUniform4iv`
[INFO] [stderr]  --> src/renderers/opengl.rs:3:709
[INFO] [stderr]   |
[INFO] [stderr] 3 | ...1fv, glUniform1i, glUniform1iv, glUniform1ui, glUniform1uiv, glUniform4iv, glUniformMatrix2fv, glUniformMatrix3fv, glUniformMatrix4fv,...
[INFO] [stderr]   |                                                                 ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `js_sys::JsString`
[INFO] [stderr]  --> src/renderers/webgl.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use js_sys::JsString;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `js_sys::Object`
[INFO] [stderr]  --> src/renderers/webgl.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use js_sys::Object;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::ErrorType`
[INFO] [stderr]   --> src/renderers/webgl.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use crate::ErrorType;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated field `glutin::event::WindowEvent::CursorMoved::modifiers`: Deprecated in favor of WindowEvent::ModifiersChanged
[INFO] [stderr]   --> src/renderers/opengl.rs:65:96
[INFO] [stderr]    |
[INFO] [stderr] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stderr]    |                                                                                                ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated associated function `wasm_bindgen::JsValue::from_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead
[INFO] [stderr]   --> src/renderers/webgl.rs:59:31
[INFO] [stderr]    |
[INFO] [stderr] 59 |         let config = JsValue::from_serde("{ antialias: false }").unwrap();
[INFO] [stderr]    |                               ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `window_id`
[INFO] [stderr]   --> src/renderers/opengl.rs:54:114
[INFO] [stderr]    |
[INFO] [stderr] 54 |                 Event::WindowEvent { event: WindowEvent::KeyboardInput { device_id: _, input, is_synthetic: _ }, window_id } => {
[INFO] [stderr]    |                                                                                                                  ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `window_id`
[INFO] [stderr]   --> src/renderers/opengl.rs:65:112
[INFO] [stderr]    |
[INFO] [stderr] 65 |                 Event::WindowEvent { event: WindowEvent::CursorMoved { device_id: _, position, modifiers: _ }, window_id } => {
[INFO] [stderr]    |                                                                                                                ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `program`
[INFO] [stderr]    --> src/renderers/opengl.rs:225:31
[INFO] [stderr]     |
[INFO] [stderr] 225 |     fn unbind_program (&self, program: &ProgramGL) {
[INFO] [stderr]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:229:28
[INFO] [stderr]     |
[INFO] [stderr] 229 |     fn get_property(&self, key: &str) -> Option<Box<dyn std::any::Any>> {
[INFO] [stderr]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/renderers/opengl.rs:254:37
[INFO] [stderr]     |
[INFO] [stderr] 254 |     unsafe fn create_shader (&self, mut code: &str, typ: GLenum) -> Result<u32, String> {
[INFO] [stderr]     |                                     ----^^^^
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:396:26
[INFO] [stderr]     |
[INFO] [stderr] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stderr]     |                          ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:396:47
[INFO] [stderr]     |
[INFO] [stderr] 396 |     fn set_double(&self, key: &Self::Uniform, value: f64) {
[INFO] [stderr]     |                                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:400:28
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stderr]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:400:49
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn set_doubles (&self, key: &Self::Uniform, value: &[f64]) {
[INFO] [stderr]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:404:31
[INFO] [stderr]     |
[INFO] [stderr] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stderr]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:404:52
[INFO] [stderr]     |
[INFO] [stderr] 404 |     fn set_double_mat2(&self, key: &Self::Uniform, value: Matrix2<f64>) {
[INFO] [stderr]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:408:31
[INFO] [stderr]     |
[INFO] [stderr] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stderr]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:408:52
[INFO] [stderr]     |
[INFO] [stderr] 408 |     fn set_double_mat3(&self, key: &Self::Uniform, value: Matrix3<f64>) {
[INFO] [stderr]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/opengl.rs:412:31
[INFO] [stderr]     |
[INFO] [stderr] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stderr]     |                               ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/opengl.rs:412:52
[INFO] [stderr]     |
[INFO] [stderr] 412 |     fn set_double_mat4(&self, key: &Self::Uniform, value: Matrix4<f64>) {
[INFO] [stderr]     |                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/renderers/webgl.rs:66:42
[INFO] [stderr]    |
[INFO] [stderr] 66 |             .map_err(|e| e.map_to_first(|x| JsValue::from_str("Element provided isn't a canvas")));
[INFO] [stderr]    |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `x`
[INFO] [stderr]   --> src/renderers/webgl.rs:75:50
[INFO] [stderr]    |
[INFO] [stderr] 75 |                     .map_err(|e| e.map_to_first(|x| JsValue::from_str("Context provided isn't WebGL v2")));
[INFO] [stderr]    |                                                  ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `width`
[INFO] [stderr]    --> src/renderers/webgl.rs:164:43
[INFO] [stderr]     |
[INFO] [stderr] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stderr]     |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_width`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `height`
[INFO] [stderr]    --> src/renderers/webgl.rs:164:55
[INFO] [stderr]     |
[INFO] [stderr] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stderr]     |                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vsync`
[INFO] [stderr]    --> src/renderers/webgl.rs:164:68
[INFO] [stderr]     |
[INFO] [stderr] 164 |     fn create_window (&self, title: &str, width: u32, height: u32, vsync: bool) -> Result<WindowWGL, JsValue> {
[INFO] [stderr]     |                                                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_vsync`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `program`
[INFO] [stderr]    --> src/renderers/webgl.rs:204:31
[INFO] [stderr]     |
[INFO] [stderr] 204 |     fn unbind_program (&self, program: &ProgramWGL) {
[INFO] [stderr]     |                               ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:400:27
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stderr]     |                           ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:400:45
[INFO] [stderr]     |
[INFO] [stderr] 400 |     fn set_double (&self, key: &UniformWGL, value: f64) {
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:421:28
[INFO] [stderr]     |
[INFO] [stderr] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stderr]     |                            ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:421:46
[INFO] [stderr]     |
[INFO] [stderr] 421 |     fn set_doubles (&self, key: &UniformWGL, value: &[f64]) {
[INFO] [stderr]     |                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:437:32
[INFO] [stderr]     |
[INFO] [stderr] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stderr]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:437:53
[INFO] [stderr]     |
[INFO] [stderr] 437 |     fn set_double_mat2 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix2<f64>) {
[INFO] [stderr]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:441:32
[INFO] [stderr]     |
[INFO] [stderr] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stderr]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:441:53
[INFO] [stderr]     |
[INFO] [stderr] 441 |     fn set_double_mat3 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix3<f64>) {
[INFO] [stderr]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/renderers/webgl.rs:445:32
[INFO] [stderr]     |
[INFO] [stderr] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stderr]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/renderers/webgl.rs:445:53
[INFO] [stderr]     |
[INFO] [stderr] 445 |     fn set_double_mat4 (&self, key: &Self::Uniform, value: crate::math::matrix::Matrix4<f64>) {
[INFO] [stderr]     |                                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `vertices` and `indices` are never read
[INFO] [stderr]    --> src/renderers/opengl.rs:432:5
[INFO] [stderr]     |
[INFO] [stderr] 430 | pub struct MeshGL {
[INFO] [stderr]     |            ------ fields in this struct
[INFO] [stderr] 431 |     id: u32,
[INFO] [stderr] 432 |     vertices: u32,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 433 |     indices: u32,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `vertices` and `indices` are never read
[INFO] [stderr]    --> src/renderers/webgl.rs:461:5
[INFO] [stderr]     |
[INFO] [stderr] 459 | pub struct MeshWGL {
[INFO] [stderr]     |            ------- fields in this struct
[INFO] [stderr] 460 |     id: WebGlVertexArrayObject,
[INFO] [stderr] 461 |     vertices: WebGlBuffer,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 462 |     indices: WebGlBuffer,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `T` should have a snake case name
[INFO] [stderr]   --> src/math/matrix.rs:41:12
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub fn T (&self) -> Matrix<T, C, R> {
[INFO] [stderr]    |            ^ help: convert the identifier to snake case: `t`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/graph/renderer.rs:28:7
[INFO] [stderr]    |
[INFO] [stderr] 28 |       code.read_to_string(&mut code_string);
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 28 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stderr]    |       +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/graph/renderer.rs:34:7
[INFO] [stderr]    |
[INFO] [stderr] 34 |       code.read_to_string(&mut code_string);
[INFO] [stderr]    |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 34 |       let _ = code.read_to_string(&mut code_string);
[INFO] [stderr]    |       +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `vigilant_lamp` (lib) generated 71 warnings (run `cargo fix --lib -p vigilant_lamp` to apply 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.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/vigilant_lamp-809d0be2af776f7f)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/gl.rs (/opt/rustwide/target/debug/deps/gl-d1ba207772b71b47)
[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:     0x556d7d330a15 - std::backtrace_rs::backtrace::libunwind::trace::he49dc9a9e3164223
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:105:5
[INFO] [stdout]    1:     0x556d7d330a15 - std::backtrace_rs::backtrace::trace_unsynchronized::h3a3e77c68030aa6b
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x556d7d330a15 - std::sys_common::backtrace::_print_fmt::h9479ad2f99afd5d4
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/sys_common/backtrace.rs:68:5
[INFO] [stdout]    3:     0x556d7d330a15 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::hfb01aa1fa3fb1821
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x556d7d359ddb - core::fmt::rt::Argument::fmt::h125e56152abbc1c3
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/fmt/rt.rs:165:63
[INFO] [stdout]    5:     0x556d7d359ddb - core::fmt::write::hb0ab4ff05ccfe741
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/fmt/mod.rs:1169:21
[INFO] [stdout]    6:     0x556d7d32de1f - std::io::Write::write_fmt::hea6336dbf2fa00b8
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/io/mod.rs:1835:15
[INFO] [stdout]    7:     0x556d7d3307ee - std::sys_common::backtrace::_print::h79ca548f3a2adf4b
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    8:     0x556d7d3307ee - std::sys_common::backtrace::print::h9aebf997b2fea2d3
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    9:     0x556d7d332159 - std::panicking::default_hook::{{closure}}::h68a0954af2694526
[INFO] [stdout]   10:     0x556d7d331eac - std::panicking::default_hook::h5be50cc6849ffb00
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:295:9
[INFO] [stdout]   11:     0x556d7cf7388f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hd874405dcbd1d3ed
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   12:     0x556d7cf7388f - test::test_main::{{closure}}::h4f26a9df34a84b94
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/test/src/lib.rs:137:21
[INFO] [stdout]   13:     0x556d7d33275b - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h00e96d9c62aa9a12
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/alloc/src/boxed.rs:2036:9
[INFO] [stdout]   14:     0x556d7d33275b - std::panicking::rust_panic_with_hook::h3c0df6036729334c
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:799:13
[INFO] [stdout]   15:     0x556d7d3324d4 - std::panicking::begin_panic_handler::{{closure}}::ha3a21e93c4cfd807
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:664:13
[INFO] [stdout]   16:     0x556d7d330ed9 - std::sys_common::backtrace::__rust_end_short_backtrace::h19508a8f8ae71dc9
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/sys_common/backtrace.rs:171:18
[INFO] [stdout]   17:     0x556d7d332207 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:652:5
[INFO] [stdout]   18:     0x556d7cf3b9b3 - core::panicking::panic_fmt::h2ba8af99174d83ea
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/panicking.rs:72:14
[INFO] [stdout]   19:     0x556d7d07d252 - winit::platform_impl::platform::assert_is_main_thread::h8b21a34dfa97dd01
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/winit-0.26.1/src/platform_impl/linux/mod.rs:758:9
[INFO] [stdout]   20:     0x556d7d07c9b0 - winit::platform_impl::platform::EventLoop<T>::new::h30d2c905f020b106
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/winit-0.26.1/src/platform_impl/linux/mod.rs:572:9
[INFO] [stdout]   21:     0x556d7d08f3db - winit::event_loop::EventLoop<T>::with_user_event::h3a3539a1cdbb3f6f
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/winit-0.26.1/src/event_loop.rs:134:25
[INFO] [stdout]   22:     0x556d7d08f3ae - winit::event_loop::EventLoop<()>::new::ha93a4771ca0ef709
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/winit-0.26.1/src/event_loop.rs:120:9
[INFO] [stdout]   23:     0x556d7cfb61cb - vigilant_lamp::renderers::opengl::OpenGL::new::he6616ddf94c41d76
[INFO] [stdout]                                at /opt/rustwide/workdir/src/renderers/opengl.rs:14:30
[INFO] [stdout]   24:     0x556d7cf3da18 - vigilant_lamp::renderers::builder::build_opengl::had97e3523007675c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/renderers/builder.rs:12:20
[INFO] [stdout]   25:     0x556d7cf3fc45 - gl::tests::main::h1eb68619ab7dc034
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/gl.rs:7:18
[INFO] [stdout]   26:     0x556d7cf3fbd7 - gl::tests::main::{{closure}}::h11ca5372e8dbdc56
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/gl.rs:6:14
[INFO] [stdout]   27:     0x556d7cf3e306 - core::ops::function::FnOnce::call_once::h31630989df5aa093
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x556d7cf781ab - core::ops::function::FnOnce::call_once::h18c6bf92212b87a4
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   29:     0x556d7cf781ab - test::__rust_begin_short_backtrace::hdcf0edcfa9080086
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/test/src/lib.rs:625:18
[INFO] [stdout]   30:     0x556d7cf77871 - test::run_test_in_process::{{closure}}::heac2c4eb375d2d10
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/test/src/lib.rs:648:60
[INFO] [stdout]   31:     0x556d7cf77871 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h0289bafc8a1cc004
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   32:     0x556d7cf77871 - std::panicking::try::do_call::h5e158f1ad8a5f983
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:559:40
[INFO] [stdout]   33:     0x556d7cf77871 - std::panicking::try::hea3411d60321c4de
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:523:19
[INFO] [stdout]   34:     0x556d7cf77871 - std::panic::catch_unwind::hafb7bb18bc47bbc7
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panic.rs:149:14
[INFO] [stdout]   35:     0x556d7cf77871 - test::run_test_in_process::h74dd138dc7762d99
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/test/src/lib.rs:648:27
[INFO] [stdout]   36:     0x556d7cf77871 - test::run_test::{{closure}}::h6b390822e63606cf
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/test/src/lib.rs:569:43
[INFO] [stdout]   37:     0x556d7cf40244 - test::run_test::{{closure}}::h6e11dba8131d354b
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/test/src/lib.rs:599:41
[INFO] [stdout]   38:     0x556d7cf40244 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha71b3541b59bdbbb
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/sys_common/backtrace.rs:155:18
[INFO] [stdout]   39:     0x556d7cf44d12 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hef92127c5ef9e53c
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/thread/mod.rs:542:17
[INFO] [stdout]   40:     0x556d7cf44d12 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h859c109f9d11c92b
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   41:     0x556d7cf44d12 - std::panicking::try::do_call::hbf534c458cd858f0
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:559:40
[INFO] [stdout]   42:     0x556d7cf44d12 - std::panicking::try::h65c18365a7b9ad90
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panicking.rs:523:19
[INFO] [stdout]   43:     0x556d7cf44d12 - std::panic::catch_unwind::h21b25d4c69478c39
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/panic.rs:149:14
[INFO] [stdout]   44:     0x556d7cf44d12 - std::thread::Builder::spawn_unchecked_::{{closure}}::h23335f620275a9bf
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/thread/mod.rs:541:30
[INFO] [stdout]   45:     0x556d7cf44d12 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb491dc55513e9b7c
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x556d7d336c0b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h41b39260afcffdc9
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   47:     0x556d7d336c0b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6694c8dc6dd010c4
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/alloc/src/boxed.rs:2022:9
[INFO] [stdout]   48:     0x556d7d336c0b - std::sys::pal::unix::thread::Thread::new::thread_start::hf16038e1c8e19c99
[INFO] [stdout]                                at /rustc/b642703cf9526da1e72c0b6755753b939a9c6b6d/library/std/src/sys/pal/unix/thread.rs:108:17
[INFO] [stdout]   49:     0x7f3c3757dac3 - <unknown>
[INFO] [stdout]   50:     0x7f3c3760ea04 - __clone
[INFO] [stdout]   51:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::main
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test gl`
[INFO] running `Command { std: "docker" "inspect" "9b4b8ee833e228049cfce2bdd75ee133578dbd5b87accf628576bf366cfd906d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9b4b8ee833e228049cfce2bdd75ee133578dbd5b87accf628576bf366cfd906d", kill_on_drop: false }`
[INFO] [stdout] 9b4b8ee833e228049cfce2bdd75ee133578dbd5b87accf628576bf366cfd906d
