[INFO] cloning repository https://github.com/Puppy-Corp/pge
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Puppy-Corp/pge" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPuppy-Corp%2Fpge", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPuppy-Corp%2Fpge'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1d6ce4015ed94d707097e1f339de38941d22358f
[INFO] checking Puppy-Corp/pge against master#1fe72d35998dea48aeecaf7fc07783b0b553f24f for pr-154992-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPuppy-Corp%2Fpge" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Puppy-Corp/pge
[INFO] finished tweaking git repo https://github.com/Puppy-Corp/pge
[INFO] tweaked toml for git repo https://github.com/Puppy-Corp/pge written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Puppy-Corp/pge on toolchain 1fe72d35998dea48aeecaf7fc07783b0b553f24f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1fe72d35998dea48aeecaf7fc07783b0b553f24f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Puppy-Corp/pge 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" "+1fe72d35998dea48aeecaf7fc07783b0b553f24f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded yaserde v0.8.0
[INFO] [stderr]   Downloaded is-terminal v0.4.13
[INFO] [stderr]   Downloaded profiling-procmacros v1.0.15
[INFO] [stderr]   Downloaded avif-serialize v0.8.1
[INFO] [stderr]   Downloaded clap_derive v4.5.13
[INFO] [stderr]   Downloaded bitstream-io v2.5.0
[INFO] [stderr]   Downloaded clap v4.5.13
[INFO] [stderr]   Downloaded image-webp v0.1.3
[INFO] [stderr]   Downloaded imgref v1.10.1
[INFO] [stderr]   Downloaded syn v2.0.72
[INFO] [stderr]   Downloaded serde_json v1.0.122
[INFO] [stderr]   Downloaded libfuzzer-sys v0.4.7
[INFO] [stderr]   Downloaded polling v3.7.2
[INFO] [stderr]   Downloaded clap_builder v4.5.13
[INFO] [stderr]   Downloaded serde v1.0.205
[INFO] [stderr]   Downloaded lyon_tessellation v1.0.15
[INFO] [stderr]   Downloaded cc v1.1.8
[INFO] [stderr]   Downloaded rgb v0.8.48
[INFO] [stderr]   Downloaded exr v1.72.0
[INFO] [stderr]   Downloaded zune-jpeg v0.4.13
[INFO] [stderr]   Downloaded lyon_geom v1.0.5
[INFO] [stderr]   Downloaded lyon_path v1.0.5
[INFO] [stderr]   Downloaded serde_derive v1.0.205
[INFO] [stderr]   Downloaded arbitrary v1.3.2
[INFO] [stderr]   Downloaded built v0.7.4
[INFO] [stderr]   Downloaded serde_spanned v0.6.7
[INFO] [stderr]   Downloaded lyon_algorithms v1.0.4
[INFO] [stderr]   Downloaded stl_io v0.7.0
[INFO] [stderr]   Downloaded urdf-rs v0.8.0
[INFO] [stderr]   Downloaded xcursor v0.3.6
[INFO] [stderr]   Downloaded oorandom v11.1.4
[INFO] [stderr]   Downloaded winit v0.30.4
[INFO] [stderr]   Downloaded ravif v0.11.9
[INFO] [stderr]   Downloaded float_next_after v1.0.0
[INFO] [stderr]   Downloaded lyon v1.0.1
[INFO] [stderr]   Downloaded yaserde_derive v0.8.0
[INFO] [stderr]   Downloaded regex-automata v0.4.8
[INFO] [stderr]   Downloaded tokio v1.42.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1fe72d35998dea48aeecaf7fc07783b0b553f24f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 53495e826c94e2c1dc8b6a44d42f2c24c4a0fe8b75864001af4d5abb943565b8
[INFO] running `Command { std: "docker" "start" "-a" "53495e826c94e2c1dc8b6a44d42f2c24c4a0fe8b75864001af4d5abb943565b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "53495e826c94e2c1dc8b6a44d42f2c24c4a0fe8b75864001af4d5abb943565b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "53495e826c94e2c1dc8b6a44d42f2c24c4a0fe8b75864001af4d5abb943565b8", kill_on_drop: false }`
[INFO] [stdout] 53495e826c94e2c1dc8b6a44d42f2c24c4a0fe8b75864001af4d5abb943565b8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1fe72d35998dea48aeecaf7fc07783b0b553f24f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c6701bf6bf7b709141099c66cb642594d6ea9d62ff890afc08102060a925742b
[INFO] running `Command { std: "docker" "start" "-a" "c6701bf6bf7b709141099c66cb642594d6ea9d62ff890afc08102060a925742b", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking log v0.4.22
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]     Checking libloading v0.8.5
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling thiserror v1.0.63
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling cc v1.1.8
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling wayland-sys v0.31.4
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]     Checking scoped-tls v1.0.1
[INFO] [stderr]     Checking downcast-rs v1.2.1
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling syn v2.0.72
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling crossbeam-utils v0.8.20
[INFO] [stderr]    Compiling wayland-client v0.31.5
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling cfg_aliases v0.1.1
[INFO] [stderr]     Checking simd-adler32 v0.3.7
[INFO] [stderr]    Compiling quick-xml v0.34.0
[INFO] [stderr]    Compiling serde v1.0.205
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling wayland-backend v0.3.6
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking allocator-api2 v0.2.18
[INFO] [stderr]    Compiling anyhow v1.0.86
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking miniz_oxide v0.7.4
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]    Compiling serde_json v1.0.122
[INFO] [stderr]     Checking aligned-vec v0.5.0
[INFO] [stderr]    Compiling built v0.7.4
[INFO] [stderr]    Compiling wayland-scanner v0.31.4
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]     Checking euclid v0.22.10
[INFO] [stderr]     Checking crc32fast v1.4.2
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking equivalent v1.0.1
[INFO] [stderr]     Checking unicode-width v0.1.13
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]    Compiling ash v0.37.3+1.3.251
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking lyon_geom v1.0.5
[INFO] [stderr]     Checking flate2 v1.0.31
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]    Compiling wgpu-hal v0.21.1
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking libloading v0.7.4
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking cursor-icon v1.1.0
[INFO] [stderr]     Checking bitstream-io v2.5.0
[INFO] [stderr]     Checking unicode-xid v0.2.4
[INFO] [stderr]    Compiling smithay-client-toolkit v0.19.2
[INFO] [stderr]    Compiling noop_proc_macro v0.3.0
[INFO] [stderr]     Checking arrayref v0.3.8
[INFO] [stderr]     Checking quick-error v2.0.1
[INFO] [stderr]     Checking ttf-parser v0.24.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking xcursor v0.3.6
[INFO] [stderr]     Checking xkeysym v0.2.1
[INFO] [stderr]     Checking raw-window-handle v0.6.2
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking imgref v1.10.1
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking strict-num v0.1.1
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking lyon_path v1.0.5
[INFO] [stderr]     Checking polling v3.7.2
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]    Compiling wgpu-core v0.21.1
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking memmap2 v0.9.4
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking avif-serialize v0.8.1
[INFO] [stderr]     Checking wgpu-types v0.20.0
[INFO] [stderr]     Checking owned_ttf_parser v0.24.0
[INFO] [stderr]     Checking ab_glyph_rasterizer v0.1.8
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]     Checking zune-core v0.4.12
[INFO] [stderr]     Checking glow v0.13.1
[INFO] [stderr]     Checking regex-automata v0.4.8
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling bytemuck_derive v1.7.0
[INFO] [stderr]    Compiling profiling-procmacros v1.0.15
[INFO] [stderr]     Checking profiling v1.0.15
[INFO] [stderr]    Compiling serde_derive v1.0.205
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking wayland-protocols v0.32.3
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]     Checking bytemuck v1.16.3
[INFO] [stderr]     Checking rgb v0.8.48
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking wayland-cursor v0.31.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking bit_field v0.10.2
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking indexmap v2.3.0
[INFO] [stderr]     Checking gpu-descriptor v0.3.0
[INFO] [stderr]    Compiling cfg_aliases v0.2.1
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]    Compiling winit v0.30.4
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling gltf-derive v1.4.1
[INFO] [stderr]     Checking naga v0.20.0
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking image-webp v0.1.3
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.3
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]    Compiling document-features v0.2.10
[INFO] [stderr]     Checking zune-jpeg v0.4.13
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking ab_glyph v0.2.28
[INFO] [stderr]    Compiling wgpu v0.20.1
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking x11rb-protocol v0.13.1
[INFO] [stderr]     Checking xml-rs v0.8.21
[INFO] [stderr]     Checking float_next_after v1.0.0
[INFO] [stderr]     Checking ravif v0.11.9
[INFO] [stderr]     Checking yaserde v0.8.0
[INFO] [stderr]     Checking lyon_tessellation v1.0.15
[INFO] [stderr]     Checking image v0.25.2
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking gltf-json v1.4.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.3
[INFO] [stderr]     Checking lyon_algorithms v1.0.4
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking float-cmp v0.9.0
[INFO] [stderr]     Checking dpi v0.1.1
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking stl_io v0.7.0
[INFO] [stderr]     Checking lyon v1.0.1
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking colored v2.1.0
[INFO] [stderr]     Checking glam v0.27.0
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]     Checking gltf v1.4.1
[INFO] [stderr]    Compiling yaserde_derive v0.8.0
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking anstyle v1.0.8
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking clap_lex v0.7.2
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling clap_derive v4.5.13
[INFO] [stderr]     Checking clap_builder v4.5.13
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking urdf-rs v0.8.0
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking is-terminal v0.4.13
[INFO] [stderr]     Checking oorandom v11.1.4
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking errno v0.3.9
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking clap v4.5.13
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking bytes v1.7.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking tokio v1.42.1
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking pge v0.0.0 (/opt/rustwide/workdir/pge)
[INFO] [stdout] warning: unused import: `glam::Mat4`
[INFO] [stdout]  --> pge/src/engine.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use glam::Mat4;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ttf_parser::Transform`
[INFO] [stdout]  --> pge/src/engine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ttf_parser::Transform;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::hardware`
[INFO] [stdout]  --> pge/src/engine.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::hardware;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> pge/src/types.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glam::Mat3`
[INFO] [stdout]  --> pge/src/types.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use glam::Mat3;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::arena::Arena`
[INFO] [stdout]  --> pge/src/types.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::arena::Arena;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gltf::load_gltf`
[INFO] [stdout]  --> pge/src/types.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::gltf::load_gltf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GUIElement`
[INFO] [stdout]   --> pge/src/types.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::GUIElement;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::codecs::qoi`
[INFO] [stdout]  --> pge/src/internal_types.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use image::codecs::qoi;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glam::Vec3`
[INFO] [stdout]  --> pge/src/physics/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use glam::Vec3;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::debug::ChangePrinter`
[INFO] [stdout]  --> pge/src/spatial_grid.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::debug::ChangePrinter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::SetLoggerError`
[INFO] [stdout]  --> pge/src/log.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use log::SetLoggerError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::buffer::Buffer`
[INFO] [stdout]  --> pge/src/hardware.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::buffer::Buffer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ArenaId`
[INFO] [stdout]  --> pge/src/hardware.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ArenaId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> pge/src/state.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error`
[INFO] [stdout]  --> pge/src/text.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ttf_parser::GlyphId`
[INFO] [stdout]   --> pge/src/text.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ttf_parser::GlyphId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glam::Mat4`
[INFO] [stdout]  --> pge/src/engine.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use glam::Mat4;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ttf_parser::Transform`
[INFO] [stdout]  --> pge/src/engine.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use ttf_parser::Transform;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::hardware`
[INFO] [stdout]  --> pge/src/engine.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::hardware;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> pge/src/types.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glam::Mat3`
[INFO] [stdout]  --> pge/src/types.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use glam::Mat3;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::arena::Arena`
[INFO] [stdout]  --> pge/src/types.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::arena::Arena;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::gltf::load_gltf`
[INFO] [stdout]  --> pge/src/types.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::gltf::load_gltf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GUIElement`
[INFO] [stdout]   --> pge/src/types.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::GUIElement;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `image::codecs::qoi`
[INFO] [stdout]  --> pge/src/internal_types.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use image::codecs::qoi;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> pge/src/tests.rs:4:6
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use std::time::Duration;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glam::Vec3`
[INFO] [stdout]  --> pge/src/physics/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use glam::Vec3;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::debug::ChangePrinter`
[INFO] [stdout]  --> pge/src/spatial_grid.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::debug::ChangePrinter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::init_logging`
[INFO] [stdout]    --> pge/src/gltf.rs:429:6
[INFO] [stdout]     |
[INFO] [stdout] 429 |     use crate::init_logging;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::SetLoggerError`
[INFO] [stdout]  --> pge/src/log.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use log::SetLoggerError;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::buffer::Buffer`
[INFO] [stdout]  --> pge/src/hardware.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::buffer::Buffer;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ArenaId`
[INFO] [stdout]  --> pge/src/hardware.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::ArenaId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> pge/src/state.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glam::Vec3`
[INFO] [stdout]   --> pge/src/state.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     use glam::Vec3;
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::CollisionShape`
[INFO] [stdout]    --> pge/src/utility.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 122 |     use crate::CollisionShape;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error`
[INFO] [stdout]  --> pge/src/text.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ttf_parser::GlyphId`
[INFO] [stdout]   --> pge/src/text.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ttf_parser::GlyphId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lyon::path::traits::PathBuilder`
[INFO] [stdout]  --> pge/src/text.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lyon::path::traits::PathBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indices`
[INFO] [stdout]    --> pge/src/engine.rs:867:25
[INFO] [stdout]     |
[INFO] [stdout] 867 |                     let indices = call.indices.clone();
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indices`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> pge/src/types.rs:434:25
[INFO] [stdout]     |
[INFO] [stdout] 434 |     pub fn collides(&self, other: &CollisionShape) -> bool {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> pge/src/types.rs:516:24
[INFO] [stdout]     |
[INFO] [stdout] 516 |     pub fn mov(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> pge/src/types.rs:516:32
[INFO] [stdout]     |
[INFO] [stdout] 516 |     pub fn mov(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]    --> pge/src/types.rs:516:40
[INFO] [stdout]     |
[INFO] [stdout] 516 |     pub fn mov(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]     |                                           ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> pge/src/types.rs:895:26
[INFO] [stdout]     |
[INFO] [stdout] 895 |     fn on_create(&mut self, state: &mut State) {}
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]    --> pge/src/types.rs:896:34
[INFO] [stdout]     |
[INFO] [stdout] 896 |     fn on_keyboard_input(&mut self, window_id: ArenaId<Window>, key: KeyboardKey, action: KeyAction, state: &mut State) {}
[INFO] [stdout]     |                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> pge/src/types.rs:896:62
[INFO] [stdout]     |
[INFO] [stdout] 896 |     fn on_keyboard_input(&mut self, window_id: ArenaId<Window>, key: KeyboardKey, action: KeyAction, state: &mut State) {}
[INFO] [stdout]     |                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action`
[INFO] [stdout]    --> pge/src/types.rs:896:80
[INFO] [stdout]     |
[INFO] [stdout] 896 |     fn on_keyboard_input(&mut self, window_id: ArenaId<Window>, key: KeyboardKey, action: KeyAction, state: &mut State) {}
[INFO] [stdout]     |                                                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> pge/src/types.rs:896:99
[INFO] [stdout]     |
[INFO] [stdout] 896 |     fn on_keyboard_input(&mut self, window_id: ArenaId<Window>, key: KeyboardKey, action: KeyAction, state: &mut State) {}
[INFO] [stdout]     |                                                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]    --> pge/src/types.rs:897:31
[INFO] [stdout]     |
[INFO] [stdout] 897 |     fn on_mouse_input(&mut self, window_id: ArenaId<Window>, event: MouseEvent, state: &mut State) {}
[INFO] [stdout]     |                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> pge/src/types.rs:897:59
[INFO] [stdout]     |
[INFO] [stdout] 897 |     fn on_mouse_input(&mut self, window_id: ArenaId<Window>, event: MouseEvent, state: &mut State) {}
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> pge/src/types.rs:897:78
[INFO] [stdout]     |
[INFO] [stdout] 897 |     fn on_mouse_input(&mut self, window_id: ArenaId<Window>, event: MouseEvent, state: &mut State) {}
[INFO] [stdout]     |                                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]    --> pge/src/types.rs:898:30
[INFO] [stdout]     |
[INFO] [stdout] 898 |     fn on_focus_lost(&mut self, window_id: ArenaId<Window>, state: &mut State) {}
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> pge/src/types.rs:898:58
[INFO] [stdout]     |
[INFO] [stdout] 898 |     fn on_focus_lost(&mut self, window_id: ArenaId<Window>, state: &mut State) {}
[INFO] [stdout]     |                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> pge/src/types.rs:901:27
[INFO] [stdout]     |
[INFO] [stdout] 901 |     fn on_process(&mut self, state: &mut State, delta: f32) {}
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]    --> pge/src/types.rs:901:46
[INFO] [stdout]     |
[INFO] [stdout] 901 |     fn on_process(&mut self, state: &mut State, delta: f32) {}
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> pge/src/types.rs:903:33
[INFO] [stdout]     |
[INFO] [stdout] 903 |     fn on_phycis_update(&mut self, state: &mut State, delta: f32) {}
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]    --> pge/src/types.rs:903:52
[INFO] [stdout]     |
[INFO] [stdout] 903 |     fn on_phycis_update(&mut self, state: &mut State, delta: f32) {}
[INFO] [stdout]     |                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `center_b`
[INFO] [stdout]    --> pge/src/physics/mod.rs:110:6
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let center_b = [(b.min[0] + b.max[0]) / 2.0, (b.min[1] + b.max[1]) / 2.0, (b.min[2] + b.max[2]) / 2.0];
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> pge/src/physics/mod.rs:390:34
[INFO] [stdout]     |
[INFO] [stdout] 390 |     fn detect_collisions(&mut self, state: &mut State, grid: &SpatialGrid) {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> pge/src/spatial_grid.rs:132:7
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut current = start;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lyon::path::traits::PathBuilder`
[INFO] [stdout]  --> pge/src/text.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use lyon::path::traits::PathBuilder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]  --> pge/src/hardware.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn create_buffer(&mut self, name: &str, size: u64) -> BufferHandle { unimplemented!() }
[INFO] [stdout]   |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]  --> pge/src/hardware.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn create_buffer(&mut self, name: &str, size: u64) -> BufferHandle { unimplemented!() }
[INFO] [stdout]   |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]  --> pge/src/hardware.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn destroy_buffer(&mut self, handle: BufferHandle) { unimplemented!() }
[INFO] [stdout]   |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> pge/src/hardware.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn create_texture(&mut self, name: &str, data: &[u8], width: u32, height: u32) -> TextureHandle { unimplemented!() }
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> pge/src/hardware.rs:10:46
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn create_texture(&mut self, name: &str, data: &[u8], width: u32, height: u32) -> TextureHandle { unimplemented!() }
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> pge/src/hardware.rs:10:59
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn create_texture(&mut self, name: &str, data: &[u8], width: u32, height: u32) -> TextureHandle { unimplemented!() }
[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]   --> pge/src/hardware.rs:10:71
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn create_texture(&mut self, name: &str, data: &[u8], width: u32, height: u32) -> TextureHandle { unimplemented!() }
[INFO] [stdout]    |                                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> pge/src/hardware.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn create_pipeline(&mut self, name: &str, window: WindowHandle) -> PipelineHandle { unimplemented!() }
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> pge/src/hardware.rs:11:47
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn create_pipeline(&mut self, name: &str, window: WindowHandle) -> PipelineHandle { unimplemented!() }
[INFO] [stdout]    |                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoder`
[INFO] [stdout]   --> pge/src/hardware.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn render(&mut self, encoder: RenderEncoder, window: WindowHandle) { unimplemented!() }
[INFO] [stdout]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> pge/src/hardware.rs:12:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn render(&mut self, encoder: RenderEncoder, window: WindowHandle) { unimplemented!() }
[INFO] [stdout]    |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> pge/src/hardware.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn create_window(&mut self, window: &Window) -> WindowHandle { unimplemented!() }
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]   --> pge/src/hardware.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn destroy_window(&mut self, handle: WindowHandle) { unimplemented!() }
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]   --> pge/src/hardware.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn write_buffer(&mut self, buffer: BufferHandle, data: &[u8]) { unimplemented!() }
[INFO] [stdout]    |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> pge/src/hardware.rs:15:51
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn write_buffer(&mut self, buffer: BufferHandle, data: &[u8]) { unimplemented!() }
[INFO] [stdout]    |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> pge/src/hardware.rs:16:32
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn save_screenshot(&mut self, window: WindowHandle, path: &str) { unimplemented!() }
[INFO] [stdout]    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> pge/src/hardware.rs:16:54
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn save_screenshot(&mut self, window: WindowHandle, path: &str) { unimplemented!() }
[INFO] [stdout]    |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `indices`
[INFO] [stdout]    --> pge/src/engine.rs:867:25
[INFO] [stdout]     |
[INFO] [stdout] 867 |                     let indices = call.indices.clone();
[INFO] [stdout]     |                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_indices`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]    --> pge/src/types.rs:434:25
[INFO] [stdout]     |
[INFO] [stdout] 434 |     pub fn collides(&self, other: &CollisionShape) -> bool {
[INFO] [stdout]     |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> pge/src/types.rs:516:24
[INFO] [stdout]     |
[INFO] [stdout] 516 |     pub fn mov(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]    --> pge/src/types.rs:516:32
[INFO] [stdout]     |
[INFO] [stdout] 516 |     pub fn mov(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]     |                                   ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]    --> pge/src/types.rs:516:40
[INFO] [stdout]     |
[INFO] [stdout] 516 |     pub fn mov(&mut self, x: f32, y: f32, z: f32) {
[INFO] [stdout]     |                                           ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> pge/src/types.rs:895:26
[INFO] [stdout]     |
[INFO] [stdout] 895 |     fn on_create(&mut self, state: &mut State) {}
[INFO] [stdout]     |                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]    --> pge/src/types.rs:896:34
[INFO] [stdout]     |
[INFO] [stdout] 896 |     fn on_keyboard_input(&mut self, window_id: ArenaId<Window>, key: KeyboardKey, action: KeyAction, state: &mut State) {}
[INFO] [stdout]     |                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> pge/src/types.rs:896:62
[INFO] [stdout]     |
[INFO] [stdout] 896 |     fn on_keyboard_input(&mut self, window_id: ArenaId<Window>, key: KeyboardKey, action: KeyAction, state: &mut State) {}
[INFO] [stdout]     |                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `action`
[INFO] [stdout]    --> pge/src/types.rs:896:80
[INFO] [stdout]     |
[INFO] [stdout] 896 |     fn on_keyboard_input(&mut self, window_id: ArenaId<Window>, key: KeyboardKey, action: KeyAction, state: &mut State) {}
[INFO] [stdout]     |                                                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_action`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> pge/src/types.rs:896:99
[INFO] [stdout]     |
[INFO] [stdout] 896 |     fn on_keyboard_input(&mut self, window_id: ArenaId<Window>, key: KeyboardKey, action: KeyAction, state: &mut State) {}
[INFO] [stdout]     |                                                                                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]    --> pge/src/types.rs:897:31
[INFO] [stdout]     |
[INFO] [stdout] 897 |     fn on_mouse_input(&mut self, window_id: ArenaId<Window>, event: MouseEvent, state: &mut State) {}
[INFO] [stdout]     |                                  ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `event`
[INFO] [stdout]    --> pge/src/types.rs:897:59
[INFO] [stdout]     |
[INFO] [stdout] 897 |     fn on_mouse_input(&mut self, window_id: ArenaId<Window>, event: MouseEvent, state: &mut State) {}
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_event`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> pge/src/types.rs:897:78
[INFO] [stdout]     |
[INFO] [stdout] 897 |     fn on_mouse_input(&mut self, window_id: ArenaId<Window>, event: MouseEvent, state: &mut State) {}
[INFO] [stdout]     |                                                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]    --> pge/src/types.rs:898:30
[INFO] [stdout]     |
[INFO] [stdout] 898 |     fn on_focus_lost(&mut self, window_id: ArenaId<Window>, state: &mut State) {}
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> pge/src/types.rs:898:58
[INFO] [stdout]     |
[INFO] [stdout] 898 |     fn on_focus_lost(&mut self, window_id: ArenaId<Window>, state: &mut State) {}
[INFO] [stdout]     |                                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> pge/src/types.rs:901:27
[INFO] [stdout]     |
[INFO] [stdout] 901 |     fn on_process(&mut self, state: &mut State, delta: f32) {}
[INFO] [stdout]     |                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]    --> pge/src/types.rs:901:46
[INFO] [stdout]     |
[INFO] [stdout] 901 |     fn on_process(&mut self, state: &mut State, delta: f32) {}
[INFO] [stdout]     |                                                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> pge/src/types.rs:903:33
[INFO] [stdout]     |
[INFO] [stdout] 903 |     fn on_phycis_update(&mut self, state: &mut State, delta: f32) {}
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]    --> pge/src/types.rs:903:52
[INFO] [stdout]     |
[INFO] [stdout] 903 |     fn on_phycis_update(&mut self, state: &mut State, delta: f32) {}
[INFO] [stdout]     |                                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `floor_id`
[INFO] [stdout]   --> pge/src/tests.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 let floor_id = state.nodes.insert(floor_node);
[INFO] [stdout]    |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_floor_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `floor_id`
[INFO] [stdout]    --> pge/src/tests.rs:100:9
[INFO] [stdout]     |
[INFO] [stdout] 100 |                 let floor_id = state.nodes.insert(floor_node);
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_floor_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]    --> pge/src/wgpu/hardware.rs:330:40
[INFO] [stdout]     |
[INFO] [stdout] 330 |             UserEvent::DestroyWindow { window_id } => {}
[INFO] [stdout]     |                                        ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1159:17
[INFO] [stdout]      |
[INFO] [stdout] 1159 |                 device_id,
[INFO] [stdout]      |                 ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1199:17
[INFO] [stdout]      |
[INFO] [stdout] 1199 |                 device_id,
[INFO] [stdout]      |                 ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1224:17
[INFO] [stdout]      |
[INFO] [stdout] 1224 |                 device_id,
[INFO] [stdout]      |                 ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_synthetic`
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1226:17
[INFO] [stdout]      |
[INFO] [stdout] 1226 |                 is_synthetic,
[INFO] [stdout]      |                 ^^^^^^^^^^^^ help: try ignoring the field: `is_synthetic: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1230:21
[INFO] [stdout]      |
[INFO] [stdout] 1230 |                     location,
[INFO] [stdout]      |                     ^^^^^^^^ help: try ignoring the field: `location: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `center_b`
[INFO] [stdout]    --> pge/src/physics/mod.rs:110:6
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let center_b = [(b.min[0] + b.max[0]) / 2.0, (b.min[1] + b.max[1]) / 2.0, (b.min[2] + b.max[2]) / 2.0];
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_center_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `state`
[INFO] [stdout]    --> pge/src/physics/mod.rs:390:34
[INFO] [stdout]     |
[INFO] [stdout] 390 |     fn detect_collisions(&mut self, state: &mut State, grid: &SpatialGrid) {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> pge/src/spatial_grid.rs:132:7
[INFO] [stdout]     |
[INFO] [stdout] 132 |         let mut current = start;
[INFO] [stdout]     |             ----^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_size1`
[INFO] [stdout]    --> pge/src/collision_detection.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     half_size1: Vec3,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_size1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_size2`
[INFO] [stdout]    --> pge/src/collision_detection.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     half_size2: Vec3,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_size2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> pge/src/text.rs:60:23
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn build_mesh(mut self, rect: Rect) -> Mesh {
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> pge/src/text.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let mut mesh = Mesh::new();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glyphs_count`
[INFO] [stdout]    --> pge/src/text.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let glyphs_count = face.number_of_glyphs();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_glyphs_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> pge/src/text.rs:254:7
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let mut mesh = Mesh::new();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> pge/src/text.rs:253:23
[INFO] [stdout]     |
[INFO] [stdout] 253 |     pub fn render(&self, text: &str) -> Mesh {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `DrawItem` is more private than the item `Lineariser::items`
[INFO] [stdout]    --> pge/src/compositor.rs:217:2
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub items: Vec<DrawItem>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ field `Lineariser::items` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `DrawItem` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> pge/src/compositor.rs:177:1
[INFO] [stdout]     |
[INFO] [stdout] 177 | enum DrawItem {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ParserState` is more private than the item `load_node`
[INFO] [stdout]   --> pge/src/gltf.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn load_node(n: &gltf::Node, buffers: &[Data], state: &mut State, parser_state: &mut ParserState, parent: NodeParent) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `load_node` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ParserState` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> pge/src/gltf.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct ParserState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ParserState` is more private than the item `load_scene`
[INFO] [stdout]    --> pge/src/gltf.rs:139:1
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn load_scene(s: &gltf::Scene, buffers: &[Data], state: &mut State, parser_state: &mut ParserState) -> ArenaId<Scene> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `load_scene` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ParserState` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> pge/src/gltf.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | struct ParserState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ParserState` is more private than the item `load_animation`
[INFO] [stdout]    --> pge/src/gltf.rs:155:1
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn load_animation(anim: &gltf::Animation, buffers: &[Data], state: &mut State, parser_state: &mut ParserState) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `load_animation` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ParserState` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> pge/src/gltf.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | struct ParserState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `wgpu::hardware::UserEvent` is more private than the item `WgpuHardware::new`
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1677:5
[INFO] [stdout]      |
[INFO] [stdout] 1677 | /     pub fn new(
[INFO] [stdout] 1678 | |         proxy: winit::event_loop::EventLoopProxy<UserEvent>,
[INFO] [stdout] 1679 | |         instance: Arc<wgpu::Instance>,
[INFO] [stdout] 1680 | |         adapter: Arc<wgpu::Adapter>,
[INFO] [stdout] 1681 | |         device: Arc<wgpu::Device>,
[INFO] [stdout] 1682 | |         queue: Arc<wgpu::Queue>,
[INFO] [stdout] 1683 | |     ) -> Self {
[INFO] [stdout]      | |_____________^ associated function `WgpuHardware::new` is reachable at visibility `pub(in crate::wgpu)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `wgpu::hardware::UserEvent` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:48:1
[INFO] [stdout]      |
[INFO] [stdout]   48 | enum UserEvent {
[INFO] [stdout]      | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NodeComputedMetadata` is never constructed
[INFO] [stdout]   --> pge/src/engine.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct NodeComputedMetadata {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ascenes` is never read
[INFO] [stdout]    --> pge/src/types.rs:650:2
[INFO] [stdout]     |
[INFO] [stdout] 649 | pub struct Asset {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 650 |     ascenes: Vec<Scene>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `capacity` is never used
[INFO] [stdout]   --> pge/src/buffer.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Buffer {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn capacity(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteCommand` is never constructed
[INFO] [stdout]  --> pge/src/internal_types.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct WriteCommand {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EngineEvent` is never used
[INFO] [stdout]   --> pge/src/internal_types.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum EngineEvent {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/internal_types.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct RawCamera {
[INFO] [stdout]    |            ^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/internal_types.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | / #[repr(C)]
[INFO] [stdout] 32 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 33 | | pub struct RawCamera {
[INFO] [stdout] 34 | |     pub model: [[f32; 4]; 4],
[INFO] [stdout] 35 | |     pub position: [f32; 3],
[INFO] [stdout] 36 | |     pub _padding: f32,
[INFO] [stdout] 37 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/internal_types.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct RawInstance {
[INFO] [stdout]    |            ^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/internal_types.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | / #[repr(C)]
[INFO] [stdout] 40 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable, Debug)]
[INFO] [stdout] 41 | | pub struct RawInstance {
[INFO] [stdout] 42 | |     pub model: [[f32; 4]; 4],
[INFO] [stdout] 43 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/internal_types.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct RawPointLight {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/internal_types.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / #[repr(C)]
[INFO] [stdout] 46 | | #[derive(Debug, Copy, Clone, PartialEq, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 47 | | pub struct RawPointLight {
[INFO] [stdout] 48 | |     pub color_intensity: [f32; 4],
[INFO] [stdout] 49 | |     pub position: [f32; 4],
[INFO] [stdout] 50 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/internal_types.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct RawPointLightBuffer {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/internal_types.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | / #[repr(C)]
[INFO] [stdout] 64 | | #[derive(Debug, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 65 | | pub struct RawPointLightBuffer {
[INFO] [stdout] 66 | |     pub count: u32,
[INFO] [stdout] 67 | |     pub _padding: [u32; 3],
[INFO] [stdout] 68 | |     pub lights: [RawPointLight; MAX_POINT_LIGHTS],
[INFO] [stdout] 69 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/internal_types.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct RawMaterial {
[INFO] [stdout]    |            ^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/internal_types.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | / #[repr(C)]
[INFO] [stdout] 82 | | #[derive(Debug, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 83 | | pub struct RawMaterial {
[INFO] [stdout] 84 | |     pub base_color_factor: [f32; 4], // 16 bytes
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | |     pub _padding: f32,               // 4 bytes to align to 16 bytes
[INFO] [stdout] 91 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyVertex` is never constructed
[INFO] [stdout]   --> pge/src/compositor.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 |             struct MyVertex { position: [f32; 2] }
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Size` is never used
[INFO] [stdout]    --> pge/src/compositor.rs:183:10
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum Size {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_collision` is never used
[INFO] [stdout]    --> pge/src/physics/mod.rs:286:4
[INFO] [stdout]     |
[INFO] [stdout] 286 | fn get_collision(node1: &Node, node2: &Node) -> Option<CollisionInfo> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChangePrinter` is never constructed
[INFO] [stdout]  --> pge/src/debug.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ChangePrinter {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `print`, and `remove` are never used
[INFO] [stdout]   --> pge/src/debug.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl ChangePrinter {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn print(&mut self, slot: u32, new: String) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn remove(&mut self, slot: u32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Surface` is never constructed
[INFO] [stdout]   --> pge/src/hardware.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct Surface {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pipeline` is never constructed
[INFO] [stdout]   --> pge/src/hardware.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Pipeline {}
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create_bind_group` is never used
[INFO] [stdout]  --> pge/src/wgpu/wgpu_types.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait BindableBufferRecipe {
[INFO] [stdout]   |           -------------------- associated function in this trait
[INFO] [stdout] 2 |     fn create_bind_group_layout(device: &wgpu::Device) -> wgpu::BindGroupLayout;
[INFO] [stdout] 3 |     fn create_bind_group(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `WgpuBuffer` is never used
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub trait WgpuBuffer {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `VertexBufferRecipe` is never used
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub trait VertexBufferRecipe {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Vertices {
[INFO] [stdout]    |            ^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | / #[repr(C)]
[INFO] [stdout] 47 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 48 | | pub struct Vertices {
[INFO] [stdout] 49 | |     pub position: [f32; 3],
[INFO] [stdout] 50 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Vertices {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 53 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct Normals {
[INFO] [stdout]    |            ^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / #[repr(C)]
[INFO] [stdout] 73 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 74 | | pub struct Normals {
[INFO] [stdout] 75 | |     normal: [f32; 3],
[INFO] [stdout] 76 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct TexCoords {
[INFO] [stdout]    |            ^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | / #[repr(C)]
[INFO] [stdout] 93 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 94 | | pub struct TexCoords {
[INFO] [stdout] 95 | |     tex_coords: [f32; 2],
[INFO] [stdout] 96 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `desc` is never used
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | impl TexCoords {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 99 |     pub fn desc() -> wgpu::VertexBufferLayout<'static> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct MaterialUniform {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | / #[repr(C)]
[INFO] [stdout] 113 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 114 | | struct MaterialUniform {
[INFO] [stdout] 115 | |     base_color: [f32; 4],
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |     padding: [f32; 2], // Align to 16 bytes
[INFO] [stdout] 119 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct RawCamera {
[INFO] [stdout]     |            ^^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | / #[repr(C)]
[INFO] [stdout] 122 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 123 | | pub struct RawCamera {
[INFO] [stdout] 124 | |     pub model: [[f32; 4]; 4],
[INFO] [stdout] 125 | |     pub position: [f32; 3],
[INFO] [stdout] 126 | |     pub _padding: f32,
[INFO] [stdout] 127 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub struct RawInstance {
[INFO] [stdout]     |            ^^^^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | / #[repr(C)]
[INFO] [stdout] 167 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable, Debug)]
[INFO] [stdout] 168 | | pub struct RawInstance {
[INFO] [stdout] 169 | |     pub model: [[f32; 4]; 4],
[INFO] [stdout] 170 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct Keyframe {
[INFO] [stdout]     |            ^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | / #[repr(C)]
[INFO] [stdout] 209 | | #[derive(Debug, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 210 | | pub struct Keyframe {
[INFO] [stdout] 211 | |     pub value: [[f32; 4]; 4],
[INFO] [stdout] 212 | |     pub is_running: u32,
[INFO] [stdout] 213 | |     pub node_inx: u32,
[INFO] [stdout] 214 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:218:12
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub struct RawPointLight {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:216:1
[INFO] [stdout]     |
[INFO] [stdout] 216 | / #[repr(C)]
[INFO] [stdout] 217 | | #[derive(Debug, Copy, Clone, PartialEq, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 218 | | pub struct RawPointLight {
[INFO] [stdout] 219 | |     pub color_intensity: [f32; 4],
[INFO] [stdout] 220 | |     pub position: [f32; 4],
[INFO] [stdout] 221 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 223 | impl RawPointLight {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 224 |     pub fn new(color: [f32; 3], intensity: f32, position: [f32; 3]) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Colors` is never constructed
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub struct Colors {}
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `desc` is never used
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl Colors {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 272 |     pub fn desc() -> wgpu::VertexBufferLayout<'static> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1652:5
[INFO] [stdout]      |
[INFO] [stdout] 1650 | struct BufferContext {
[INFO] [stdout]      |        ------------- field in this struct
[INFO] [stdout] 1651 |     id: u32,
[INFO] [stdout] 1652 |     name: String,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1660:5
[INFO] [stdout]      |
[INFO] [stdout] 1658 | struct TextureContext {
[INFO] [stdout]      |        -------------- field in this struct
[INFO] [stdout] 1659 |     id: u32,
[INFO] [stdout] 1660 |     texture: wgpu::Texture,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `queue`, `instance`, and `adapter` are never read
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1665:5
[INFO] [stdout]      |
[INFO] [stdout] 1664 | pub struct WgpuHardware {
[INFO] [stdout]      |            ------------ fields in this struct
[INFO] [stdout] 1665 |     device: Arc<wgpu::Device>,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout] 1666 |     queue: Arc<wgpu::Queue>,
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] 1667 |     instance: Arc<wgpu::Instance>,
[INFO] [stdout]      |     ^^^^^^^^
[INFO] [stdout] 1668 |     adapter: Arc<wgpu::Adapter>,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `size`, and `id` are never read
[INFO] [stdout]   --> pge/src/mock_hardware.rs:13:2
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct MockBuffer {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 13 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 14 |     size: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     id: u32,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_axis_aligned` is never used
[INFO] [stdout]  --> pge/src/collision_detection.rs:4:4
[INFO] [stdout]   |
[INFO] [stdout] 4 | fn is_axis_aligned(axis: &Vec3) -> bool {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollisionInfo` is never constructed
[INFO] [stdout]   --> pge/src/collision_detection.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct CollisionInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `obb_collide` is never used
[INFO] [stdout]   --> pge/src/collision_detection.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn obb_collide(
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `compute_contact_point_edge` is never used
[INFO] [stdout]    --> pge/src/collision_detection.rs:196:4
[INFO] [stdout]     |
[INFO] [stdout] 196 | fn compute_contact_point_edge(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `closest_points_on_lines` is never used
[INFO] [stdout]    --> pge/src/collision_detection.rs:222:4
[INFO] [stdout]     |
[INFO] [stdout] 222 | fn closest_points_on_lines(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `basis` is never used
[INFO] [stdout]    --> pge/src/orbit.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl OrbitController {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 166 |     fn basis(&self) -> (Vec3, Vec3, Vec3) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `orbit_rotation` is never used
[INFO] [stdout]    --> pge/src/orbit.rs:174:4
[INFO] [stdout]     |
[INFO] [stdout] 174 | fn orbit_rotation(yaw: f32, pitch: f32) -> Quat {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `orbit_forward` is never used
[INFO] [stdout]    --> pge/src/orbit.rs:181:4
[INFO] [stdout]     |
[INFO] [stdout] 181 | fn orbit_forward(yaw: f32, pitch: f32) -> Vec3 {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `orbit_axes` is never used
[INFO] [stdout]    --> pge/src/orbit.rs:187:4
[INFO] [stdout]     |
[INFO] [stdout] 187 | fn orbit_axes(yaw: f32, forward: Vec3) -> (Vec3, Vec3) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tessellate_quad_bezier` is never used
[INFO] [stdout]    --> pge/src/text.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn tessellate_quad_bezier(x0: f32, y0: f32, x1: f32, y1: f32, x2: f32, y2: f32) -> Vec<[f32; 2]> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tessellate_cubic_bezier` is never used
[INFO] [stdout]    --> pge/src/text.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn tessellate_cubic_bezier(x0: f32, y0: f32, x1: f32, y1: f32, x2: f32, y2: f32, x3: f32, y3: f32) -> Vec<[f32; 2]> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `font`, `font_size`, and `white_space` are never read
[INFO] [stdout]    --> pge/src/text.rs:246:2
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub struct TextRenderer {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 246 |     font: FontMesh,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 247 |     font_size: u32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 248 |     white_space: WhiteSpace,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]  --> pge/src/hardware.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn create_buffer(&mut self, name: &str, size: u64) -> BufferHandle { unimplemented!() }
[INFO] [stdout]   |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Ixx` should have a snake case name
[INFO] [stdout]    --> pge/src/types.rs:420:21
[INFO] [stdout]     |
[INFO] [stdout] 420 |                 let Ixx = (1.0 / 12.0) * (height.powi(2) + depth.powi(2));
[INFO] [stdout]     |                     ^^^ help: convert the identifier to snake case (notice the capitalization): `ixx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Iyy` should have a snake case name
[INFO] [stdout]    --> pge/src/types.rs:421:21
[INFO] [stdout]     |
[INFO] [stdout] 421 |                 let Iyy = (1.0 / 12.0) * (width.powi(2) + depth.powi(2));
[INFO] [stdout]     |                     ^^^ help: convert the identifier to snake case (notice the capitalization): `iyy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Izz` should have a snake case name
[INFO] [stdout]    --> pge/src/types.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let Izz = (1.0 / 12.0) * (width.powi(2) + height.powi(2));
[INFO] [stdout]     |                     ^^^ help: convert the identifier to snake case (notice the capitalization): `izz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]  --> pge/src/hardware.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn create_buffer(&mut self, name: &str, size: u64) -> BufferHandle { unimplemented!() }
[INFO] [stdout]   |                                             ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]  --> pge/src/hardware.rs:9:31
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn destroy_buffer(&mut self, handle: BufferHandle) { unimplemented!() }
[INFO] [stdout]   |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> pge/src/hardware.rs:10:34
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn create_texture(&mut self, name: &str, data: &[u8], width: u32, height: u32) -> TextureHandle { unimplemented!() }
[INFO] [stdout]    |                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> pge/src/hardware.rs:10:46
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn create_texture(&mut self, name: &str, data: &[u8], width: u32, height: u32) -> TextureHandle { unimplemented!() }
[INFO] [stdout]    |                                              ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `width`
[INFO] [stdout]   --> pge/src/hardware.rs:10:59
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn create_texture(&mut self, name: &str, data: &[u8], width: u32, height: u32) -> TextureHandle { unimplemented!() }
[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]   --> pge/src/hardware.rs:10:71
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn create_texture(&mut self, name: &str, data: &[u8], width: u32, height: u32) -> TextureHandle { unimplemented!() }
[INFO] [stdout]    |                                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> pge/src/hardware.rs:11:35
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn create_pipeline(&mut self, name: &str, window: WindowHandle) -> PipelineHandle { unimplemented!() }
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> pge/src/hardware.rs:11:47
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn create_pipeline(&mut self, name: &str, window: WindowHandle) -> PipelineHandle { unimplemented!() }
[INFO] [stdout]    |                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `encoder`
[INFO] [stdout]   --> pge/src/hardware.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn render(&mut self, encoder: RenderEncoder, window: WindowHandle) { unimplemented!() }
[INFO] [stdout]    |                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_encoder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> pge/src/hardware.rs:12:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn render(&mut self, encoder: RenderEncoder, window: WindowHandle) { unimplemented!() }
[INFO] [stdout]    |                                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> pge/src/hardware.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn create_window(&mut self, window: &Window) -> WindowHandle { unimplemented!() }
[INFO] [stdout]    |                                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]   --> pge/src/hardware.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn destroy_window(&mut self, handle: WindowHandle) { unimplemented!() }
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buffer`
[INFO] [stdout]   --> pge/src/hardware.rs:15:29
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn write_buffer(&mut self, buffer: BufferHandle, data: &[u8]) { unimplemented!() }
[INFO] [stdout]    |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_buffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> pge/src/hardware.rs:15:51
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn write_buffer(&mut self, buffer: BufferHandle, data: &[u8]) { unimplemented!() }
[INFO] [stdout]    |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window`
[INFO] [stdout]   --> pge/src/hardware.rs:16:32
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn save_screenshot(&mut self, window: WindowHandle, path: &str) { unimplemented!() }
[INFO] [stdout]    |                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_window`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]   --> pge/src/hardware.rs:16:54
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn save_screenshot(&mut self, window: WindowHandle, path: &str) { unimplemented!() }
[INFO] [stdout]    |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> pge/src/arena.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn iter(&self) -> ArenaIterator<T> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn iter(&self) -> ArenaIterator<'_, T> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> pge/src/arena.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn iter_mut(&mut self) -> ArenaIterMut<T> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn iter_mut(&mut self) -> ArenaIterMut<'_, T> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1701:9
[INFO] [stdout]      |
[INFO] [stdout] 1701 | /         self.proxy.send_event(UserEvent::CreateBuffer {
[INFO] [stdout] 1702 | |             name: name.to_string(),
[INFO] [stdout] 1703 | |             buffer_id,
[INFO] [stdout] 1704 | |             size,
[INFO] [stdout] 1705 | |         });
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1701 |         let _ = self.proxy.send_event(UserEvent::CreateBuffer {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1714:9
[INFO] [stdout]      |
[INFO] [stdout] 1714 | /         self.proxy.send_event(UserEvent::DestroyBuffer {
[INFO] [stdout] 1715 | |             buffer_id: handle.id,
[INFO] [stdout] 1716 | |         });
[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] 1714 |         let _ = self.proxy.send_event(UserEvent::DestroyBuffer {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1727:9
[INFO] [stdout]      |
[INFO] [stdout] 1727 | /         self.proxy.send_event(UserEvent::CreateTexture {
[INFO] [stdout] 1728 | |             texture_id,
[INFO] [stdout] 1729 | |             name: name.to_string(),
[INFO] [stdout] 1730 | |             data: data.to_vec(),
[INFO] [stdout] 1731 | |             width,
[INFO] [stdout] 1732 | |             height,
[INFO] [stdout] 1733 | |         });
[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] 1727 |         let _ = self.proxy.send_event(UserEvent::CreateTexture {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1750:9
[INFO] [stdout]      |
[INFO] [stdout] 1750 |         self.proxy.send_event(UserEvent::CreateWindow(args));
[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] 1750 |         let _ = self.proxy.send_event(UserEvent::CreateWindow(args));
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1756:9
[INFO] [stdout]      |
[INFO] [stdout] 1756 | /         self.proxy.send_event(UserEvent::DestroyWindow {
[INFO] [stdout] 1757 | |             window_id: handle.id,
[INFO] [stdout] 1758 | |         });
[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] 1756 |         let _ = self.proxy.send_event(UserEvent::DestroyWindow {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1763:9
[INFO] [stdout]      |
[INFO] [stdout] 1763 | /         self.proxy.send_event(UserEvent::CreatePipeline {
[INFO] [stdout] 1764 | |             window,
[INFO] [stdout] 1765 | |             name: name.to_string(),
[INFO] [stdout] 1766 | |             pipeline_id,
[INFO] [stdout] 1767 | |         });
[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] 1763 |         let _ = self.proxy.send_event(UserEvent::CreatePipeline {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1773:9
[INFO] [stdout]      |
[INFO] [stdout] 1773 | /         self.proxy.send_event(UserEvent::WriteBuffer {
[INFO] [stdout] 1774 | |             buffer,
[INFO] [stdout] 1775 | |             data: data.to_vec(),
[INFO] [stdout] 1776 | |         });
[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] 1773 |         let _ = self.proxy.send_event(UserEvent::WriteBuffer {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1780:9
[INFO] [stdout]      |
[INFO] [stdout] 1780 |         self.proxy.send_event(UserEvent::Render { window, encoder });
[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] 1780 |         let _ = self.proxy.send_event(UserEvent::Render { window, encoder });
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1784:9
[INFO] [stdout]      |
[INFO] [stdout] 1784 | /         self.proxy.send_event(UserEvent::SaveScreenshot {
[INFO] [stdout] 1785 | |             window,
[INFO] [stdout] 1786 | |             path: path.to_string(),
[INFO] [stdout] 1787 | |         });
[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] 1784 |         let _ = self.proxy.send_event(UserEvent::SaveScreenshot {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `chars` should have an upper case name
[INFO] [stdout]    --> pge/src/text.rs:148:7
[INFO] [stdout]     |
[INFO] [stdout] 148 | const chars : [char; 95] = [
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 148 - const chars : [char; 95] = [
[INFO] [stdout] 148 + const CHARS : [char; 95] = [
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cube v0.1.0 (/opt/rustwide/workdir/examples/cube)
[INFO] [stderr]     Checking event_sender v0.1.0 (/opt/rustwide/workdir/examples/event_sender)
[INFO] [stderr]     Checking ui v0.1.0 (/opt/rustwide/workdir/examples/ui)
[INFO] [stderr]     Checking fps v0.1.0 (/opt/rustwide/workdir/examples/fps)
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]    --> pge/src/wgpu/hardware.rs:330:40
[INFO] [stdout]     |
[INFO] [stdout] 330 |             UserEvent::DestroyWindow { window_id } => {}
[INFO] [stdout]     |                                        ^^^^^^^^^ help: try ignoring the field: `window_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1159:17
[INFO] [stdout]      |
[INFO] [stdout] 1159 |                 device_id,
[INFO] [stdout]      |                 ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1199:17
[INFO] [stdout]      |
[INFO] [stdout] 1199 |                 device_id,
[INFO] [stdout]      |                 ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `device_id`
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1224:17
[INFO] [stdout]      |
[INFO] [stdout] 1224 |                 device_id,
[INFO] [stdout]      |                 ^^^^^^^^^ help: try ignoring the field: `device_id: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_synthetic`
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1226:17
[INFO] [stdout]      |
[INFO] [stdout] 1226 |                 is_synthetic,
[INFO] [stdout]      |                 ^^^^^^^^^^^^ help: try ignoring the field: `is_synthetic: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1230:21
[INFO] [stdout]      |
[INFO] [stdout] 1230 |                     location,
[INFO] [stdout]      |                     ^^^^^^^^ help: try ignoring the field: `location: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_size1`
[INFO] [stdout]    --> pge/src/collision_detection.rs:199:5
[INFO] [stdout]     |
[INFO] [stdout] 199 |     half_size1: Vec3,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_size1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_size2`
[INFO] [stdout]    --> pge/src/collision_detection.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout] 203 |     half_size2: Vec3,
[INFO] [stdout]     |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_half_size2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `child3`
[INFO] [stdout]   --> pge/src/utility.rs:65:7
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let child3 = nodes.insert(Node {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_child3`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> pge/src/text.rs:60:23
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn build_mesh(mut self, rect: Rect) -> Mesh {
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> pge/src/text.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 |         let mut mesh = Mesh::new();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `glyphs_count`
[INFO] [stdout]    --> pge/src/text.rs:168:13
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let glyphs_count = face.number_of_glyphs();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_glyphs_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> pge/src/text.rs:254:7
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let mut mesh = Mesh::new();
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `text`
[INFO] [stdout]    --> pge/src/text.rs:253:23
[INFO] [stdout]     |
[INFO] [stdout] 253 |     pub fn render(&self, text: &str) -> Mesh {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_text`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `compositor::DrawItem` is more private than the item `compositor::Lineariser::items`
[INFO] [stdout]    --> pge/src/compositor.rs:217:2
[INFO] [stdout]     |
[INFO] [stdout] 217 |     pub items: Vec<DrawItem>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^ field `compositor::Lineariser::items` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `compositor::DrawItem` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> pge/src/compositor.rs:177:1
[INFO] [stdout]     |
[INFO] [stdout] 177 | enum DrawItem {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ParserState` is more private than the item `load_node`
[INFO] [stdout]   --> pge/src/gltf.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn load_node(n: &gltf::Node, buffers: &[Data], state: &mut State, parser_state: &mut ParserState, parent: NodeParent) {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `load_node` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `ParserState` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> pge/src/gltf.rs:30:1
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct ParserState {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ParserState` is more private than the item `load_scene`
[INFO] [stdout]    --> pge/src/gltf.rs:139:1
[INFO] [stdout]     |
[INFO] [stdout] 139 | pub fn load_scene(s: &gltf::Scene, buffers: &[Data], state: &mut State, parser_state: &mut ParserState) -> ArenaId<Scene> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `load_scene` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ParserState` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> pge/src/gltf.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | struct ParserState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ParserState` is more private than the item `load_animation`
[INFO] [stdout]    --> pge/src/gltf.rs:155:1
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub fn load_animation(anim: &gltf::Animation, buffers: &[Data], state: &mut State, parser_state: &mut ParserState) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `load_animation` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `ParserState` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> pge/src/gltf.rs:30:1
[INFO] [stdout]     |
[INFO] [stdout]  30 | struct ParserState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `wgpu::hardware::UserEvent` is more private than the item `WgpuHardware::new`
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1677:5
[INFO] [stdout]      |
[INFO] [stdout] 1677 | /     pub fn new(
[INFO] [stdout] 1678 | |         proxy: winit::event_loop::EventLoopProxy<UserEvent>,
[INFO] [stdout] 1679 | |         instance: Arc<wgpu::Instance>,
[INFO] [stdout] 1680 | |         adapter: Arc<wgpu::Adapter>,
[INFO] [stdout] 1681 | |         device: Arc<wgpu::Device>,
[INFO] [stdout] 1682 | |         queue: Arc<wgpu::Queue>,
[INFO] [stdout] 1683 | |     ) -> Self {
[INFO] [stdout]      | |_____________^ associated function `WgpuHardware::new` is reachable at visibility `pub(in crate::wgpu)`
[INFO] [stdout]      |
[INFO] [stdout] note: but type `wgpu::hardware::UserEvent` is only usable at visibility `pub(self)`
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:48:1
[INFO] [stdout]      |
[INFO] [stdout]   48 | enum UserEvent {
[INFO] [stdout]      | ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NodeComputedMetadata` is never constructed
[INFO] [stdout]   --> pge/src/engine.rs:83:8
[INFO] [stdout]    |
[INFO] [stdout] 83 | struct NodeComputedMetadata {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ascenes` is never read
[INFO] [stdout]    --> pge/src/types.rs:650:2
[INFO] [stdout]     |
[INFO] [stdout] 649 | pub struct Asset {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 650 |     ascenes: Vec<Scene>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteCommand` is never constructed
[INFO] [stdout]  --> pge/src/internal_types.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct WriteCommand {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EngineEvent` is never used
[INFO] [stdout]   --> pge/src/internal_types.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum EngineEvent {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/internal_types.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct RawCamera {
[INFO] [stdout]    |            ^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/internal_types.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | / #[repr(C)]
[INFO] [stdout] 32 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 33 | | pub struct RawCamera {
[INFO] [stdout] 34 | |     pub model: [[f32; 4]; 4],
[INFO] [stdout] 35 | |     pub position: [f32; 3],
[INFO] [stdout] 36 | |     pub _padding: f32,
[INFO] [stdout] 37 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/internal_types.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct RawInstance {
[INFO] [stdout]    |            ^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/internal_types.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | / #[repr(C)]
[INFO] [stdout] 40 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable, Debug)]
[INFO] [stdout] 41 | | pub struct RawInstance {
[INFO] [stdout] 42 | |     pub model: [[f32; 4]; 4],
[INFO] [stdout] 43 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/internal_types.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct RawPointLight {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/internal_types.rs:45:1
[INFO] [stdout]    |
[INFO] [stdout] 45 | / #[repr(C)]
[INFO] [stdout] 46 | | #[derive(Debug, Copy, Clone, PartialEq, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 47 | | pub struct RawPointLight {
[INFO] [stdout] 48 | |     pub color_intensity: [f32; 4],
[INFO] [stdout] 49 | |     pub position: [f32; 4],
[INFO] [stdout] 50 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/internal_types.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub struct RawPointLightBuffer {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/internal_types.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | / #[repr(C)]
[INFO] [stdout] 64 | | #[derive(Debug, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 65 | | pub struct RawPointLightBuffer {
[INFO] [stdout] 66 | |     pub count: u32,
[INFO] [stdout] 67 | |     pub _padding: [u32; 3],
[INFO] [stdout] 68 | |     pub lights: [RawPointLight; MAX_POINT_LIGHTS],
[INFO] [stdout] 69 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/internal_types.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct RawMaterial {
[INFO] [stdout]    |            ^^^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/internal_types.rs:81:1
[INFO] [stdout]    |
[INFO] [stdout] 81 | / #[repr(C)]
[INFO] [stdout] 82 | | #[derive(Debug, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 83 | | pub struct RawMaterial {
[INFO] [stdout] 84 | |     pub base_color_factor: [f32; 4], // 16 bytes
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | |     pub _padding: f32,               // 4 bytes to align to 16 bytes
[INFO] [stdout] 91 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MyVertex` is never constructed
[INFO] [stdout]   --> pge/src/compositor.rs:77:11
[INFO] [stdout]    |
[INFO] [stdout] 77 |             struct MyVertex { position: [f32; 2] }
[INFO] [stdout]    |                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Size` is never used
[INFO] [stdout]    --> pge/src/compositor.rs:183:10
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum Size {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_collision` is never used
[INFO] [stdout]    --> pge/src/physics/mod.rs:286:4
[INFO] [stdout]     |
[INFO] [stdout] 286 | fn get_collision(node1: &Node, node2: &Node) -> Option<CollisionInfo> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChangePrinter` is never constructed
[INFO] [stdout]  --> pge/src/debug.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ChangePrinter {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `print`, and `remove` are never used
[INFO] [stdout]   --> pge/src/debug.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl ChangePrinter {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 10 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn print(&mut self, slot: u32, new: String) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn remove(&mut self, slot: u32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Surface` is never constructed
[INFO] [stdout]   --> pge/src/hardware.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct Surface {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pipeline` is never constructed
[INFO] [stdout]   --> pge/src/hardware.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct Pipeline {}
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create_bind_group` is never used
[INFO] [stdout]  --> pge/src/wgpu/wgpu_types.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait BindableBufferRecipe {
[INFO] [stdout]   |           -------------------- associated function in this trait
[INFO] [stdout] 2 |     fn create_bind_group_layout(device: &wgpu::Device) -> wgpu::BindGroupLayout;
[INFO] [stdout] 3 |     fn create_bind_group(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `WgpuBuffer` is never used
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:38:11
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub trait WgpuBuffer {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `VertexBufferRecipe` is never used
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:42:11
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub trait VertexBufferRecipe {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct Vertices {
[INFO] [stdout]    |            ^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:46:1
[INFO] [stdout]    |
[INFO] [stdout] 46 | / #[repr(C)]
[INFO] [stdout] 47 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 48 | | pub struct Vertices {
[INFO] [stdout] 49 | |     pub position: [f32; 3],
[INFO] [stdout] 50 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Vertices {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 53 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | pub struct Normals {
[INFO] [stdout]    |            ^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:72:1
[INFO] [stdout]    |
[INFO] [stdout] 72 | / #[repr(C)]
[INFO] [stdout] 73 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 74 | | pub struct Normals {
[INFO] [stdout] 75 | |     normal: [f32; 3],
[INFO] [stdout] 76 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct TexCoords {
[INFO] [stdout]    |            ^^^^^^^^^ field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | / #[repr(C)]
[INFO] [stdout] 93 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 94 | | pub struct TexCoords {
[INFO] [stdout] 95 | |     tex_coords: [f32; 2],
[INFO] [stdout] 96 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `desc` is never used
[INFO] [stdout]   --> pge/src/wgpu/wgpu_types.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 98 | impl TexCoords {
[INFO] [stdout]    | -------------- associated function in this implementation
[INFO] [stdout] 99 |     pub fn desc() -> wgpu::VertexBufferLayout<'static> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:114:8
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct MaterialUniform {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | / #[repr(C)]
[INFO] [stdout] 113 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 114 | | struct MaterialUniform {
[INFO] [stdout] 115 | |     base_color: [f32; 4],
[INFO] [stdout] ...   |
[INFO] [stdout] 118 | |     padding: [f32; 2], // Align to 16 bytes
[INFO] [stdout] 119 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:123:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct RawCamera {
[INFO] [stdout]     |            ^^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:121:1
[INFO] [stdout]     |
[INFO] [stdout] 121 | / #[repr(C)]
[INFO] [stdout] 122 | | #[derive(Copy, Clone, Debug, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 123 | | pub struct RawCamera {
[INFO] [stdout] 124 | |     pub model: [[f32; 4]; 4],
[INFO] [stdout] 125 | |     pub position: [f32; 3],
[INFO] [stdout] 126 | |     pub _padding: f32,
[INFO] [stdout] 127 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub struct RawInstance {
[INFO] [stdout]     |            ^^^^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | / #[repr(C)]
[INFO] [stdout] 167 | | #[derive(Copy, Clone, bytemuck::Pod, bytemuck::Zeroable, Debug)]
[INFO] [stdout] 168 | | pub struct RawInstance {
[INFO] [stdout] 169 | |     pub model: [[f32; 4]; 4],
[INFO] [stdout] 170 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:210:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | pub struct Keyframe {
[INFO] [stdout]     |            ^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:208:1
[INFO] [stdout]     |
[INFO] [stdout] 208 | / #[repr(C)]
[INFO] [stdout] 209 | | #[derive(Debug, Copy, Clone, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 210 | | pub struct Keyframe {
[INFO] [stdout] 211 | |     pub value: [[f32; 4]; 4],
[INFO] [stdout] 212 | |     pub is_running: u32,
[INFO] [stdout] 213 | |     pub node_inx: u32,
[INFO] [stdout] 214 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:218:12
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub struct RawPointLight {
[INFO] [stdout]     |            ^^^^^^^^^^^^^ field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider removing this field
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:216:1
[INFO] [stdout]     |
[INFO] [stdout] 216 | / #[repr(C)]
[INFO] [stdout] 217 | | #[derive(Debug, Copy, Clone, PartialEq, bytemuck::Pod, bytemuck::Zeroable)]
[INFO] [stdout] 218 | | pub struct RawPointLight {
[INFO] [stdout] 219 | |     pub color_intensity: [f32; 4],
[INFO] [stdout] 220 | |     pub position: [f32; 4],
[INFO] [stdout] 221 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:224:12
[INFO] [stdout]     |
[INFO] [stdout] 223 | impl RawPointLight {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] 224 |     pub fn new(color: [f32; 3], intensity: f32, position: [f32; 3]) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Colors` is never constructed
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:269:12
[INFO] [stdout]     |
[INFO] [stdout] 269 | pub struct Colors {}
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `desc` is never used
[INFO] [stdout]    --> pge/src/wgpu/wgpu_types.rs:272:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | impl Colors {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] 272 |     pub fn desc() -> wgpu::VertexBufferLayout<'static> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1652:5
[INFO] [stdout]      |
[INFO] [stdout] 1650 | struct BufferContext {
[INFO] [stdout]      |        ------------- field in this struct
[INFO] [stdout] 1651 |     id: u32,
[INFO] [stdout] 1652 |     name: String,
[INFO] [stdout]      |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1660:5
[INFO] [stdout]      |
[INFO] [stdout] 1658 | struct TextureContext {
[INFO] [stdout]      |        -------------- field in this struct
[INFO] [stdout] 1659 |     id: u32,
[INFO] [stdout] 1660 |     texture: wgpu::Texture,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `device`, `queue`, `instance`, and `adapter` are never read
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1665:5
[INFO] [stdout]      |
[INFO] [stdout] 1664 | pub struct WgpuHardware {
[INFO] [stdout]      |            ------------ fields in this struct
[INFO] [stdout] 1665 |     device: Arc<wgpu::Device>,
[INFO] [stdout]      |     ^^^^^^
[INFO] [stdout] 1666 |     queue: Arc<wgpu::Queue>,
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] 1667 |     instance: Arc<wgpu::Instance>,
[INFO] [stdout]      |     ^^^^^^^^
[INFO] [stdout] 1668 |     adapter: Arc<wgpu::Adapter>,
[INFO] [stdout]      |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `size`, and `id` are never read
[INFO] [stdout]   --> pge/src/mock_hardware.rs:13:2
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct MockBuffer {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 13 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 14 |     size: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 15 |     id: u32,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `FaceA` and `FaceB` are never constructed
[INFO] [stdout]   --> pge/src/collision_detection.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     enum AxisType {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 56 |         FaceA(usize),
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 57 |         FaceB(usize),
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `basis` is never used
[INFO] [stdout]    --> pge/src/orbit.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout]  63 | impl OrbitController {
[INFO] [stdout]     | -------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 166 |     fn basis(&self) -> (Vec3, Vec3, Vec3) {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tessellate_quad_bezier` is never used
[INFO] [stdout]    --> pge/src/text.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn tessellate_quad_bezier(x0: f32, y0: f32, x1: f32, y1: f32, x2: f32, y2: f32) -> Vec<[f32; 2]> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/fps/src/main.rs:131:7
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tessellate_cubic_bezier` is never used
[INFO] [stdout]    --> pge/src/text.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn tessellate_cubic_bezier(x0: f32, y0: f32, x1: f32, y1: f32, x2: f32, y2: f32, x3: f32, y3: f32) -> Vec<[f32; 2]> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `font`, `font_size`, and `white_space` are never read
[INFO] [stdout]    --> pge/src/text.rs:246:2
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub struct TextRenderer {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 246 |     font: FontMesh,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 247 |     font_size: u32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 248 |     white_space: WhiteSpace,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Ixx` should have a snake case name
[INFO] [stdout]    --> pge/src/types.rs:420:21
[INFO] [stdout]     |
[INFO] [stdout] 420 |                 let Ixx = (1.0 / 12.0) * (height.powi(2) + depth.powi(2));
[INFO] [stdout]     |                     ^^^ help: convert the identifier to snake case (notice the capitalization): `ixx`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Iyy` should have a snake case name
[INFO] [stdout]    --> pge/src/types.rs:421:21
[INFO] [stdout]     |
[INFO] [stdout] 421 |                 let Iyy = (1.0 / 12.0) * (width.powi(2) + depth.powi(2));
[INFO] [stdout]     |                     ^^^ help: convert the identifier to snake case (notice the capitalization): `iyy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Izz` should have a snake case name
[INFO] [stdout]    --> pge/src/types.rs:422:21
[INFO] [stdout]     |
[INFO] [stdout] 422 |                 let Izz = (1.0 / 12.0) * (width.powi(2) + height.powi(2));
[INFO] [stdout]     |                     ^^^ help: convert the identifier to snake case (notice the capitalization): `izz`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> examples/fps/src/main.rs:359:8
[INFO] [stdout]     |
[INFO] [stdout] 359 |         for (node_id, node) in &mut state.nodes.iter_mut() {
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> examples/fps/src/main.rs:484:8
[INFO] [stdout]     |
[INFO] [stdout] 484 |             let node_id = state.nodes.insert(cube_node);
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]    --> examples/fps/src/main.rs:503:34
[INFO] [stdout]     |
[INFO] [stdout] 503 |     fn on_keyboard_input(&mut self, window_id: ArenaId<Window>, key: KeyboardKey, action: KeyAction, state: &mut State) {
[INFO] [stdout]     |                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> pge/src/arena.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn iter(&self) -> ArenaIterator<T> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub fn iter(&self) -> ArenaIterator<'_, T> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> pge/src/arena.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn iter_mut(&mut self) -> ArenaIterMut<T> {
[INFO] [stdout]     |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn iter_mut(&mut self) -> ArenaIterMut<'_, T> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> examples/fps/src/main.rs:541:7
[INFO] [stdout]     |
[INFO] [stdout] 541 |         let player = match self.player_id {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1701:9
[INFO] [stdout]      |
[INFO] [stdout] 1701 | /         self.proxy.send_event(UserEvent::CreateBuffer {
[INFO] [stdout] 1702 | |             name: name.to_string(),
[INFO] [stdout] 1703 | |             buffer_id,
[INFO] [stdout] 1704 | |             size,
[INFO] [stdout] 1705 | |         });
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1701 |         let _ = self.proxy.send_event(UserEvent::CreateBuffer {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1714:9
[INFO] [stdout]      |
[INFO] [stdout] 1714 | /         self.proxy.send_event(UserEvent::DestroyBuffer {
[INFO] [stdout] 1715 | |             buffer_id: handle.id,
[INFO] [stdout] 1716 | |         });
[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] 1714 |         let _ = self.proxy.send_event(UserEvent::DestroyBuffer {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1727:9
[INFO] [stdout]      |
[INFO] [stdout] 1727 | /         self.proxy.send_event(UserEvent::CreateTexture {
[INFO] [stdout] 1728 | |             texture_id,
[INFO] [stdout] 1729 | |             name: name.to_string(),
[INFO] [stdout] 1730 | |             data: data.to_vec(),
[INFO] [stdout] 1731 | |             width,
[INFO] [stdout] 1732 | |             height,
[INFO] [stdout] 1733 | |         });
[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] 1727 |         let _ = self.proxy.send_event(UserEvent::CreateTexture {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1750:9
[INFO] [stdout]      |
[INFO] [stdout] 1750 |         self.proxy.send_event(UserEvent::CreateWindow(args));
[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] 1750 |         let _ = self.proxy.send_event(UserEvent::CreateWindow(args));
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1756:9
[INFO] [stdout]      |
[INFO] [stdout] 1756 | /         self.proxy.send_event(UserEvent::DestroyWindow {
[INFO] [stdout] 1757 | |             window_id: handle.id,
[INFO] [stdout] 1758 | |         });
[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] 1756 |         let _ = self.proxy.send_event(UserEvent::DestroyWindow {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1763:9
[INFO] [stdout]      |
[INFO] [stdout] 1763 | /         self.proxy.send_event(UserEvent::CreatePipeline {
[INFO] [stdout] 1764 | |             window,
[INFO] [stdout] 1765 | |             name: name.to_string(),
[INFO] [stdout] 1766 | |             pipeline_id,
[INFO] [stdout] 1767 | |         });
[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] 1763 |         let _ = self.proxy.send_event(UserEvent::CreatePipeline {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1773:9
[INFO] [stdout]      |
[INFO] [stdout] 1773 | /         self.proxy.send_event(UserEvent::WriteBuffer {
[INFO] [stdout] 1774 | |             buffer,
[INFO] [stdout] 1775 | |             data: data.to_vec(),
[INFO] [stdout] 1776 | |         });
[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] 1773 |         let _ = self.proxy.send_event(UserEvent::WriteBuffer {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1780:9
[INFO] [stdout]      |
[INFO] [stdout] 1780 |         self.proxy.send_event(UserEvent::Render { window, encoder });
[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] 1780 |         let _ = self.proxy.send_event(UserEvent::Render { window, encoder });
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]     --> pge/src/wgpu/hardware.rs:1784:9
[INFO] [stdout]      |
[INFO] [stdout] 1784 | /         self.proxy.send_event(UserEvent::SaveScreenshot {
[INFO] [stdout] 1785 | |             window,
[INFO] [stdout] 1786 | |             path: path.to_string(),
[INFO] [stdout] 1787 | |         });
[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] 1784 |         let _ = self.proxy.send_event(UserEvent::SaveScreenshot {
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `chars` should have an upper case name
[INFO] [stdout]    --> pge/src/text.rs:148:7
[INFO] [stdout]     |
[INFO] [stdout] 148 | const chars : [char; 95] = [
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]     |
[INFO] [stdout] 148 - const chars : [char; 95] = [
[INFO] [stdout] 148 + const CHARS : [char; 95] = [
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `speed` is never read
[INFO] [stdout]    --> examples/fps/src/main.rs:106:2
[INFO] [stdout]     |
[INFO] [stdout]  96 | pub struct FpsShooter {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     speed: f32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking pge_editor v0.1.0 (/opt/rustwide/workdir/editor)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> examples/fps/src/main.rs:131:7
[INFO] [stdout]     |
[INFO] [stdout] 131 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> examples/fps/src/main.rs:359:8
[INFO] [stdout]     |
[INFO] [stdout] 359 |         for (node_id, node) in &mut state.nodes.iter_mut() {
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_id`
[INFO] [stdout]    --> examples/fps/src/main.rs:484:8
[INFO] [stdout]     |
[INFO] [stdout] 484 |             let node_id = state.nodes.insert(cube_node);
[INFO] [stdout]     |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `window_id`
[INFO] [stdout]    --> examples/fps/src/main.rs:503:34
[INFO] [stdout]     |
[INFO] [stdout] 503 |     fn on_keyboard_input(&mut self, window_id: ArenaId<Window>, key: KeyboardKey, action: KeyAction, state: &mut State) {
[INFO] [stdout]     |                                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_window_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> examples/fps/src/main.rs:541:7
[INFO] [stdout]     |
[INFO] [stdout] 541 |         let player = match self.player_id {
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `speed` is never read
[INFO] [stdout]    --> examples/fps/src/main.rs:106:2
[INFO] [stdout]     |
[INFO] [stdout]  96 | pub struct FpsShooter {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |     speed: f32,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking puppyarm v0.1.0 (/opt/rustwide/workdir/examples/puppyarm)
[INFO] [stdout] warning: unused import: `criterion_main`
[INFO] [stdout]  --> pge/benches/process_nodes.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use criterion::{criterion_group, criterion_main, Criterion};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TogglePause` is never constructed
[INFO] [stdout]  --> examples/event_sender/src/main.rs:9:2
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum ControlEvent {
[INFO] [stdout]   |      ------------ variant in this enum
[INFO] [stdout] 8 |     AddCube,
[INFO] [stdout] 9 |     TogglePause,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ControlEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TogglePause` is never constructed
[INFO] [stdout]  --> examples/event_sender/src/main.rs:9:2
[INFO] [stdout]   |
[INFO] [stdout] 7 | enum ControlEvent {
[INFO] [stdout]   |      ------------ variant in this enum
[INFO] [stdout] 8 |     AddCube,
[INFO] [stdout] 9 |     TogglePause,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ControlEvent` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> pge/benches/process_nodes.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut scene = Scene::default();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `criterion_main`
[INFO] [stdout]  --> pge/benches/process_nodes.rs:1:34
[INFO] [stdout]   |
[INFO] [stdout] 1 | use criterion::{criterion_group, criterion_main, Criterion};
[INFO] [stdout]   |                                  ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> pge/benches/process_nodes.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut scene = Scene::default();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 55s
[INFO] running `Command { std: "docker" "inspect" "c6701bf6bf7b709141099c66cb642594d6ea9d62ff890afc08102060a925742b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c6701bf6bf7b709141099c66cb642594d6ea9d62ff890afc08102060a925742b", kill_on_drop: false }`
[INFO] [stdout] c6701bf6bf7b709141099c66cb642594d6ea9d62ff890afc08102060a925742b
