[INFO] cloning repository https://github.com/CrystalSplitter/rust_wasm_canvas
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CrystalSplitter/rust_wasm_canvas" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCrystalSplitter%2Frust_wasm_canvas", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCrystalSplitter%2Frust_wasm_canvas'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 03ac2874d2c4b2c06e0418ab966884cd1c21dbda
[INFO] checking CrystalSplitter/rust_wasm_canvas against master#568f6a8641e391ffcdcdb03e79d0901731d8d399 for pr-117164-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCrystalSplitter%2Frust_wasm_canvas" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/CrystalSplitter/rust_wasm_canvas on toolchain 568f6a8641e391ffcdcdb03e79d0901731d8d399
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/CrystalSplitter/rust_wasm_canvas
[INFO] finished tweaking git repo https://github.com/CrystalSplitter/rust_wasm_canvas
[INFO] tweaked toml for git repo https://github.com/CrystalSplitter/rust_wasm_canvas written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/CrystalSplitter/rust_wasm_canvas already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded generic-array v0.14.4
[INFO] [stderr]   Downloaded once_cell v1.18.0
[INFO] [stderr]   Downloaded wee_alloc v0.4.5
[INFO] [stderr]   Downloaded unicode-xid v0.2.2
[INFO] [stderr]   Downloaded serde v1.0.125
[INFO] [stderr]   Downloaded num-complex v0.3.1
[INFO] [stderr]   Downloaded memory_units v0.4.0
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.87
[INFO] [stderr]   Downloaded rand_chacha v0.3.0
[INFO] [stderr]   Downloaded approx v0.4.0
[INFO] [stderr]   Downloaded futures-sink v0.3.15
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.87
[INFO] [stderr]   Downloaded futures-task v0.3.15
[INFO] [stderr]   Downloaded simba v0.4.0
[INFO] [stderr]   Downloaded arrayvec v0.5.2
[INFO] [stderr]   Downloaded futures-util v0.3.15
[INFO] [stderr]   Downloaded syn v2.0.38
[INFO] [stderr]   Downloaded console_error_panic_hook v0.1.6
[INFO] [stderr]   Downloaded nalgebra v0.25.4
[INFO] [stderr]   Downloaded lexical-core v0.7.6
[INFO] [stderr]   Downloaded web-sys v0.3.50
[INFO] [stderr]   Downloaded wavefront_obj v10.0.0
[INFO] [stderr]   Downloaded libc v0.2.148
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.87
[INFO] [stderr]   Downloaded rand v0.8.5
[INFO] [stderr]   Downloaded proc-macro2 v1.0.67
[INFO] [stderr]   Downloaded num-bigint v0.4.4
[INFO] [stderr]   Downloaded lexical v5.2.2
[INFO] [stderr]   Downloaded futures-io v0.3.15
[INFO] [stderr]   Downloaded serde_json v1.0.64
[INFO] [stderr]   Downloaded itertools v0.10.0
[INFO] [stderr]   Downloaded js-sys v0.3.64
[INFO] [stderr]   Downloaded num-complex v0.4.4
[INFO] [stderr]   Downloaded pin-project-lite v0.2.7
[INFO] [stderr]   Downloaded futures-executor v0.3.15
[INFO] [stderr]   Downloaded matrixmultiply v0.3.1
[INFO] [stderr]   Downloaded futures-channel v0.3.15
[INFO] [stderr]   Downloaded unicode-ident v1.0.12
[INFO] [stderr]   Downloaded paste v1.0.5
[INFO] [stderr]   Downloaded num-rational v0.4.1
[INFO] [stderr]   Downloaded futures v0.3.15
[INFO] [stderr]   Downloaded serde_derive v1.0.125
[INFO] [stderr]   Downloaded memchr v2.4.0
[INFO] [stderr]   Downloaded num-rational v0.3.2
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.23
[INFO] [stderr]   Downloaded syn v1.0.71
[INFO] [stderr]   Downloaded version_check v0.9.3
[INFO] [stderr]   Downloaded num-traits v0.2.16
[INFO] [stderr]   Downloaded dyn-clone v1.0.4
[INFO] [stderr]   Downloaded wasi v0.11.0+wasi-snapshot-preview1
[INFO] [stderr]   Downloaded num-iter v0.1.43
[INFO] [stderr]   Downloaded getrandom v0.2.10
[INFO] [stderr]   Downloaded quote v1.0.33
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.87
[INFO] [stderr]   Downloaded serde-wasm-bindgen v0.1.3
[INFO] [stderr]   Downloaded rand_core v0.6.2
[INFO] [stderr]   Downloaded proc-macro-hack v0.5.19
[INFO] [stderr]   Downloaded typenum v1.13.0
[INFO] [stderr]   Downloaded num-integer v0.1.45
[INFO] [stderr]   Downloaded slab v0.4.3
[INFO] [stderr]   Downloaded num v0.4.1
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.87
[INFO] [stderr]   Downloaded futures-macro v0.3.15
[INFO] [stderr]   Downloaded futures-core v0.3.15
[INFO] [stderr]   Downloaded proc-macro-nested v0.1.7
[INFO] [stderr]   Downloaded typed-builder v0.9.0
[INFO] [stderr]   Downloaded pin-utils v0.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1c1ea92c0d75b597a05d6699fd1ad95edda39b66ca0bc6be110dfc169b5fa428
[INFO] running `Command { std: "docker" "start" "-a" "1c1ea92c0d75b597a05d6699fd1ad95edda39b66ca0bc6be110dfc169b5fa428", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1c1ea92c0d75b597a05d6699fd1ad95edda39b66ca0bc6be110dfc169b5fa428", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1c1ea92c0d75b597a05d6699fd1ad95edda39b66ca0bc6be110dfc169b5fa428", kill_on_drop: false }`
[INFO] [stdout] 1c1ea92c0d75b597a05d6699fd1ad95edda39b66ca0bc6be110dfc169b5fa428
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+568f6a8641e391ffcdcdb03e79d0901731d8d399" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f3094e3a969d1d3f5be01c58a4275c4b7c17e73c7e147552d066aa69abe7a392
[INFO] running `Command { std: "docker" "start" "-a" "f3094e3a969d1d3f5be01c58a4275c4b7c17e73c7e147552d066aa69abe7a392", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.67
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling syn v1.0.71
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.87
[INFO] [stderr]    Compiling serde_derive v1.0.125
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling serde v1.0.125
[INFO] [stderr]    Compiling once_cell v1.18.0
[INFO] [stderr]    Compiling bumpalo v3.6.1
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]    Compiling wasm-bindgen v0.2.87
[INFO] [stderr]     Checking itoa v0.4.7
[INFO] [stderr]    Compiling futures-core v0.3.15
[INFO] [stderr]    Compiling libc v0.2.148
[INFO] [stderr]    Compiling proc-macro-hack v0.5.19
[INFO] [stderr]    Compiling memchr v2.4.0
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling proc-macro-nested v0.1.7
[INFO] [stderr]    Compiling futures-channel v0.3.15
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling futures-macro v0.3.15
[INFO] [stderr]    Compiling futures-task v0.3.15
[INFO] [stderr]    Compiling futures-util v0.3.15
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling typenum v1.13.0
[INFO] [stderr]    Compiling lexical-core v0.7.6
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]     Checking futures-sink v0.3.15
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]     Checking pin-project-lite v0.2.7
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]     Checking futures-io v0.3.15
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking slab v0.4.3
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]    Compiling paste v1.0.5
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]     Checking matrixmultiply v0.3.1
[INFO] [stderr]    Compiling syn v2.0.38
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking either v1.6.1
[INFO] [stderr]     Checking cfg-if v0.1.10
[INFO] [stderr]     Checking dyn-clone v1.0.4
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking itertools v0.10.0
[INFO] [stderr]     Checking rand_core v0.6.2
[INFO] [stderr]     Checking rand_chacha v0.3.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking approx v0.4.0
[INFO] [stderr]     Checking num-complex v0.3.1
[INFO] [stderr]     Checking num-complex v0.4.4
[INFO] [stderr]     Checking simba v0.4.0
[INFO] [stderr]     Checking lexical v5.2.2
[INFO] [stderr]     Checking wavefront_obj v10.0.0
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.87
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.87
[INFO] [stderr]    Compiling typed-builder v0.9.0
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.87
[INFO] [stderr]     Checking futures-executor v0.3.15
[INFO] [stderr]     Checking futures v0.3.15
[INFO] [stderr]     Checking nalgebra v0.25.4
[INFO] [stderr]     Checking js-sys v0.3.64
[INFO] [stderr]     Checking console_error_panic_hook v0.1.6
[INFO] [stderr]     Checking web-sys v0.3.50
[INFO] [stderr]     Checking wasm-bindgen-futures v0.4.23
[INFO] [stderr]     Checking serde-wasm-bindgen v0.1.3
[INFO] [stderr]     Checking js_canvas v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/js_bindings.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> src/mesh/wavefront_obj.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]  --> src/spin.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{Arc, Mutex, RwLock};
[INFO] [stdout]   |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Document`
[INFO] [stdout]  --> src/spin.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use web_sys::{Document, HtmlCanvasElement, WebGl2RenderingContext as Gl, WebGlProgram};
[INFO] [stdout]   |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::geometry`
[INFO] [stdout]   --> src/spin.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::geometry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mesh`
[INFO] [stdout]   --> src/spin.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::mesh;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldObject3D`
[INFO] [stdout]   --> src/spin.rs:23:47
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Material, MeshComponent, RenderComponent, WorldObject3D, WorldObject3DInit,
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/transform.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/game/blocks.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::maths_utils`
[INFO] [stdout]  --> src/game/blocks.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::maths_utils;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldObject3D`
[INFO] [stdout]  --> src/game/cottage_scene.rs:7:47
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Material, MeshComponent, RenderComponent, WorldObject3D, WorldObject3DInit,
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufferInfo`, `BufferSettings`, `Bufferable`, `ProgramData`, `RenderItem`, `Renderer`
[INFO] [stdout]  --> src/shader_config/vertex_color_3d.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |         BufferInfo, BufferSettings, Bufferable, ProgramData, RenderItem, Renderer,
[INFO] [stdout]   |         ^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `web_sys::WebGl2RenderingContext as Gl`
[INFO] [stdout]  --> src/shader_config/vertex_color_3d.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use web_sys::WebGl2RenderingContext as Gl;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Weak`
[INFO] [stdout]  --> src/world_object.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::{Rc, Weak};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc`
[INFO] [stdout]  --> src/world_state.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Wfc`
[INFO] [stdout]   --> src/world_state.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::util::{Rfc, Wfc};
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::future::Future`
[INFO] [stdout]  --> src/js_bindings.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::future::Future;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize`, `Serialize`
[INFO] [stdout]  --> src/mesh/wavefront_obj.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde::{Deserialize, Serialize};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `RwLock`
[INFO] [stdout]  --> src/spin.rs:4:29
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{Arc, Mutex, RwLock};
[INFO] [stdout]   |                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Document`
[INFO] [stdout]  --> src/spin.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 | use web_sys::{Document, HtmlCanvasElement, WebGl2RenderingContext as Gl, WebGlProgram};
[INFO] [stdout]   |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::geometry`
[INFO] [stdout]   --> src/spin.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::geometry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::mesh`
[INFO] [stdout]   --> src/spin.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::mesh;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldObject3D`
[INFO] [stdout]   --> src/spin.rs:23:47
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Material, MeshComponent, RenderComponent, WorldObject3D, WorldObject3DInit,
[INFO] [stdout]    |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/transform.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc`, `Mutex`
[INFO] [stdout]  --> src/game/blocks.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::maths_utils`
[INFO] [stdout]  --> src/game/blocks.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::maths_utils;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorldObject3D`
[INFO] [stdout]  --> src/game/cottage_scene.rs:7:47
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Material, MeshComponent, RenderComponent, WorldObject3D, WorldObject3DInit,
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufferInfo`, `BufferSettings`, `Bufferable`, `ProgramData`, `RenderItem`, `Renderer`
[INFO] [stdout]  --> src/shader_config/vertex_color_3d.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |         BufferInfo, BufferSettings, Bufferable, ProgramData, RenderItem, Renderer,
[INFO] [stdout]   |         ^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `web_sys::WebGl2RenderingContext as Gl`
[INFO] [stdout]  --> src/shader_config/vertex_color_3d.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use web_sys::WebGl2RenderingContext as Gl;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Weak`
[INFO] [stdout]  --> src/world_object.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc::{Rc, Weak};
[INFO] [stdout]   |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc`
[INFO] [stdout]  --> src/world_state.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::rc;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Wfc`
[INFO] [stdout]   --> src/world_state.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::util::{Rfc, Wfc};
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u_location_names`
[INFO] [stdout]   --> src/lib.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     u_location_names: JsValue,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_u_location_names`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `preloaded_game_data`
[INFO] [stdout]   --> src/lib.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     preloaded_game_data: PreloadedGameData,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_preloaded_game_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `u_location_names`
[INFO] [stdout]   --> src/lib.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     u_location_names: JsValue,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_u_location_names`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `preloaded_game_data`
[INFO] [stdout]   --> src/lib.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     preloaded_game_data: PreloadedGameData,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_preloaded_game_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/spin.rs:288:28
[INFO] [stdout]     |
[INFO] [stdout] 288 |                   mesh: Some(MeshComponent {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 289 | |                     data: panic!("Not implemented"), //mesh::wavefront_obj::into_vertex_vec("ERROR").expect("Could not convert "),
[INFO] [stdout]     | |                           ------------------------- any code following this expression is unreachable
[INFO] [stdout] 290 | |                 }),
[INFO] [stdout]     | |_________________^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]    --> src/spin.rs:288:28
[INFO] [stdout]     |
[INFO] [stdout] 288 |                   mesh: Some(MeshComponent {
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 289 | |                     data: panic!("Not implemented"), //mesh::wavefront_obj::into_vertex_vec("ERROR").expect("Could not convert "),
[INFO] [stdout]     | |                           ------------------------- any code following this expression is unreachable
[INFO] [stdout] 290 | |                 }),
[INFO] [stdout]     | |_________________^ unreachable expression
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/game/cottage_scene.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |   ...                   render: Some(RenderComponent {
[INFO] [stdout]    |  ____________________________________^
[INFO] [stdout] 31 | | ...                       renderer,
[INFO] [stdout] 32 | | ...                       material: Material {
[INFO] [stdout] 33 | | ...                           color: (0.5, 0.5, 0.5, 1.0),
[INFO] [stdout] 34 | | ...                       },
[INFO] [stdout] 35 | | ...                       gl_program_data: panic!(),
[INFO] [stdout]    | |                                            -------- any code following this expression is unreachable
[INFO] [stdout] 36 | | ...                   }),
[INFO] [stdout]    | |_______________________^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable expression
[INFO] [stdout]   --> src/game/cottage_scene.rs:30:42
[INFO] [stdout]    |
[INFO] [stdout] 30 |   ...                   render: Some(RenderComponent {
[INFO] [stdout]    |  ____________________________________^
[INFO] [stdout] 31 | | ...                       renderer,
[INFO] [stdout] 32 | | ...                       material: Material {
[INFO] [stdout] 33 | | ...                           color: (0.5, 0.5, 0.5, 1.0),
[INFO] [stdout] 34 | | ...                       },
[INFO] [stdout] 35 | | ...                       gl_program_data: panic!(),
[INFO] [stdout]    | |                                            -------- any code following this expression is unreachable
[INFO] [stdout] 36 | | ...                   }),
[INFO] [stdout]    | |_______________________^ unreachable expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/rendering.rs:441:39
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn debug_draw_face_normals(&self, ctx: &Gl) -> Result<(), String> {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/rigidbody.rs:33:43
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn apply_angular_force(&mut self, f: EulerAngles3D<f32>) {}
[INFO] [stdout]    |                                           ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/spin.rs:239:33
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn get_mesh_data(&self, idx: usize) {
[INFO] [stdout]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_obj`
[INFO] [stdout]    --> src/spin.rs:278:17
[INFO] [stdout]     |
[INFO] [stdout] 278 |             let new_obj = WorldObject3DInit {
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rot`
[INFO] [stdout]   --> src/transform.rs:58:36
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn set_rotation(&mut self, rot: Vector4<f32>) -> &mut Self {
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_rot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_loop`
[INFO] [stdout]    --> src/world_state.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |         game_loop: &GameLoop,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_loop`
[INFO] [stdout]    --> src/world_state.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         game_loop: &GameLoop,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]    --> src/rendering.rs:441:39
[INFO] [stdout]     |
[INFO] [stdout] 441 |     fn debug_draw_face_normals(&self, ctx: &Gl) -> Result<(), String> {
[INFO] [stdout]     |                                       ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VertArray` is never used
[INFO] [stdout]  --> src/geometry.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub type VertArray = js_sys::Float32Array;
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_square` is never used
[INFO] [stdout]  --> src/geometry.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn new_square(scale: f32) -> Vec<f32> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point3d` is never constructed
[INFO] [stdout]   --> src/geometry.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Point3d(f32, f32, f32);
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_cube` is never used
[INFO] [stdout]   --> src/geometry.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn new_cube(scale: f32) -> Vec<f32> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f_3d` is never used
[INFO] [stdout]   --> src/geometry.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn f_3d(scale: f32) -> Vec<f32> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log` is never used
[INFO] [stdout]   --> src/js_bindings.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn log(s: &str) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mesh_string` is never used
[INFO] [stdout]   --> src/mesh/wavefront_obj.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn mesh_string() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vaos` is never read
[INFO] [stdout]   --> src/rendering.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct ProgramData {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 67 |     vaos: BTreeMap<String, GlVao>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProgramData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `face_normal_vao` is never read
[INFO] [stdout]    --> src/rendering.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub struct RenderItem {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 236 |     face_normal_vao: Option<GlVao>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RenderItem` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `default_color` is never read
[INFO] [stdout]    --> src/rendering.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub struct RenderLineBuilder<'a, RendererT: ?Sized> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 298 |     default_color: (f32, f32, f32, f32),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_line`, `enabled`, and `default_color` are never used
[INFO] [stdout]    --> src/rendering.rs:346:12
[INFO] [stdout]     |
[INFO] [stdout] 302 | impl<'a, RendererT: Renderer + ?Sized> RenderLineBuilder<'a, RendererT> {
[INFO] [stdout]     | ----------------------------------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 346 |     pub fn add_line(self, line: (Vector3<f32>, Vector3<f32>)) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 |     build_setter!(enabled, bool);
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 379 |     build_setter_defaulted!(default_color, (f32, f32, f32, f32));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build_setter` which comes from the expansion of the macro `build_setter_defaulted` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug_draw_face_normals` is never used
[INFO] [stdout]    --> src/rendering.rs:441:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | impl RenderItem {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 441 |     fn debug_draw_face_normals(&self, ctx: &Gl) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `info` is never read
[INFO] [stdout]    --> src/rendering.rs:493:29
[INFO] [stdout]     |
[INFO] [stdout] 493 |     FailedToGetUniformLoc { info: String },
[INFO] [stdout]     |     ---------------------   ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]   --> src/rigidbody.rs:33:43
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn apply_angular_force(&mut self, f: EulerAngles3D<f32>) {}
[INFO] [stdout]    |                                           ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `info` is never read
[INFO] [stdout]    --> src/rendering.rs:494:20
[INFO] [stdout]     |
[INFO] [stdout] 494 |     NoBufferSize { info: String },
[INFO] [stdout]     |     ------------   ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `info` is never read
[INFO] [stdout]    --> src/rendering.rs:495:18
[INFO] [stdout]     |
[INFO] [stdout] 495 |     FailedDraw { info: String },
[INFO] [stdout]     |     ----------   ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tmp_mat_b` is never read
[INFO] [stdout]    --> src/rendering.rs:507:5
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub struct RendererOrtho3D {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 507 |     tmp_mat_b: RefCell<na::Matrix4<f32>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RendererOrtho3D` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rigidbody3D` is never constructed
[INFO] [stdout]  --> src/rigidbody.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Rigidbody3D {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `apply_force`, and `apply_angular_force` are never used
[INFO] [stdout]   --> src/rigidbody.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Rigidbody3D {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn apply_force(&mut self, f: Vector3<f32>) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn apply_angular_force(&mut self, f: EulerAngles3D<f32>) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/spin.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 266 | impl TorusGen {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 267 |     pub fn new(program_data: ProgramData) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_color` is never used
[INFO] [stdout]    --> src/spin.rs:349:4
[INFO] [stdout]     |
[INFO] [stdout] 349 | fn get_color() -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Wfc` is never used
[INFO] [stdout]  --> src/util.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type Wfc<T> = Weak<RefCell<T>>;
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovingBlockBehavior` is never constructed
[INFO] [stdout]   --> src/game/blocks.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct MovingBlockBehavior {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Rev` is never constructed
[INFO] [stdout]   --> src/world_state.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum RendQueueType {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 16 |     Fwd,
[INFO] [stdout] 17 |     Rev,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/spin.rs:239:33
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn get_mesh_data(&self, idx: usize) {
[INFO] [stdout]     |                                 ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_obj`
[INFO] [stdout]    --> src/spin.rs:278:17
[INFO] [stdout]     |
[INFO] [stdout] 278 |             let new_obj = WorldObject3DInit {
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_obj`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lib.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     game_loop.load_in();
[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] 99 |     let _ = game_loop.load_in();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rot`
[INFO] [stdout]   --> src/transform.rs:58:36
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn set_rotation(&mut self, rot: Vector4<f32>) -> &mut Self {
[INFO] [stdout]    |                                    ^^^ help: if this is intentional, prefix it with an underscore: `_rot`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_loop`
[INFO] [stdout]    --> src/world_state.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 |         game_loop: &GameLoop,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_loop`
[INFO] [stdout]    --> src/world_state.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         game_loop: &GameLoop,
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_loop`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 51 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `VertArray` is never used
[INFO] [stdout]  --> src/geometry.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub type VertArray = js_sys::Float32Array;
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_square` is never used
[INFO] [stdout]  --> src/geometry.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn new_square(scale: f32) -> Vec<f32> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Point3d` is never constructed
[INFO] [stdout]   --> src/geometry.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Point3d(f32, f32, f32);
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_cube` is never used
[INFO] [stdout]   --> src/geometry.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn new_cube(scale: f32) -> Vec<f32> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f_3d` is never used
[INFO] [stdout]   --> src/geometry.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn f_3d(scale: f32) -> Vec<f32> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log` is never used
[INFO] [stdout]   --> src/js_bindings.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn log(s: &str) {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mesh_string` is never used
[INFO] [stdout]   --> src/mesh/wavefront_obj.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn mesh_string() -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `vaos` is never read
[INFO] [stdout]   --> src/rendering.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct ProgramData {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 67 |     vaos: BTreeMap<String, GlVao>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProgramData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `face_normal_vao` is never read
[INFO] [stdout]    --> src/rendering.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub struct RenderItem {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 236 |     face_normal_vao: Option<GlVao>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RenderItem` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `default_color` is never read
[INFO] [stdout]    --> src/rendering.rs:298:5
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub struct RenderLineBuilder<'a, RendererT: ?Sized> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 298 |     default_color: (f32, f32, f32, f32),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_line`, `enabled`, and `default_color` are never used
[INFO] [stdout]    --> src/rendering.rs:346:12
[INFO] [stdout]     |
[INFO] [stdout] 302 | impl<'a, RendererT: Renderer + ?Sized> RenderLineBuilder<'a, RendererT> {
[INFO] [stdout]     | ----------------------------------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 346 |     pub fn add_line(self, line: (Vector3<f32>, Vector3<f32>)) -> Self {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 375 |     build_setter!(enabled, bool);
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 379 |     build_setter_defaulted!(default_color, (f32, f32, f32, f32));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `build_setter` which comes from the expansion of the macro `build_setter_defaulted` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug_draw_face_normals` is never used
[INFO] [stdout]    --> src/rendering.rs:441:8
[INFO] [stdout]     |
[INFO] [stdout] 382 | impl RenderItem {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 441 |     fn debug_draw_face_normals(&self, ctx: &Gl) -> Result<(), String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `info` is never read
[INFO] [stdout]    --> src/rendering.rs:493:29
[INFO] [stdout]     |
[INFO] [stdout] 493 |     FailedToGetUniformLoc { info: String },
[INFO] [stdout]     |     ---------------------   ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `info` is never read
[INFO] [stdout]    --> src/rendering.rs:494:20
[INFO] [stdout]     |
[INFO] [stdout] 494 |     NoBufferSize { info: String },
[INFO] [stdout]     |     ------------   ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `info` is never read
[INFO] [stdout]    --> src/rendering.rs:495:18
[INFO] [stdout]     |
[INFO] [stdout] 495 |     FailedDraw { info: String },
[INFO] [stdout]     |     ----------   ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tmp_mat_b` is never read
[INFO] [stdout]    --> src/rendering.rs:507:5
[INFO] [stdout]     |
[INFO] [stdout] 499 | pub struct RendererOrtho3D {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 507 |     tmp_mat_b: RefCell<na::Matrix4<f32>>,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RendererOrtho3D` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Rigidbody3D` is never constructed
[INFO] [stdout]  --> src/rigidbody.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Rigidbody3D {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `apply_force`, and `apply_angular_force` are never used
[INFO] [stdout]   --> src/rigidbody.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Rigidbody3D {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn apply_force(&mut self, f: Vector3<f32>) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn apply_angular_force(&mut self, f: EulerAngles3D<f32>) {}
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/spin.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 266 | impl TorusGen {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 267 |     pub fn new(program_data: ProgramData) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_color` is never used
[INFO] [stdout]    --> src/spin.rs:349:4
[INFO] [stdout]     |
[INFO] [stdout] 349 | fn get_color() -> Vec<u8> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Wfc` is never used
[INFO] [stdout]  --> src/util.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type Wfc<T> = Weak<RefCell<T>>;
[INFO] [stdout]   |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovingBlockBehavior` is never constructed
[INFO] [stdout]   --> src/game/blocks.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct MovingBlockBehavior {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Rev` is never constructed
[INFO] [stdout]   --> src/world_state.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum RendQueueType {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 16 |     Fwd,
[INFO] [stdout] 17 |     Rev,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lib.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     game_loop.load_in();
[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] 99 |     let _ = game_loop.load_in();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 51 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 43.25s
[INFO] running `Command { std: "docker" "inspect" "f3094e3a969d1d3f5be01c58a4275c4b7c17e73c7e147552d066aa69abe7a392", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3094e3a969d1d3f5be01c58a4275c4b7c17e73c7e147552d066aa69abe7a392", kill_on_drop: false }`
[INFO] [stdout] f3094e3a969d1d3f5be01c58a4275c4b7c17e73c7e147552d066aa69abe7a392
