[INFO] cloning repository https://github.com/sudokatie/permafrost
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sudokatie/permafrost" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsudokatie%2Fpermafrost", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsudokatie%2Fpermafrost'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 78ba725e938b8f93326eb0566787bd06595625f8
[INFO] checking sudokatie/permafrost against master#31a9463c6e2794a59ce57a8f37abc6966afc2a58 for pr-149045
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsudokatie%2Fpermafrost" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sudokatie/permafrost
[INFO] finished tweaking git repo https://github.com/sudokatie/permafrost
[INFO] tweaked toml for git repo https://github.com/sudokatie/permafrost written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sudokatie/permafrost on toolchain 31a9463c6e2794a59ce57a8f37abc6966afc2a58
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+31a9463c6e2794a59ce57a8f37abc6966afc2a58" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sudokatie/permafrost 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" "+31a9463c6e2794a59ce57a8f37abc6966afc2a58" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded lz4_flex v0.11.6
[INFO] [stderr]   Downloaded puffin v0.19.1
[INFO] [stderr]   Downloaded renet v0.0.16
[INFO] [stderr]   Downloaded renetcode v0.0.12
[INFO] [stderr]   Downloaded hecs v0.10.5
[INFO] [stderr]   Downloaded egui-winit v0.30.0
[INFO] [stderr]   Downloaded ecolor v0.30.0
[INFO] [stderr]   Downloaded emath v0.30.0
[INFO] [stderr]   Downloaded epaint v0.30.0
[INFO] [stderr]   Downloaded egui v0.30.0
[INFO] [stderr]   Downloaded egui-wgpu v0.30.0
[INFO] [stderr]   Downloaded epaint_default_fonts v0.30.0
[INFO] [stderr]   Downloaded kira v0.9.6
[INFO] [stderr]   Downloaded triple_buffer v8.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+31a9463c6e2794a59ce57a8f37abc6966afc2a58" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a38ce5520b495bb2d395750215e313ad548725e6276b27df46a3974e34e48140
[INFO] running `Command { std: "docker" "start" "-a" "a38ce5520b495bb2d395750215e313ad548725e6276b27df46a3974e34e48140", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a38ce5520b495bb2d395750215e313ad548725e6276b27df46a3974e34e48140", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a38ce5520b495bb2d395750215e313ad548725e6276b27df46a3974e34e48140", kill_on_drop: false }`
[INFO] [stdout] a38ce5520b495bb2d395750215e313ad548725e6276b27df46a3974e34e48140
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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" "+31a9463c6e2794a59ce57a8f37abc6966afc2a58" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 479f9d7771b674c42a273812b15fa2ed890b1510da14534aab60a6d9d7b815f3
[INFO] running `Command { std: "docker" "start" "-a" "479f9d7771b674c42a273812b15fa2ed890b1510da14534aab60a6d9d7b815f3", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]     Checking dlib v0.5.3
[INFO] [stderr]    Compiling wayland-sys v0.31.11
[INFO] [stderr]    Compiling bytemuck_derive v1.10.2
[INFO] [stderr]    Compiling cc v1.2.60
[INFO] [stderr]    Compiling quick-xml v0.39.2
[INFO] [stderr]    Compiling wayland-client v0.31.14
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking cursor-icon v1.2.0
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]    Compiling wayland-scanner v0.31.10
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]    Compiling wayland-backend v0.3.15
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking memmap2 v0.9.10
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]    Compiling winit v0.30.13
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking dpi v0.1.2
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking num-conv v0.2.1
[INFO] [stderr]     Checking glam v0.29.3
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking bumpalo v3.20.2
[INFO] [stderr]     Checking puffin v0.19.1
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]     Checking hashbrown v0.17.0
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking zerofrom v0.1.7
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking yoke v0.8.2
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking tracing-appender v0.2.4
[INFO] [stderr]    Compiling ash v0.38.0+1.3.281
[INFO] [stderr]     Checking zerovec v0.11.6
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking hexf-parse v0.2.1
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking symphonia-core v0.5.5
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking tinystr v0.8.3
[INFO] [stderr]     Checking gpu-descriptor v0.3.2
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking writeable v0.6.3
[INFO] [stderr]     Checking litemap v0.8.2
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking potential_utf v0.1.5
[INFO] [stderr]     Checking icu_locale_core v2.2.0
[INFO] [stderr]     Checking zerotrie v0.2.4
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]     Checking symphonia-metadata v0.5.5
[INFO] [stderr]     Checking icu_collections v2.2.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]     Checking zeroize v1.8.2
[INFO] [stderr]     Checking universal-hash v0.5.1
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]    Compiling naga v23.1.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking poly1305 v0.8.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking wayland-protocols v0.32.12
[INFO] [stderr]     Checking wayland-cursor v0.31.14
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking icu_provider v2.2.0
[INFO] [stderr]     Checking chacha20 v0.9.1
[INFO] [stderr]     Checking symphonia-utils-xiph v0.5.5
[INFO] [stderr]     Checking aead v0.5.2
[INFO] [stderr]    Compiling wgpu-hal v23.0.1
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking emath v0.30.0
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking icu_properties v2.2.0
[INFO] [stderr]    Compiling naga v24.0.0
[INFO] [stderr]     Checking twox-hash v2.1.2
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]     Checking lz4_flex v0.11.6
[INFO] [stderr]     Checking ecolor v0.30.0
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking noise v0.9.0
[INFO] [stderr]     Checking chacha20poly1305 v0.10.1
[INFO] [stderr]     Checking calloop v0.14.4
[INFO] [stderr]    Compiling wgpu-core v23.0.1
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]    Compiling wgpu-hal v24.0.4
[INFO] [stderr]     Checking wgpu-types v23.0.0
[INFO] [stderr]     Checking epaint_default_fonts v0.30.0
[INFO] [stderr]     Checking glow v0.14.2
[INFO] [stderr]     Checking epaint v0.30.0
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking calloop-wayland-source v0.4.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking renetcode v0.0.12
[INFO] [stderr]    Compiling wgpu v23.0.1
[INFO] [stderr]     Checking ordered-float v4.6.0
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]    Compiling wgpu-core v24.0.5
[INFO] [stderr]     Checking wgpu-types v24.0.0
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]     Checking extended v0.1.0
[INFO] [stderr]     Checking octets v0.3.5
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]     Checking renet v0.0.16
[INFO] [stderr]     Checking symphonia-format-riff v0.5.5
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking tokio v1.51.1
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking egui v0.30.0
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking symphonia-bundle-flac v0.5.5
[INFO] [stderr]     Checking symphonia-format-ogg v0.5.5
[INFO] [stderr]     Checking symphonia-codec-vorbis v0.5.5
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]     Checking symphonia-codec-pcm v0.5.5
[INFO] [stderr]    Compiling wgpu v24.0.5
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.12
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.12
[INFO] [stderr]     Checking wayland-protocols-misc v0.3.12
[INFO] [stderr]     Checking wayland-protocols-experimental v20250721.0.1
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking pxfm v0.1.28
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking smithay-client-toolkit v0.20.0
[INFO] [stderr]     Checking type-map v0.5.1
[INFO] [stderr]     Checking symphonia v0.5.5
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking smithay-clipboard v0.7.3
[INFO] [stderr]     Checking webbrowser v1.2.0
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking triple_buffer v8.1.1
[INFO] [stderr]     Checking ringbuf v0.3.3
[INFO] [stderr]     Checking pollster v0.4.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking kira v0.9.6
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking hecs v0.10.5
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking engine_core v0.1.0 (/opt/rustwide/workdir/crates/engine_core)
[INFO] [stderr]     Checking egui-winit v0.30.0
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stdout] warning: function `vec3_to_world_pos` is never used
[INFO] [stdout]  --> crates/engine_core/src/coords/conversions.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn vec3_to_world_pos(v: Vec3) -> WorldPos {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `world_pos_to_vec3` is never used
[INFO] [stdout]   --> crates/engine_core/src/coords/conversions.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn world_pos_to_vec3(pos: WorldPos) -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_origin` is never used
[INFO] [stdout]   --> crates/engine_core/src/coords/conversions.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub fn chunk_origin(chunk: ChunkPos) -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chunk_center` is never used
[INFO] [stdout]   --> crates/engine_core/src/coords/conversions.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn chunk_center(chunk: ChunkPos) -> Vec3 {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ray_aabb` is never used
[INFO] [stdout]   --> crates/engine_core/src/math/intersect.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub fn ray_aabb(ray: &Ray, aabb: &Aabb) -> Option<Intersection> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ray_sphere` is never used
[INFO] [stdout]   --> crates/engine_core/src/math/intersect.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn ray_sphere(ray: &Ray, sphere: &Sphere) -> Option<Intersection> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ray_plane` is never used
[INFO] [stdout]    --> crates/engine_core/src/math/intersect.rs:106:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub fn ray_plane(ray: &Ray, plane: &Plane) -> Option<Intersection> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `aabb_sphere` is never used
[INFO] [stdout]    --> crates/engine_core/src/math/intersect.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | pub fn aabb_sphere(aabb: &Aabb, sphere: &Sphere) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WindowError` is never used
[INFO] [stdout]   --> crates/engine_core/src/platform/window.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum WindowError {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppHandler` is never constructed
[INFO] [stdout]    --> crates/engine_core/src/platform/window.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | struct AppHandler<F> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> crates/engine_core/src/platform/window.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub fn run<F>(config: WindowConfig, callback: F) -> Result<(), WindowError>
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking engine_world v0.1.0 (/opt/rustwide/workdir/crates/engine_world)
[INFO] [stderr]     Checking engine_ai v0.1.0 (/opt/rustwide/workdir/crates/engine_ai)
[INFO] [stderr]     Checking engine_network v0.1.0 (/opt/rustwide/workdir/crates/engine_network)
[INFO] [stderr]     Checking engine_physics v0.1.0 (/opt/rustwide/workdir/crates/engine_physics)
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> crates/engine_physics/src/arctic/wind.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         ((value % 628318) as f64 / 100000.0) // 0 to ~2*PI
[INFO] [stdout]     |         ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 116 -         ((value % 628318) as f64 / 100000.0) // 0 to ~2*PI
[INFO] [stdout] 116 +         (value % 628318) as f64 / 100000.0 // 0 to ~2*PI
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WindowError` is never used
[INFO] [stdout]   --> crates/engine_core/src/platform/window.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum WindowError {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AppHandler` is never constructed
[INFO] [stdout]    --> crates/engine_core/src/platform/window.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | struct AppHandler<F> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> crates/engine_core/src/platform/window.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub fn run<F>(config: WindowConfig, callback: F) -> Result<(), WindowError>
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `closest_capsule_point` is never read
[INFO] [stdout]    --> crates/engine_physics/src/collision/capsule_aabb.rs:95:37
[INFO] [stdout]     |
[INFO] [stdout]  95 |     let mut closest_capsule_point = capsule.base;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 112 |     closest_capsule_point = closest_point_on_segment(capsule.base, capsule.tip, closest_aabb_point);
[INFO] [stdout]     |     ----------------------------------------------------------------------------------------------- `closest_capsule_point` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `closest_capsule_point` is never read
[INFO] [stdout]    --> crates/engine_physics/src/collision/capsule_aabb.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             closest_capsule_point = capsule_point;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking engine_audio v0.1.0 (/opt/rustwide/workdir/crates/engine_audio)
[INFO] [stdout] warning: enum `AmbientState` is never used
[INFO] [stdout]   --> crates/engine_audio/src/ambient.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub enum AmbientState {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AmbientState` is never used
[INFO] [stdout]   --> crates/engine_audio/src/ambient.rs:40:10
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub enum AmbientState {
[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 `seed` is never read
[INFO] [stdout]   --> crates/engine_world/src/generation/noise.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct TerrainNoise {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 23 |     seed: u64,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `AIR` is never used
[INFO] [stdout]  --> crates/engine_world/src/generation/structures.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const AIR: u16 = 0;
[INFO] [stdout]   |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]    --> crates/engine_physics/src/arctic/wind.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |         ((value % 628318) as f64 / 100000.0) // 0 to ~2*PI
[INFO] [stdout]     |         ^                                  ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 116 -         ((value % 628318) as f64 / 100000.0) // 0 to ~2*PI
[INFO] [stdout] 116 +         (value % 628318) as f64 / 100000.0 // 0 to ~2*PI
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `closest_capsule_point` is never read
[INFO] [stdout]    --> crates/engine_physics/src/collision/capsule_aabb.rs:95:37
[INFO] [stdout]     |
[INFO] [stdout]  95 |     let mut closest_capsule_point = capsule.base;
[INFO] [stdout]     |                                     ^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 112 |     closest_capsule_point = closest_point_on_segment(capsule.base, capsule.tip, closest_aabb_point);
[INFO] [stdout]     |     ----------------------------------------------------------------------------------------------- `closest_capsule_point` is overwritten here before the previous value is read
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `closest_capsule_point` is never read
[INFO] [stdout]    --> crates/engine_physics/src/collision/capsule_aabb.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             closest_capsule_point = capsule_point;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity_id`
[INFO] [stdout]    --> crates/engine_network/src/sync/relevancy.rs:109:33
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn should_update(&self, entity_id: u64, entity_pos: Vec3) -> bool {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `tick_rate` is never read
[INFO] [stdout]   --> crates/engine_network/src/sync/interpolation.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct InterpolationBuffer {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     tick_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking permafrost_server v0.1.0 (/opt/rustwide/workdir/crates/server)
[INFO] [stdout] warning: constant `AIR` is never used
[INFO] [stdout]  --> crates/engine_world/src/generation/structures.rs:9:15
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub const AIR: u16 = 0;
[INFO] [stdout]   |               ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `shutdown`, `current_tick`, and `player_count` are never used
[INFO] [stdout]    --> crates/server/src/server.rs:326:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl LatticeServer {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub fn shutdown(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn current_tick(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn player_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `shutdown`, `current_tick`, and `player_count` are never used
[INFO] [stdout]    --> crates/server/src/server.rs:326:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl LatticeServer {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub fn shutdown(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn current_tick(&self) -> u64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn player_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity_id`
[INFO] [stdout]    --> crates/engine_network/src/sync/relevancy.rs:109:33
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub fn should_update(&self, entity_id: u64, entity_pos: Vec3) -> bool {
[INFO] [stdout]     |                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity_id`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking egui-wgpu v0.30.0
[INFO] [stderr]     Checking engine_render v0.1.0 (/opt/rustwide/workdir/crates/engine_render)
[INFO] [stderr]     Checking engine_ui v0.1.0 (/opt/rustwide/workdir/crates/engine_ui)
[INFO] [stdout] warning: unused import: `ScrollArea`
[INFO] [stdout]  --> crates/engine_ui/src/screens/chat.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use egui::{Color32, RichText, ScrollArea, Vec2};
[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: `ScrollArea`
[INFO] [stdout]  --> crates/engine_ui/src/screens/chat.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use egui::{Color32, RichText, ScrollArea, Vec2};
[INFO] [stdout]   |                               ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> crates/engine_ui/src/hud/debug_console.rs:150:47
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     .stroke(egui::Stroke::new(1.0, egui::Color32::GRAY));
[INFO] [stdout]     |                                               ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]     = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> crates/engine_ui/src/hud/debug_console.rs:150:47
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     .stroke(egui::Stroke::new(1.0, egui::Color32::GRAY));
[INFO] [stdout]     |                                               ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]     = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glam::IVec3`
[INFO] [stdout]  --> crates/engine_render/src/lighting/block_light.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use glam::IVec3;
[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: `glam::Vec3`
[INFO] [stdout]  --> crates/engine_render/src/lighting/light_uniform.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use glam::Vec3;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `glam::IVec3`
[INFO] [stdout]  --> crates/engine_render/src/lighting/block_light.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use glam::IVec3;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> crates/engine_ui/src/hud/hotbar.rs:119:64
[INFO] [stdout]     |
[INFO] [stdout] 119 |     painter.rect_stroke(rect, Rounding::same(4.0), Stroke::new(1.0, SLOT_BORDER));
[INFO] [stdout]     |                                                                ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> crates/engine_ui/src/hud/hotbar.rs:119:64
[INFO] [stdout]     |
[INFO] [stdout] 119 |     painter.rect_stroke(rect, Rounding::same(4.0), Stroke::new(1.0, SLOT_BORDER));
[INFO] [stdout]     |                                                                ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> crates/engine_ui/src/hud/tooltip.rs:138:38
[INFO] [stdout]     |
[INFO] [stdout] 138 |     frame.stroke = egui::Stroke::new(1.0, Color32::from_rgb(80, 80, 120));
[INFO] [stdout]     |                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]    --> crates/engine_ui/src/hud/tooltip.rs:138:38
[INFO] [stdout]     |
[INFO] [stdout] 138 |     frame.stroke = egui::Stroke::new(1.0, Color32::from_rgb(80, 80, 120));
[INFO] [stdout]     |                                      ^^^ help: explicitly specify the type as `f32`: `1.0_f32`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:416:18
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:430:18
[INFO] [stdout]     |
[INFO] [stdout] 430 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:453:18
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:468:18
[INFO] [stdout]     |
[INFO] [stdout] 468 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:483:18
[INFO] [stdout]     |
[INFO] [stdout] 483 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:498:18
[INFO] [stdout]     |
[INFO] [stdout] 498 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:513:18
[INFO] [stdout]     |
[INFO] [stdout] 513 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:537:18
[INFO] [stdout]     |
[INFO] [stdout] 537 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `screen_rect`
[INFO] [stdout]   --> crates/engine_ui/src/hud/health_bar.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let screen_rect = ctx.screen_rect();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_screen_rect`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEART_HALF` is never used
[INFO] [stdout]   --> crates/engine_ui/src/hud/health_bar.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const HEART_HALF: Color32 = Color32::from_rgb(200, 40, 40);
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NoTextures` is never constructed
[INFO] [stdout]   --> crates/engine_ui/src/hud/hotbar.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct NoTextures;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `count` and `source` are never read
[INFO] [stdout]   --> crates/engine_ui/src/screens/inventory_screen.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct CursorItem {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     count: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 87 |     /// Source slot the item was picked up from.
[INFO] [stdout] 88 |     source: CursorSource,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CursorItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Slot` and `Equipment` are never constructed
[INFO] [stdout]   --> crates/engine_ui/src/screens/inventory_screen.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | enum CursorSource {
[INFO] [stdout]    |      ------------ variants in this enum
[INFO] [stdout] 94 |     /// From inventory slot index.
[INFO] [stdout] 95 |     Slot(usize),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 96 |     /// From equipment slot.
[INFO] [stdout] 97 |     Equipment(EquipmentSlot),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CursorSource` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:416:18
[INFO] [stdout]     |
[INFO] [stdout] 416 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:430:18
[INFO] [stdout]     |
[INFO] [stdout] 430 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:453:18
[INFO] [stdout]     |
[INFO] [stdout] 453 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:468:18
[INFO] [stdout]     |
[INFO] [stdout] 468 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:483:18
[INFO] [stdout]     |
[INFO] [stdout] 483 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:498:18
[INFO] [stdout]     |
[INFO] [stdout] 498 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:513:18
[INFO] [stdout]     |
[INFO] [stdout] 513 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `egui::Slider::<'a>::clamp_to_range`: Use `slider.clamping(…) instead
[INFO] [stdout]    --> crates/engine_ui/src/screens/settings.rs:537:18
[INFO] [stdout]     |
[INFO] [stdout] 537 |                 .clamp_to_range(true);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `screen_rect`
[INFO] [stdout]   --> crates/engine_ui/src/hud/health_bar.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let screen_rect = ctx.screen_rect();
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_screen_rect`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HEART_HALF` is never used
[INFO] [stdout]   --> crates/engine_ui/src/hud/health_bar.rs:17:7
[INFO] [stdout]    |
[INFO] [stdout] 17 | const HEART_HALF: Color32 = Color32::from_rgb(200, 40, 40);
[INFO] [stdout]    |       ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `count` and `source` are never read
[INFO] [stdout]   --> crates/engine_ui/src/screens/inventory_screen.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct CursorItem {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     count: u32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 87 |     /// Source slot the item was picked up from.
[INFO] [stdout] 88 |     source: CursorSource,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CursorItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> crates/engine_ui/src/screens/inventory_screen.rs:95:10
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Slot(usize),
[INFO] [stdout]    |     ---- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CursorSource` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 95 -     Slot(usize),
[INFO] [stdout] 95 +     Slot(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Equipment` is never constructed
[INFO] [stdout]   --> crates/engine_ui/src/screens/inventory_screen.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 93 | enum CursorSource {
[INFO] [stdout]    |      ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 97 |     Equipment(EquipmentSlot),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CursorSource` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> crates/engine_ui/src/hud/minimap.rs:527:17
[INFO] [stdout]     |
[INFO] [stdout] 527 |         assert!(alpha1 <= 255);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> crates/engine_ui/src/hud/minimap.rs:528:17
[INFO] [stdout]     |
[INFO] [stdout] 528 |         assert!(alpha2 <= 255);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NeighborLightData` is never constructed
[INFO] [stdout]    --> crates/engine_render/src/lighting/block_light.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub struct NeighborLightData {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `extract_from` is never used
[INFO] [stdout]    --> crates/engine_render/src/lighting/block_light.rs:305:12
[INFO] [stdout]     |
[INFO] [stdout] 302 | impl NeighborLightData {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn extract_from(map: &BlockLightMap) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]   --> crates/engine_render/src/voxel/texture_atlas.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TextureAtlas {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 32 |     texture: wgpu::Texture,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `camera_bind_group_layout` is never read
[INFO] [stdout]   --> crates/engine_render/src/voxel/voxel_pipeline.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct VoxelPipeline {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 49 |     pipeline: wgpu::RenderPipeline,
[INFO] [stdout] 50 |     camera_bind_group_layout: wgpu::BindGroupLayout,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking permafrost_game v0.1.0 (/opt/rustwide/workdir/crates/game)
[INFO] [stdout] warning: struct `NeighborLightData` is never constructed
[INFO] [stdout]    --> crates/engine_render/src/lighting/block_light.rs:279:12
[INFO] [stdout]     |
[INFO] [stdout] 279 | pub struct NeighborLightData {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `extract_from` is never used
[INFO] [stdout]    --> crates/engine_render/src/lighting/block_light.rs:305:12
[INFO] [stdout]     |
[INFO] [stdout] 302 | impl NeighborLightData {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn extract_from(map: &BlockLightMap) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `texture` is never read
[INFO] [stdout]   --> crates/engine_render/src/voxel/texture_atlas.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct TextureAtlas {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 32 |     texture: wgpu::Texture,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `camera_bind_group_layout` is never read
[INFO] [stdout]   --> crates/engine_render/src/voxel/voxel_pipeline.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct VoxelPipeline {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 49 |     pipeline: wgpu::RenderPipeline,
[INFO] [stdout] 50 |     camera_bind_group_layout: wgpu::BindGroupLayout,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hecs::World`
[INFO] [stdout]  --> crates/game/src/ai/lod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hecs::World;
[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: `Recipe`
[INFO] [stdout]  --> crates/game/src/crafting/furnace.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::crafting::{CraftingStation, Recipe, RecipeRegistry};
[INFO] [stdout]   |                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Inventory`
[INFO] [stdout]  --> crates/game/src/crafting/furnace.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::inventory::{Inventory, ItemId, ItemStack};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/game/src/ecs/entity_save.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Quat` and `Vec3`
[INFO] [stdout]  --> crates/game/src/ecs/entity_save.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use glam::{Quat, Vec3};
[INFO] [stdout]   |            ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine_world::chunk::BlockId`
[INFO] [stdout]  --> crates/game/src/survival/death.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use engine_world::chunk::BlockId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine_world::chunk::BlockId`
[INFO] [stdout]  --> crates/game/src/survival/mining.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use engine_world::chunk::BlockId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hecs::World`
[INFO] [stdout]  --> crates/game/src/ai/lod.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use hecs::World;
[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: `Recipe`
[INFO] [stdout]  --> crates/game/src/crafting/furnace.rs:6:40
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::crafting::{CraftingStation, Recipe, RecipeRegistry};
[INFO] [stdout]   |                                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Inventory`
[INFO] [stdout]  --> crates/game/src/crafting/furnace.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::inventory::{Inventory, ItemId, ItemStack};
[INFO] [stdout]   |                        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> crates/game/src/ecs/entity_save.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine_world::chunk::BlockId`
[INFO] [stdout]  --> crates/game/src/survival/death.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use engine_world::chunk::BlockId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `engine_world::chunk::BlockId`
[INFO] [stdout]  --> crates/game/src/survival/mining.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use engine_world::chunk::BlockId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InventoryError` is never used
[INFO] [stdout]    --> crates/game/src/inventory/container.rs:231:10
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub enum InventoryError {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DAMAGE_INVINCIBILITY` is never used
[INFO] [stdout]   --> crates/game/src/survival/combat.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const DAMAGE_INVINCIBILITY: f32 = 0.5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `half_z`
[INFO] [stdout]    --> crates/game/src/ecs/entity_save.rs:324:55
[INFO] [stdout]     |
[INFO] [stdout] 324 |             ColliderShapeSerde::Box { half_x, half_y, half_z } => {
[INFO] [stdout]     |                                                       ^^^^^^ help: try ignoring the field: `half_z: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spawns`
[INFO] [stdout]    --> crates/game/src/entities/spawning.rs:399:13
[INFO] [stdout]     |
[INFO] [stdout] 399 |         let spawns = system.tick(10.0, Vec3::ZERO, BiomeType::Plains, &[Vec3::new(50.0, 64.0, 50.0)]);
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_spawns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_hunger`
[INFO] [stdout]    --> crates/game/src/survival/hunger.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let initial_hunger = hunger.current();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_hunger`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `destroyed`
[INFO] [stdout]   --> crates/game/src/integration_tests.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |     let destroyed = snow_shelter.apply_wind_damage(wind_speed, 10.0);
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_destroyed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_core_temp`
[INFO] [stdout]    --> crates/game/src/integration_tests.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |     let initial_core_temp = temp.core_temp();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_core_temp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/game/src/integration_tests.rs:536:9
[INFO] [stdout]     |
[INFO] [stdout] 536 |     let mut temp = PlayerTemperature::new();
[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: `temp`
[INFO] [stdout]    --> crates/game/src/integration_tests.rs:536:9
[INFO] [stdout]     |
[INFO] [stdout] 536 |     let mut temp = PlayerTemperature::new();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_temp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InventoryError` is never used
[INFO] [stdout]    --> crates/game/src/inventory/container.rs:231:10
[INFO] [stdout]     |
[INFO] [stdout] 231 | pub enum InventoryError {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DAMAGE_INVINCIBILITY` is never used
[INFO] [stdout]   --> crates/game/src/survival/combat.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const DAMAGE_INVINCIBILITY: f32 = 0.5;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 54s
[INFO] running `Command { std: "docker" "inspect" "479f9d7771b674c42a273812b15fa2ed890b1510da14534aab60a6d9d7b815f3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "479f9d7771b674c42a273812b15fa2ed890b1510da14534aab60a6d9d7b815f3", kill_on_drop: false }`
[INFO] [stdout] 479f9d7771b674c42a273812b15fa2ed890b1510da14534aab60a6d9d7b815f3
