[INFO] cloning repository https://github.com/zzhgithub/just_join
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zzhgithub/just_join" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzzhgithub%2Fjust_join", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzzhgithub%2Fjust_join'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d290cb76cd5ac0d31692deb916c97cdea40522f5
[INFO] checking zzhgithub/just_join against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzzhgithub%2Fjust_join" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/zzhgithub/just_join
[INFO] finished tweaking git repo https://github.com/zzhgithub/just_join
[INFO] tweaked toml for git repo https://github.com/zzhgithub/just_join written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/zzhgithub/just_join on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/zzhgithub/just_join 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" "+1.95.0" "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 paste v0.1.18
[INFO] [stderr]   Downloaded paste-impl v0.1.18
[INFO] [stderr]   Downloaded nalgebra-macros v0.2.1
[INFO] [stderr]   Downloaded bevy_internal v0.11.0
[INFO] [stderr]   Downloaded atomic_refcell v0.1.10
[INFO] [stderr]   Downloaded simdnoise v3.1.6
[INFO] [stderr]   Downloaded better-bae v0.1.9
[INFO] [stderr]   Downloaded bevy_atmosphere_macros v0.2.1
[INFO] [stderr]   Downloaded gltf-json v1.2.0
[INFO] [stderr]   Downloaded bevy_console_derive v0.5.0
[INFO] [stderr]   Downloaded ecolor v0.22.0
[INFO] [stderr]   Downloaded pretty-type-name v1.0.1
[INFO] [stderr]   Downloaded better-bae-macros v0.1.9
[INFO] [stderr]   Downloaded emath v0.22.0
[INFO] [stderr]   Downloaded bevy_a11y v0.11.0
[INFO] [stderr]   Downloaded ndcopy v0.3.0
[INFO] [stderr]   Downloaded xml-rs v0.8.15
[INFO] [stderr]   Downloaded simdeez v1.0.8
[INFO] [stderr]   Downloaded bevy-ui-dsl v0.6.1
[INFO] [stderr]   Downloaded bevy_atmosphere v0.7.0
[INFO] [stderr]   Downloaded bevy-inspector-egui-derive v0.19.0
[INFO] [stderr]   Downloaded accesskit_macos v0.7.1
[INFO] [stderr]   Downloaded bevy_utils_proc_macros v0.11.0
[INFO] [stderr]   Downloaded bevy_utils v0.11.0
[INFO] [stderr]   Downloaded thiserror-impl v1.0.43
[INFO] [stderr]   Downloaded windows-interface v0.44.0
[INFO] [stderr]   Downloaded bevy-inspector-egui v0.19.0
[INFO] [stderr]   Downloaded bevy_gizmos v0.11.0
[INFO] [stderr]   Downloaded clap_lex v0.3.3
[INFO] [stderr]   Downloaded rapier3d v0.17.2
[INFO] [stderr]   Downloaded kqueue v1.0.7
[INFO] [stderr]   Downloaded bevy_text v0.11.0
[INFO] [stderr]   Downloaded grid v0.9.0
[INFO] [stderr]   Downloaded windows-implement v0.44.0
[INFO] [stderr]   Downloaded bevy_transform v0.11.0
[INFO] [stderr]   Downloaded bevy_console v0.8.0
[INFO] [stderr]   Downloaded clap_derive v4.1.9
[INFO] [stderr]   Downloaded profiling v1.0.8
[INFO] [stderr]   Downloaded taffy v0.3.12
[INFO] [stderr]   Downloaded gilrs-core v0.5.6
[INFO] [stderr]   Downloaded optional v0.5.0
[INFO] [stderr]   Downloaded kqueue-sys v1.0.3
[INFO] [stderr]   Downloaded bevy_reflect v0.11.0
[INFO] [stderr]   Downloaded bevy_egui v0.21.0
[INFO] [stderr]   Downloaded bevy_animation v0.11.0
[INFO] [stderr]   Downloaded matrixmultiply v0.3.7
[INFO] [stderr]   Downloaded epaint v0.22.0
[INFO] [stderr]   Downloaded alsa v0.7.0
[INFO] [stderr]   Downloaded notify v6.0.1
[INFO] [stderr]   Downloaded webbrowser v0.8.10
[INFO] [stderr]   Downloaded block-mesh v0.2.0
[INFO] [stderr]   Downloaded bevy_gilrs v0.11.0
[INFO] [stderr]   Downloaded android-activity v0.4.2
[INFO] [stderr]   Downloaded ilattice v0.1.0
[INFO] [stderr]   Downloaded bevy_window v0.11.0
[INFO] [stderr]   Downloaded bevy_pbr v0.11.0
[INFO] [stderr]   Downloaded bevy_encase_derive v0.11.0
[INFO] [stderr]   Downloaded bevy_hierarchy v0.11.0
[INFO] [stderr]   Downloaded bevy_input v0.11.0
[INFO] [stderr]   Downloaded bevy_ptr v0.11.0
[INFO] [stderr]   Downloaded bevy_scene v0.11.0
[INFO] [stderr]   Downloaded clap v4.1.10
[INFO] [stderr]   Downloaded bevy_gltf v0.11.0
[INFO] [stderr]   Downloaded sysinfo v0.29.5
[INFO] [stderr]   Downloaded wgpu v0.16.2
[INFO] [stderr]   Downloaded bevy_ecs v0.11.0
[INFO] [stderr]   Downloaded toml_edit v0.19.14
[INFO] [stderr]   Downloaded serde_json v1.0.103
[INFO] [stderr]   Downloaded regex v1.9.1
[INFO] [stderr]   Downloaded bevy_render v0.11.0
[INFO] [stderr]   Downloaded spade v2.2.0
[INFO] [stderr]   Downloaded bevy v0.11.0
[INFO] [stderr]   Downloaded parry3d v0.13.5
[INFO] [stderr]   Downloaded winit v0.28.6
[INFO] [stderr]   Downloaded bevy_ui v0.11.0
[INFO] [stderr]   Downloaded bevy_reflect_derive v0.11.0
[INFO] [stderr]   Downloaded bevy_render_macros v0.11.0
[INFO] [stderr]   Downloaded bevy_core_pipeline v0.11.0
[INFO] [stderr]   Downloaded bevy_sprite v0.11.0
[INFO] [stderr]   Downloaded regex-automata v0.3.3
[INFO] [stderr]   Downloaded accesskit_winit v0.14.1
[INFO] [stderr]   Downloaded bevy_core v0.11.0
[INFO] [stderr]   Downloaded erased-serde v0.3.28
[INFO] [stderr]   Downloaded png v0.17.9
[INFO] [stderr]   Downloaded ttf-parser v0.19.1
[INFO] [stderr]   Downloaded winnow v0.5.0
[INFO] [stderr]   Downloaded bevy_time v0.11.0
[INFO] [stderr]   Downloaded bevy_asset v0.11.0
[INFO] [stderr]   Downloaded num-complex v0.4.3
[INFO] [stderr]   Downloaded android_log-sys v0.3.0
[INFO] [stderr]   Downloaded robust v0.2.3
[INFO] [stderr]   Downloaded accesskit v0.11.0
[INFO] [stderr]   Downloaded bevy_log v0.11.0
[INFO] [stderr]   Downloaded bevy_derive v0.11.0
[INFO] [stderr]   Downloaded orbclient v0.3.45
[INFO] [stderr]   Downloaded bevy_ecs_macros v0.11.0
[INFO] [stderr]   Downloaded gltf-derive v1.2.0
[INFO] [stderr]   Downloaded bevy_diagnostic v0.11.0
[INFO] [stderr]   Downloaded bevy_macro_utils v0.11.0
[INFO] [stderr]   Downloaded accesskit_windows v0.14.0
[INFO] [stderr]   Downloaded bevy_app v0.11.0
[INFO] [stderr]   Downloaded bevy_tasks v0.11.0
[INFO] [stderr]   Downloaded bevy_math v0.11.0
[INFO] [stderr]   Downloaded egui v0.22.0
[INFO] [stderr]   Downloaded gltf v1.2.0
[INFO] [stderr]   Downloaded naga_oil v0.8.1
[INFO] [stderr]   Downloaded accesskit_consumer v0.15.0
[INFO] [stderr]   Downloaded thiserror v1.0.43
[INFO] [stderr]   Downloaded wide v0.7.11
[INFO] [stderr]   Downloaded bevy_audio v0.11.0
[INFO] [stderr]   Downloaded bevy_winit v0.11.0
[INFO] [stderr]   Downloaded bevy_mikktspace v0.11.0
[INFO] [stderr]   Downloaded nalgebra v0.32.3
[INFO] [stderr]   Downloaded simba v0.8.1
[INFO] [stderr]   Downloaded bevy_rapier3d v0.22.0
[INFO] [stderr]   Downloaded ndshape v0.3.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 73651f2cebeaa0d1c36d83970c2b51ebcf6cc2465d261ae654375ad59914f026
[INFO] running `Command { std: "docker" "start" "-a" "73651f2cebeaa0d1c36d83970c2b51ebcf6cc2465d261ae654375ad59914f026", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "73651f2cebeaa0d1c36d83970c2b51ebcf6cc2465d261ae654375ad59914f026", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "73651f2cebeaa0d1c36d83970c2b51ebcf6cc2465d261ae654375ad59914f026", kill_on_drop: false }`
[INFO] [stdout] 73651f2cebeaa0d1c36d83970c2b51ebcf6cc2465d261ae654375ad59914f026
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9e58dea4f0ac1ccf0a46c3932c82090ca33f9d69b949f0f046ea991d2a5b202b
[INFO] running `Command { std: "docker" "start" "-a" "9e58dea4f0ac1ccf0a46c3932c82090ca33f9d69b949f0f046ea991d2a5b202b", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling serde v1.0.171
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.16
[INFO] [stderr]    Compiling thiserror v1.0.43
[INFO] [stderr]    Compiling hashbrown v0.14.0
[INFO] [stderr]    Compiling winnow v0.5.0
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling libm v0.2.7
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]     Checking log v0.4.19
[INFO] [stderr]     Checking pin-project-lite v0.2.10
[INFO] [stderr]    Compiling ahash v0.8.3
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]     Checking parking v2.1.0
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking downcast-rs v1.2.0
[INFO] [stderr]     Checking tracing-core v0.1.31
[INFO] [stderr]     Checking allocator-api2 v0.2.16
[INFO] [stderr]    Compiling erased-serde v0.3.28
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]     Checking async-lock v2.7.0
[INFO] [stderr]     Checking async-task v4.4.0
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]     Checking futures-lite v1.13.0
[INFO] [stderr]     Checking concurrent-queue v2.2.0
[INFO] [stderr]     Checking smol_str v0.2.0
[INFO] [stderr]     Checking bevy_ptr v0.11.0
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]     Checking aho-corasick v1.0.2
[INFO] [stderr]     Checking regex-syntax v0.7.4
[INFO] [stderr]     Checking byteorder v1.4.3
[INFO] [stderr]     Checking sharded-slab v0.1.4
[INFO] [stderr]     Checking unicode-width v0.1.10
[INFO] [stderr]     Checking crossbeam-channel v0.5.8
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]     Checking tracing-log v0.1.3
[INFO] [stderr]    Compiling indexmap v2.0.0
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking bitflags v2.3.3
[INFO] [stderr]     Checking termcolor v1.2.0
[INFO] [stderr]     Checking simd-adler32 v0.3.5
[INFO] [stderr]    Compiling quote v1.0.31
[INFO] [stderr]     Checking pp-rs v0.2.1
[INFO] [stderr]    Compiling khronos-egl v4.1.0
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]    Compiling getrandom v0.2.10
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.1
[INFO] [stderr]     Checking async-executor v1.5.1
[INFO] [stderr]     Checking spirv v0.2.0+1.5.4
[INFO] [stderr]     Checking gpu-alloc-types v0.2.0
[INFO] [stderr]    Compiling syn v2.0.26
[INFO] [stderr]    Compiling uuid v1.4.1
[INFO] [stderr]    Compiling anyhow v1.0.72
[INFO] [stderr]     Checking walkdir v2.3.3
[INFO] [stderr]     Checking bevy_tasks v0.11.0
[INFO] [stderr]     Checking fdeflate v0.3.0
[INFO] [stderr]     Checking gpu-alloc v0.5.4
[INFO] [stderr]     Checking wgpu-types v0.16.1
[INFO] [stderr]     Checking libloading v0.8.0
[INFO] [stderr]    Compiling thiserror-core v1.0.38
[INFO] [stderr]     Checking flate2 v1.0.26
[INFO] [stderr]     Checking renderdoc-sys v1.0.0
[INFO] [stderr]     Checking profiling v1.0.8
[INFO] [stderr]     Checking glow v0.12.3
[INFO] [stderr]     Checking constgebra v0.1.3
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking mio v0.8.8
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking sysinfo v0.29.5
[INFO] [stderr]     Checking filetime v0.2.21
[INFO] [stderr]     Checking png v0.17.9
[INFO] [stderr]     Checking ahash v0.7.6
[INFO] [stderr]     Checking inotify v0.9.6
[INFO] [stderr]     Checking const_panic v0.2.8
[INFO] [stderr]     Checking data-encoding v2.4.0
[INFO] [stderr]     Checking ktx2 v0.3.0
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking radsort v0.1.0
[INFO] [stderr]     Checking hashbrown v0.12.3
[INFO] [stderr]     Checking ttf-parser v0.19.1
[INFO] [stderr]     Checking regex-automata v0.3.3
[INFO] [stderr]     Checking notify v6.0.1
[INFO] [stderr]     Checking nix v0.24.3
[INFO] [stderr]     Checking euclid v0.22.9
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]    Compiling xml-rs v0.8.15
[INFO] [stderr]     Checking svg_fmt v0.4.1
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]    Compiling slotmap v1.0.6
[INFO] [stderr]    Compiling serde_json v1.0.103
[INFO] [stderr]     Checking accesskit v0.11.0
[INFO] [stderr]    Compiling toml_edit v0.19.14
[INFO] [stderr]     Checking xi-unicode v0.3.0
[INFO] [stderr]    Compiling cpal v0.15.2
[INFO] [stderr]     Checking no-std-compat v0.4.1
[INFO] [stderr]     Checking grid v0.9.0
[INFO] [stderr]     Checking indexmap v1.9.3
[INFO] [stderr]     Checking gpu-descriptor v0.2.3
[INFO] [stderr]     Checking nix v0.26.2
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]    Compiling gilrs v0.10.2
[INFO] [stderr]     Checking petgraph v0.6.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling memoffset v0.9.0
[INFO] [stderr]     Checking guillotiere v0.6.2
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.15
[INFO] [stderr]    Compiling matrixmultiply v0.3.7
[INFO] [stderr]    Compiling typenum v1.16.0
[INFO] [stderr]     Checking num-complex v0.4.3
[INFO] [stderr]    Compiling crossbeam-queue v0.3.8
[INFO] [stderr]     Checking taffy v0.3.12
[INFO] [stderr]     Checking gethostname v0.2.3
[INFO] [stderr]     Checking robust v0.2.3
[INFO] [stderr]    Compiling rustix v0.38.7
[INFO] [stderr]     Checking optional v0.5.0
[INFO] [stderr]     Checking url v2.4.0
[INFO] [stderr]     Checking crossbeam-deque v0.8.3
[INFO] [stderr]     Checking linux-raw-sys v0.4.5
[INFO] [stderr]     Checking either v1.8.1
[INFO] [stderr]     Checking home v0.5.5
[INFO] [stderr]     Checking regex v1.9.1
[INFO] [stderr]     Checking crossbeam v0.8.2
[INFO] [stderr]    Compiling paste-impl v0.1.18
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking os_str_bytes v6.5.1
[INFO] [stderr]     Checking webbrowser v0.8.10
[INFO] [stderr]    Compiling unicode-segmentation v1.10.1
[INFO] [stderr]     Checking clap_lex v0.3.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking ndshape v0.3.0
[INFO] [stderr]     Checking glam v0.19.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking paste v0.1.18
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking fxhash v0.2.1
[INFO] [stderr]     Checking simdeez v1.0.8
[INFO] [stderr]     Checking pretty-type-name v1.0.1
[INFO] [stderr]     Checking shlex v1.1.0
[INFO] [stderr]     Checking owned_ttf_parser v0.19.0
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling winit v0.28.6
[INFO] [stderr]     Checking ab_glyph v0.2.21
[INFO] [stderr]     Checking is-terminal v0.4.9
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]     Checking glyph_brush_layout v0.2.3
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking ndcopy v0.3.0
[INFO] [stderr]    Compiling thiserror-core-impl v1.0.38
[INFO] [stderr]    Compiling nalgebra-macros v0.2.1
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling better-bae-macros v0.1.9
[INFO] [stderr]    Compiling clap_derive v4.1.9
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]     Checking alsa v0.7.0
[INFO] [stderr]     Checking x11rb-protocol v0.10.0
[INFO] [stderr]    Compiling bevy_macro_utils v0.11.0
[INFO] [stderr]    Compiling encase_derive_impl v0.6.1
[INFO] [stderr]     Checking simdnoise v3.1.6
[INFO] [stderr]    Compiling better-bae v0.1.9
[INFO] [stderr]    Compiling bevy_console_derive v0.5.0
[INFO] [stderr]     Checking structopt v0.3.26
[INFO] [stderr]    Compiling serde_derive v1.0.171
[INFO] [stderr]    Compiling bytemuck_derive v1.4.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.43
[INFO] [stderr]    Compiling tracing-attributes v0.1.26
[INFO] [stderr]    Compiling bevy_utils_proc_macros v0.11.0
[INFO] [stderr]    Compiling bevy_reflect_derive v0.11.0
[INFO] [stderr]    Compiling bevy_ecs_macros v0.11.0
[INFO] [stderr]    Compiling bevy_derive v0.11.0
[INFO] [stderr]    Compiling encase_derive v0.6.1
[INFO] [stderr]     Checking ruzstd v0.4.0
[INFO] [stderr]    Compiling bevy_render_macros v0.11.0
[INFO] [stderr]    Compiling bevy_encase_derive v0.11.0
[INFO] [stderr]    Compiling gltf-derive v1.2.0
[INFO] [stderr]     Checking ilattice v0.1.0
[INFO] [stderr]    Compiling bevy-inspector-egui-derive v0.19.0
[INFO] [stderr]    Compiling bevy_atmosphere_macros v0.2.1
[INFO] [stderr]     Checking block-mesh v0.2.0
[INFO] [stderr]     Checking bytemuck v1.13.1
[INFO] [stderr]     Checking image v0.24.6
[INFO] [stderr]     Checking safe_arch v0.7.1
[INFO] [stderr]     Checking emath v0.22.0
[INFO] [stderr]     Checking ecolor v0.22.0
[INFO] [stderr]     Checking accesskit_winit v0.14.1
[INFO] [stderr]     Checking clap v4.1.10
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]     Checking naga v0.12.3
[INFO] [stderr]     Checking wide v0.7.11
[INFO] [stderr]     Checking simba v0.8.1
[INFO] [stderr]     Checking x11rb v0.10.1
[INFO] [stderr]     Checking smallvec v1.11.0
[INFO] [stderr]     Checking glam v0.24.1
[INFO] [stderr]     Checking ron v0.8.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking parking_lot_core v0.9.8
[INFO] [stderr]     Checking tracing-subscriber v0.3.17
[INFO] [stderr]     Checking spade v2.2.0
[INFO] [stderr]     Checking parking_lot_core v0.8.6
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking gilrs-core v0.5.6
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking epaint v0.22.0
[INFO] [stderr]     Checking arboard v3.2.0
[INFO] [stderr]     Checking sled v0.34.7
[INFO] [stderr]     Checking wgpu-hal v0.16.2
[INFO] [stderr]     Checking naga_oil v0.8.1
[INFO] [stderr]     Checking rodio v0.17.1
[INFO] [stderr]     Checking bevy_utils v0.11.0
[INFO] [stderr]     Checking gltf-json v1.2.0
[INFO] [stderr]     Checking egui v0.22.0
[INFO] [stderr]     Checking bevy_math v0.11.0
[INFO] [stderr]     Checking encase v0.6.1
[INFO] [stderr]     Checking hexasphere v9.1.0
[INFO] [stderr]     Checking bevy_mikktspace v0.11.0
[INFO] [stderr]     Checking nalgebra v0.32.3
[INFO] [stderr]     Checking bevy_reflect v0.11.0
[INFO] [stderr]     Checking gltf v1.2.0
[INFO] [stderr]     Checking wgpu-core v0.16.1
[INFO] [stderr]     Checking bevy_ecs v0.11.0
[INFO] [stderr]     Checking wgpu v0.16.2
[INFO] [stderr]     Checking parry3d v0.13.5
[INFO] [stderr]     Checking bevy_app v0.11.0
[INFO] [stderr]     Checking bevy_log v0.11.0
[INFO] [stderr]     Checking bevy_core v0.11.0
[INFO] [stderr]     Checking bevy_time v0.11.0
[INFO] [stderr]     Checking bevy_input v0.11.0
[INFO] [stderr]     Checking bevy_a11y v0.11.0
[INFO] [stderr]     Checking bevy_hierarchy v0.11.0
[INFO] [stderr]     Checking bevy_diagnostic v0.11.0
[INFO] [stderr]     Checking bevy_transform v0.11.0
[INFO] [stderr]     Checking bevy_asset v0.11.0
[INFO] [stderr]     Checking bevy_window v0.11.0
[INFO] [stderr]     Checking bevy_gilrs v0.11.0
[INFO] [stderr]     Checking bevy_audio v0.11.0
[INFO] [stderr]     Checking bevy_render v0.11.0
[INFO] [stderr]     Checking bevy_winit v0.11.0
[INFO] [stderr]     Checking rapier3d v0.17.2
[INFO] [stderr]     Checking bevy_core_pipeline v0.11.0
[INFO] [stderr]     Checking bevy_scene v0.11.0
[INFO] [stderr]     Checking bevy_animation v0.11.0
[INFO] [stderr]     Checking bevy_sprite v0.11.0
[INFO] [stderr]     Checking bevy_pbr v0.11.0
[INFO] [stderr]     Checking bevy_text v0.11.0
[INFO] [stderr]     Checking bevy_ui v0.11.0
[INFO] [stderr]     Checking bevy_gltf v0.11.0
[INFO] [stderr]     Checking bevy_gizmos v0.11.0
[INFO] [stderr]     Checking bevy_internal v0.11.0
[INFO] [stderr]     Checking bevy-ui-dsl v0.6.1
[INFO] [stderr]     Checking bevy v0.11.0
[INFO] [stderr]     Checking bevy_egui v0.21.0
[INFO] [stderr]     Checking bevy_rapier3d v0.22.0
[INFO] [stderr]     Checking bevy_atmosphere v0.7.0
[INFO] [stderr]     Checking bevy-inspector-egui v0.19.0
[INFO] [stderr]     Checking bevy_console v0.8.0
[INFO] [stderr]     Checking controller v0.1.0 (/opt/rustwide/workdir/crates/controller)
[INFO] [stdout] warning: variant `INPUT_TO_EVENT` should have an upper camel case name
[INFO] [stdout]   --> crates/controller/src/controller.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     INPUT_TO_EVENT,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InputToEvent`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `INPUT_TO_LOOK` should have an upper camel case name
[INFO] [stdout]   --> crates/controller/src/controller.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     INPUT_TO_LOOK,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `InputToLook`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `FORWARD_UP` should have an upper camel case name
[INFO] [stdout]   --> crates/controller/src/controller.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     FORWARD_UP,
[INFO] [stdout]    |     ^^^^^^^^^^ help: convert the identifier to upper camel case: `ForwardUp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> crates/controller/src/controller.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 |     if (!controller_flag.flag) {
[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] 150 -     if (!controller_flag.flag) {
[INFO] [stdout] 150 +     if !controller_flag.flag  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/controller/src/controller.rs:331:29
[INFO] [stdout]     |
[INFO] [stdout] 331 |     controller_query: Query<(&CharacterController)>,
[INFO] [stdout]     |                             ^                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 331 -     controller_query: Query<(&CharacterController)>,
[INFO] [stdout] 331 +     controller_query: Query<&CharacterController >,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ColliderFlags`, `ColliderMassProperties`, `Collider`, `InteractionGroups`, `RapierColliderHandle`, `RigidBodySet`, `RigidBodyVelocity`, `RigidBody`, and `TimestepMode`
[INFO] [stdout]   --> crates/controller/src/rapier.rs:9:9
[INFO] [stdout]    |
[INFO] [stdout]  9 |         Collider, ColliderMassProperties, CollisionGroups, RapierColliderHandle,
[INFO] [stdout]    |         ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^                   ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |         RapierConfiguration, RapierContext, RapierRigidBodyHandle, RigidBody, TimestepMode,
[INFO] [stdout]    |                                                                    ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |         ColliderFlags, InteractionGroups, RigidBodyMassProps, RigidBodySet, RigidBodyVelocity,
[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 `BODY_TO_VELOCITY_SYSTEM` should have an upper camel case name
[INFO] [stdout]   --> crates/controller/src/rapier.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     BODY_TO_VELOCITY_SYSTEM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `BodyToVelocitySystem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CONTROLLER_TO_RAPIER_DYNAMIC_IMPULSE_SYSTEM` should have an upper camel case name
[INFO] [stdout]   --> crates/controller/src/rapier.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     CONTROLLER_TO_RAPIER_DYNAMIC_IMPULSE_SYSTEM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ControllerToRapierDynamicImpulseSystem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CONTROLLER_TO_RAPIER_DYNAMIC_FORCE_SYSTEM` should have an upper camel case name
[INFO] [stdout]   --> crates/controller/src/rapier.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     CONTROLLER_TO_RAPIER_DYNAMIC_FORCE_SYSTEM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ControllerToRapierDynamicForceSystem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `CREATE_MASS_FROM_RAPIER_SYSTEM` should have an upper camel case name
[INFO] [stdout]   --> crates/controller/src/rapier.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     CREATE_MASS_FROM_RAPIER_SYSTEM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CreateMassFromRapierSystem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TOGGLE_FLY_MODE_SYSTEM` should have an upper camel case name
[INFO] [stdout]   --> crates/controller/src/rapier.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     TOGGLE_FLY_MODE_SYSTEM,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ToggleFlyModeSystem`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/controller/src/rapier.rs:110:22
[INFO] [stdout]     |
[INFO] [stdout] 110 |     mut query: Query<(&RapierRigidBodyHandle), With<BodyTag>>,
[INFO] [stdout]     |                      ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 110 -     mut query: Query<(&RapierRigidBodyHandle), With<BodyTag>>,
[INFO] [stdout] 110 +     mut query: Query<&RapierRigidBodyHandle, With<BodyTag>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> crates/controller/src/rapier.rs:135:22
[INFO] [stdout]     |
[INFO] [stdout] 135 |     mut query: Query<(&RapierRigidBodyHandle), With<BodyTag>>,
[INFO] [stdout]     |                      ^                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 135 -     mut query: Query<(&RapierRigidBodyHandle), With<BodyTag>>,
[INFO] [stdout] 135 +     mut query: Query<&RapierRigidBodyHandle, With<BodyTag>>,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> crates/controller/src/rapier.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 |         if (speed >= 300.) {
[INFO] [stdout]     |            ^             ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 166 -         if (speed >= 300.) {
[INFO] [stdout] 166 +         if speed >= 300. {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> crates/controller/src/rapier.rs:167:16
[INFO] [stdout]     |
[INFO] [stdout] 167 |             if (!b.is_ccd_enabled()) {
[INFO] [stdout]     |                ^                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 167 -             if (!b.is_ccd_enabled()) {
[INFO] [stdout] 167 +             if !b.is_ccd_enabled() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> crates/controller/src/rapier.rs:171:16
[INFO] [stdout]     |
[INFO] [stdout] 171 |             if (b.is_ccd_enabled()) {
[INFO] [stdout]     |                ^                  ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 171 -             if (b.is_ccd_enabled()) {
[INFO] [stdout] 171 +             if b.is_ccd_enabled() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> crates/controller/src/rapier.rs:205:22
[INFO] [stdout]     |
[INFO] [stdout] 205 |     for (controller, mut collider) in query.iter_mut() {
[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: `collider`
[INFO] [stdout]    --> crates/controller/src/rapier.rs:205:22
[INFO] [stdout]     |
[INFO] [stdout] 205 |     for (controller, mut collider) in query.iter_mut() {
[INFO] [stdout]     |                      ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_collider`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking project-H v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `DirectionalLightShadowMap`, `Shadow`, and `wireframe::WireframePlugin`
[INFO] [stdout]  --> src/main.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     pbr::{wireframe::WireframePlugin, DirectionalLightShadowMap, Shadow},
[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: `render::RapierDebugRenderPlugin`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     render::RapierDebugRenderPlugin,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CameraTag`
[INFO] [stdout]   --> src/main.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | use controller::controller::{CameraTag, HeadTag};
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirectionalLightShadowMap`, `Shadow`, and `wireframe::WireframePlugin`
[INFO] [stdout]  --> src/main.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 |     pbr::{wireframe::WireframePlugin, DirectionalLightShadowMap, Shadow},
[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: `render::RapierDebugRenderPlugin`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     render::RapierDebugRenderPlugin,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CameraTag`
[INFO] [stdout]   --> src/main.rs:21:30
[INFO] [stdout]    |
[INFO] [stdout] 21 | use controller::controller::{CameraTag, HeadTag};
[INFO] [stdout]    |                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `inspector_egui::inspector_ui`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use inspector_egui::inspector_ui;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy_egui::EguiPlugin`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use bevy_egui::EguiPlugin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlphaMode`, `Color`, `MaterialMeshBundle`, and `StandardMaterial`
[INFO] [stdout]  --> src/chunk_command.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |         warn, AlphaMode, Assets, Color, Commands, GlobalTransform, Input, Last, MaterialMeshBundle,
[INFO] [stdout]   |               ^^^^^^^^^          ^^^^^                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |         Mesh, MouseButton, Plugin, Res, ResMut, Resource, StandardMaterial, Transform, Update,
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mesh_material::MaterialStorge`
[INFO] [stdout]   --> src/chunk_command.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     mesh_material::MaterialStorge,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/chunk_command.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         if (mesh_manager.mesh_storge.contains_key(&chunk_key_y0)) {
[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] 105 -                         if (mesh_manager.mesh_storge.contains_key(&chunk_key_y0)) {
[INFO] [stdout] 105 +                         if mesh_manager.mesh_storge.contains_key(&chunk_key_y0) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/chunk_command.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 |     if (mesh_manager.mesh_storge.contains_key(&chunk_key_y0)) {
[INFO] [stdout]     |        ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 229 -     if (mesh_manager.mesh_storge.contains_key(&chunk_key_y0)) {
[INFO] [stdout] 229 +     if mesh_manager.mesh_storge.contains_key(&chunk_key_y0) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COLLIDER_TASK` should have an upper camel case name
[INFO] [stdout]   --> src/collider_generator.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     COLLIDER_TASK,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ColliderTask`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COLLIDER_SPAWN` should have an upper camel case name
[INFO] [stdout]   --> src/collider_generator.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     COLLIDER_SPAWN,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ColliderSpawn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COLLIDER_DESPAWN` should have an upper camel case name
[INFO] [stdout]   --> src/collider_generator.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     COLLIDER_DESPAWN,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ColliderDespawn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/collider_generator.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |         if (mesh_manager.mesh_storge.contains_key(&chunk_key)
[INFO] [stdout]    |            ^
[INFO] [stdout] 60 |             && !collider_manager.entities.contains_key(&chunk_key))
[INFO] [stdout]    |                                                                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 ~         if mesh_manager.mesh_storge.contains_key(&chunk_key)
[INFO] [stdout] 60 ~             && !collider_manager.entities.contains_key(&chunk_key)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `inspector_egui::inspector_ui`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use inspector_egui::inspector_ui;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy_egui::EguiPlugin`
[INFO] [stdout]   --> src/main.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use bevy_egui::EguiPlugin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AlphaMode`, `Color`, `MaterialMeshBundle`, and `StandardMaterial`
[INFO] [stdout]  --> src/chunk_command.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 |         warn, AlphaMode, Assets, Color, Commands, GlobalTransform, Input, Last, MaterialMeshBundle,
[INFO] [stdout]   |               ^^^^^^^^^          ^^^^^                                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 5 |         Mesh, MouseButton, Plugin, Res, ResMut, Resource, StandardMaterial, Transform, Update,
[INFO] [stdout]   |                                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResMut`
[INFO] [stdout]  --> src/inspector_egui.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     prelude::{ResMut, StandardMaterial, With, World},
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mesh_material::MaterialStorge`
[INFO] [stdout]   --> src/chunk_command.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     mesh_material::MaterialStorge,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/chunk_command.rs:105:28
[INFO] [stdout]     |
[INFO] [stdout] 105 |                         if (mesh_manager.mesh_storge.contains_key(&chunk_key_y0)) {
[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] 105 -                         if (mesh_manager.mesh_storge.contains_key(&chunk_key_y0)) {
[INFO] [stdout] 105 +                         if mesh_manager.mesh_storge.contains_key(&chunk_key_y0) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EguiContexts`
[INFO] [stdout]  --> src/inspector_egui.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy_egui::{egui, EguiContext, EguiContexts};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/chunk_command.rs:229:8
[INFO] [stdout]     |
[INFO] [stdout] 229 |     if (mesh_manager.mesh_storge.contains_key(&chunk_key_y0)) {
[INFO] [stdout]     |        ^                                                    ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 229 -     if (mesh_manager.mesh_storge.contains_key(&chunk_key_y0)) {
[INFO] [stdout] 229 +     if mesh_manager.mesh_storge.contains_key(&chunk_key_y0) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COLLIDER_TASK` should have an upper camel case name
[INFO] [stdout]   --> src/collider_generator.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     COLLIDER_TASK,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ColliderTask`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy_inspector_egui::prelude::*`
[INFO] [stdout]  --> src/inspector_egui.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use bevy_inspector_egui::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COLLIDER_SPAWN` should have an upper camel case name
[INFO] [stdout]   --> src/collider_generator.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     COLLIDER_SPAWN,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ColliderSpawn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `COLLIDER_DESPAWN` should have an upper camel case name
[INFO] [stdout]   --> src/collider_generator.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     COLLIDER_DESPAWN,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `ColliderDespawn`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/collider_generator.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |         if (mesh_manager.mesh_storge.contains_key(&chunk_key)
[INFO] [stdout]    |            ^
[INFO] [stdout] 60 |             && !collider_manager.entities.contains_key(&chunk_key))
[INFO] [stdout]    |                                                                   ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 ~         if mesh_manager.mesh_storge.contains_key(&chunk_key)
[INFO] [stdout] 60 ~             && !collider_manager.entities.contains_key(&chunk_key)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/map_database.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IVec3`
[INFO] [stdout]  --> src/map_database.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::prelude::{IVec3, Resource};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `E` and `PI`
[INFO] [stdout]  --> src/map_generator.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::{E, PI};
[INFO] [stdout]   |                        ^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ResMut`
[INFO] [stdout]  --> src/inspector_egui.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 |     prelude::{ResMut, StandardMaterial, With, World},
[INFO] [stdout]   |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EguiContexts`
[INFO] [stdout]  --> src/inspector_egui.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy_egui::{egui, EguiContext, EguiContexts};
[INFO] [stdout]   |                                    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/map_generator.rs:57:16
[INFO] [stdout]    |
[INFO] [stdout] 57 |             if (p_y <= -110.) {
[INFO] [stdout]    |                ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 -             if (p_y <= -110.) {
[INFO] [stdout] 57 +             if p_y <= -110.  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy_inspector_egui::prelude::*`
[INFO] [stdout]  --> src/inspector_egui.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use bevy_inspector_egui::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/map_generator.rs:75:20
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 if (p_y < -60. + 76.) {
[INFO] [stdout]    |                    ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 75 -                 if (p_y < -60. + 76.) {
[INFO] [stdout] 75 +                 if p_y < -60. + 76.  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/map_database.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/map_generator.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 |     if (water_flag) {
[INFO] [stdout]     |        ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 102 -     if (water_flag) {
[INFO] [stdout] 102 +     if water_flag  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IVec3`
[INFO] [stdout]  --> src/map_database.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 | use bevy::prelude::{IVec3, Resource};
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/map_generator.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 |     if (point[0] >= CHUNK_SIZE_U32 || point[1] >= CHUNK_SIZE_U32 || point[2] >= CHUNK_SIZE_U32) {
[INFO] [stdout]     |        ^                                                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 -     if (point[0] >= CHUNK_SIZE_U32 || point[1] >= CHUNK_SIZE_U32 || point[2] >= CHUNK_SIZE_U32) {
[INFO] [stdout] 140 +     if point[0] >= CHUNK_SIZE_U32 || point[1] >= CHUNK_SIZE_U32 || point[2] >= CHUNK_SIZE_U32  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `E` and `PI`
[INFO] [stdout]  --> src/map_generator.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::f32::consts::{E, PI};
[INFO] [stdout]   |                        ^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec3`
[INFO] [stdout]  --> src/mesh.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 |     prelude::{Mesh, Vec3},
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/map_generator.rs:57:16
[INFO] [stdout]    |
[INFO] [stdout] 57 |             if (p_y <= -110.) {
[INFO] [stdout]    |                ^            ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 -             if (p_y <= -110.) {
[INFO] [stdout] 57 +             if p_y <= -110.  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy_rapier3d::prelude::Collider`
[INFO] [stdout]  --> src/mesh.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use bevy_rapier3d::prelude::Collider;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/map_generator.rs:75:20
[INFO] [stdout]    |
[INFO] [stdout] 75 |                 if (p_y < -60. + 76.) {
[INFO] [stdout]    |                    ^                ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 75 -                 if (p_y < -60. + 76.) {
[INFO] [stdout] 75 +                 if p_y < -60. + 76.  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PbrBundle`
[INFO] [stdout]  --> src/mesh_generator.rs:5:87
[INFO] [stdout]   |
[INFO] [stdout] 5 |         AlphaMode, Assets, Color, Commands, Entity, Handle, MaterialMeshBundle, Mesh, PbrBundle,
[INFO] [stdout]   |                                                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/map_generator.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 |     if (water_flag) {
[INFO] [stdout]     |        ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 102 -     if (water_flag) {
[INFO] [stdout] 102 +     if water_flag  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Collider`, `RigidBodyType`, `RigidBody`, and `SharedShape`
[INFO] [stdout]   --> src/mesh_generator.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     prelude::{Collider, RigidBody},
[INFO] [stdout]    |               ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 12 |     rapier::prelude::{RigidBodyType, SharedShape},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/map_generator.rs:140:8
[INFO] [stdout]     |
[INFO] [stdout] 140 |     if (point[0] >= CHUNK_SIZE_U32 || point[1] >= CHUNK_SIZE_U32 || point[2] >= CHUNK_SIZE_U32) {
[INFO] [stdout]     |        ^                                                                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 140 -     if (point[0] >= CHUNK_SIZE_U32 || point[1] >= CHUNK_SIZE_U32 || point[2] >= CHUNK_SIZE_U32) {
[INFO] [stdout] 140 +     if point[0] >= CHUNK_SIZE_U32 || point[1] >= CHUNK_SIZE_U32 || point[2] >= CHUNK_SIZE_U32  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Vec3`
[INFO] [stdout]  --> src/mesh.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 |     prelude::{Mesh, Vec3},
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy_rapier3d::prelude::Collider`
[INFO] [stdout]  --> src/mesh.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use bevy_rapier3d::prelude::Collider;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PbrBundle`
[INFO] [stdout]  --> src/mesh_generator.rs:5:87
[INFO] [stdout]   |
[INFO] [stdout] 5 |         AlphaMode, Assets, Color, Commands, Entity, Handle, MaterialMeshBundle, Mesh, PbrBundle,
[INFO] [stdout]   |                                                                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Collider`, `RigidBodyType`, `RigidBody`, and `SharedShape`
[INFO] [stdout]   --> src/mesh_generator.rs:11:15
[INFO] [stdout]    |
[INFO] [stdout] 11 |     prelude::{Collider, RigidBody},
[INFO] [stdout]    |               ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 12 |     rapier::prelude::{RigidBodyType, SharedShape},
[INFO] [stdout]    |                       ^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bincode::de`
[INFO] [stdout]   --> src/mesh_generator.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use bincode::de;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VIEW_RADIUS`
[INFO] [stdout]   --> src/mesh_generator.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 |     SmallKeyHashMap, CHUNK_SIZE, VIEW_RADIUS,
[INFO] [stdout]    |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UPDATE_MESH` should have an upper camel case name
[INFO] [stdout]   --> src/mesh_generator.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     UPDATE_MESH,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `UpdateMesh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/mesh_generator.rs:59:16
[INFO] [stdout]    |
[INFO] [stdout] 59 |             if (!chunk_map.map_data.contains_key(&key)) {
[INFO] [stdout]    |                ^                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -             if (!chunk_map.map_data.contains_key(&key)) {
[INFO] [stdout] 59 +             if !chunk_map.map_data.contains_key(&key)  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `World`
[INFO] [stdout]  --> src/palyer.rs:7:69
[INFO] [stdout]   |
[INFO] [stdout] 7 |     ResMut, Resource, Startup, Transform, Update, Vec2, Vec3, With, World,
[INFO] [stdout]   |                                                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Pos2` and `Stroke`
[INFO] [stdout]   --> src/palyer.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 | use bevy_egui::egui::{self, Color32, Pos2, Stroke};
[INFO] [stdout]    |                                      ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bincode::de`
[INFO] [stdout]   --> src/mesh_generator.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use bincode::de;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `VIEW_RADIUS`
[INFO] [stdout]   --> src/mesh_generator.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 |     SmallKeyHashMap, CHUNK_SIZE, VIEW_RADIUS,
[INFO] [stdout]    |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueryFilter`
[INFO] [stdout]   --> src/palyer.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 | use bevy_rapier3d::prelude::{QueryFilter, RigidBody};
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `UPDATE_MESH` should have an upper camel case name
[INFO] [stdout]   --> src/mesh_generator.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     UPDATE_MESH,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to upper camel case: `UpdateMesh`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]   --> src/mesh_generator.rs:59:16
[INFO] [stdout]    |
[INFO] [stdout] 59 |             if (!chunk_map.map_data.contains_key(&key)) {
[INFO] [stdout]    |                ^                                      ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 59 -             if (!chunk_map.map_data.contains_key(&key)) {
[INFO] [stdout] 59 +             if !chunk_map.map_data.contains_key(&key)  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `World`
[INFO] [stdout]  --> src/palyer.rs:7:69
[INFO] [stdout]   |
[INFO] [stdout] 7 |     ResMut, Resource, Startup, Transform, Update, Vec2, Vec3, With, World,
[INFO] [stdout]   |                                                                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Pos2` and `Stroke`
[INFO] [stdout]   --> src/palyer.rs:13:38
[INFO] [stdout]    |
[INFO] [stdout] 13 | use bevy_egui::egui::{self, Color32, Pos2, Stroke};
[INFO] [stdout]    |                                      ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `QueryFilter`
[INFO] [stdout]   --> src/palyer.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 | use bevy_rapier3d::prelude::{QueryFilter, RigidBody};
[INFO] [stdout]    |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FogFalloff` and `FogSettings`
[INFO] [stdout]  --> src/player_controller.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 |         ComputedVisibility, Entity, FogFalloff, FogSettings, GlobalTransform, Input, KeyCode, Mat4,
[INFO] [stdout]   |                                     ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ccd`, `NoUserData`, and `RapierPhysicsPlugin`
[INFO] [stdout]   --> src/player_controller.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Ccd, CoefficientCombineRule, Collider, ColliderMassProperties, Damping, Friction, LockedAxes,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 13 |     NoUserData, RapierPhysicsPlugin, Restitution, RigidBody, Sleeping,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FogFalloff` and `FogSettings`
[INFO] [stdout]  --> src/player_controller.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 |         ComputedVisibility, Entity, FogFalloff, FogSettings, GlobalTransform, Input, KeyCode, Mat4,
[INFO] [stdout]   |                                     ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/player_controller.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 |     if (!controller_flag.flag) {
[INFO] [stdout]     |        ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 204 -     if (!controller_flag.flag) {
[INFO] [stdout] 204 +     if !controller_flag.flag  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Grass`, `StaffInfoStroge`, and `VoxelMaterial`
[INFO] [stdout]  --> src/player_ui.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     staff::{Staff, StaffInfoStroge},
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     voxel::{Grass, VoxelMaterial},
[INFO] [stdout]   |             ^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Events`
[INFO] [stdout]  --> src/player_ui.rs:9:77
[INFO] [stdout]   |
[INFO] [stdout] 9 |         App, AssetServer, Changed, Color, Commands, Component, EventReader, Events, Input, KeyCode,
[INFO] [stdout]   |                                                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Ccd`, `NoUserData`, and `RapierPhysicsPlugin`
[INFO] [stdout]   --> src/player_controller.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Ccd, CoefficientCombineRule, Collider, ColliderMassProperties, Damping, Friction, LockedAxes,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 13 |     NoUserData, RapierPhysicsPlugin, Restitution, RigidBody, Sleeping,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/player_ui.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 |     if (!controller_flag.flag) {
[INFO] [stdout]     |        ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -     if (!controller_flag.flag) {
[INFO] [stdout] 127 +     if !controller_flag.flag  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/player_ui.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 199 |         if (tool_bar.index == active_toolbar.index) {
[INFO] [stdout]     |            ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 199 -         if (tool_bar.index == active_toolbar.index) {
[INFO] [stdout] 199 +         if tool_bar.index == active_toolbar.index  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `pbr::wireframe::Wireframe` and `shape::Cube`
[INFO] [stdout]  --> src/ray_cast.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     pbr::wireframe::Wireframe,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     prelude::{
[INFO] [stdout] 4 |         shape::Cube, AlphaMode, Assets, Color, Commands, Component, Gizmos, GlobalTransform, Mesh,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/player_controller.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 |     if (!controller_flag.flag) {
[INFO] [stdout]     |        ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 204 -     if (!controller_flag.flag) {
[INFO] [stdout] 204 +     if !controller_flag.flag  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy_egui::egui::color_picker::Alpha`
[INFO] [stdout]   --> src/ray_cast.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use bevy_egui::egui::color_picker::Alpha;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlayerController` and `player_controller::PlayerMe`
[INFO] [stdout]   --> src/ray_cast.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |     palyer::{PlayerController, PlayerStorge},
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     player_controller::PlayerMe,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pbr::CascadeShadowConfigBuilder`
[INFO] [stdout]  --> src/sky.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     pbr::CascadeShadowConfigBuilder,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Grass`, `StaffInfoStroge`, and `VoxelMaterial`
[INFO] [stdout]  --> src/player_ui.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 |     staff::{Staff, StaffInfoStroge},
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 4 |     voxel::{Grass, VoxelMaterial},
[INFO] [stdout]   |             ^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/voxel_config.rs:107:20
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 if (self.files.contains(&path)) {
[INFO] [stdout]     |                    ^                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 if (self.files.contains(&path)) {
[INFO] [stdout] 107 +                 if self.files.contains(&path) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/main.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         (PointLightBundle {
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 196 |         }),
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 ~         PointLightBundle {
[INFO] [stdout] 189 |             point_light: PointLight {
[INFO] [stdout] ...
[INFO] [stdout] 195 |             ..Default::default()
[INFO] [stdout] 196 ~         } ,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Events`
[INFO] [stdout]  --> src/player_ui.rs:9:77
[INFO] [stdout]   |
[INFO] [stdout] 9 |         App, AssetServer, Changed, Color, Commands, Component, EventReader, Events, Input, KeyCode,
[INFO] [stdout]   |                                                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/player_ui.rs:127:8
[INFO] [stdout]     |
[INFO] [stdout] 127 |     if (!controller_flag.flag) {
[INFO] [stdout]     |        ^                     ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 127 -     if (!controller_flag.flag) {
[INFO] [stdout] 127 +     if !controller_flag.flag  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/player_ui.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 199 |         if (tool_bar.index == active_toolbar.index) {
[INFO] [stdout]     |            ^                                      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 199 -         if (tool_bar.index == active_toolbar.index) {
[INFO] [stdout] 199 +         if tool_bar.index == active_toolbar.index  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `pbr::wireframe::Wireframe` and `shape::Cube`
[INFO] [stdout]  --> src/ray_cast.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     pbr::wireframe::Wireframe,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     prelude::{
[INFO] [stdout] 4 |         shape::Cube, AlphaMode, Assets, Color, Commands, Component, Gizmos, GlobalTransform, Mesh,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy_egui::egui::color_picker::Alpha`
[INFO] [stdout]   --> src/ray_cast.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use bevy_egui::egui::color_picker::Alpha;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PlayerController` and `player_controller::PlayerMe`
[INFO] [stdout]   --> src/ray_cast.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 |     palyer::{PlayerController, PlayerStorge},
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     player_controller::PlayerMe,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pbr::CascadeShadowConfigBuilder`
[INFO] [stdout]  --> src/sky.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     pbr::CascadeShadowConfigBuilder,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/voxel_config.rs:107:20
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 if (self.files.contains(&path)) {
[INFO] [stdout]     |                    ^                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 107 -                 if (self.files.contains(&path)) {
[INFO] [stdout] 107 +                 if self.files.contains(&path) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/main.rs:188:9
[INFO] [stdout]     |
[INFO] [stdout] 188 |         (PointLightBundle {
[INFO] [stdout]     |         ^
[INFO] [stdout] ...
[INFO] [stdout] 196 |         }),
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 188 ~         PointLightBundle {
[INFO] [stdout] 189 |             point_light: PointLight {
[INFO] [stdout] ...
[INFO] [stdout] 195 |             ..Default::default()
[INFO] [stdout] 196 ~         } ,
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/chunk_command.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     mut mouse_button_input: ResMut<Input<MouseButton>>,
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/chunk_command.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     mut choose_cube: ResMut<ChooseCube>,
[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]    --> src/chunk_generator.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     mut db: ResMut<MapDataBase>,
[INFO] [stdout]     |     ----^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `assets`
[INFO] [stdout]   --> src/classes/mod.rs:58:29
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn c_toolbar_box_normal(assets: &AssetServer, node: &mut ButtonBundle) {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_assets`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `assets`
[INFO] [stdout]   --> src/classes/mod.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn c_test_staff(assets: &AssetServer, b: &mut ImageBundle) {
[INFO] [stdout]    |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_assets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/clip_spheres.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     mut query: Query<&mut Transform, With<T>>,
[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]   --> src/collider_generator.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     mut mesh_manager: ResMut<MeshManager>,
[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]   --> src/collider_generator.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     mut collider_manager: ResMut<ColliderManager>,
[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]    --> src/chunk_command.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     mut mouse_button_input: ResMut<Input<MouseButton>>,
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/chunk_command.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     mut choose_cube: ResMut<ChooseCube>,
[INFO] [stdout]     |     ----^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/map_database.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         for i in 0..SampleShape::SIZE {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/map_database.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p_x`
[INFO] [stdout]   --> src/map_generator.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let p_x = base_x + x as f32;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_p_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p_z`
[INFO] [stdout]   --> src/map_generator.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let p_z = base_z + z as f32;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_p_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/map_generator.rs:93:14
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let [x, y, z] = SampleShape::delinearize(i);
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]   --> src/map_generator.rs:93:20
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let [x, y, z] = SampleShape::delinearize(i);
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min`
[INFO] [stdout]    --> src/map_generator.rs:181:17
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let (noise, min, max) = NoiseBuilder::ridge_2d_offset(
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max`
[INFO] [stdout]    --> src/map_generator.rs:181:22
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let (noise, min, max) = NoiseBuilder::ridge_2d_offset(
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min`
[INFO] [stdout]    --> src/map_generator.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let (noise, min, max) = NoiseBuilder::fbm_3d_offset(
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max`
[INFO] [stdout]    --> src/map_generator.rs:198:22
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let (noise, min, max) = NoiseBuilder::fbm_3d_offset(
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/chunk_generator.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     mut db: ResMut<MapDataBase>,
[INFO] [stdout]     |     ----^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `assets`
[INFO] [stdout]   --> src/classes/mod.rs:58:29
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub fn c_toolbar_box_normal(assets: &AssetServer, node: &mut ButtonBundle) {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_assets`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `assets`
[INFO] [stdout]   --> src/classes/mod.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub fn c_test_staff(assets: &AssetServer, b: &mut ImageBundle) {
[INFO] [stdout]    |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_assets`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/clip_spheres.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     mut query: Query<&mut Transform, With<T>>,
[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]   --> src/collider_generator.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     mut mesh_manager: ResMut<MeshManager>,
[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]   --> src/collider_generator.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     mut collider_manager: ResMut<ColliderManager>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pipeline`
[INFO] [stdout]    --> src/mesh_material.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         pipeline: &bevy::pbr::MaterialPipeline<Self>,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipeline`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/mesh_material.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |         key: bevy::pbr::MaterialPipelineKey<Self>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/map_database.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         for i in 0..SampleShape::SIZE {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/map_database.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |             Err(e) => {
[INFO] [stdout]    |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p_x`
[INFO] [stdout]   --> src/map_generator.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         let p_x = base_x + x as f32;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_p_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `p_z`
[INFO] [stdout]   --> src/map_generator.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let p_z = base_z + z as f32;
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_p_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]   --> src/map_generator.rs:93:14
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let [x, y, z] = SampleShape::delinearize(i);
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `z`
[INFO] [stdout]   --> src/map_generator.rs:93:20
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let [x, y, z] = SampleShape::delinearize(i);
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_z`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min`
[INFO] [stdout]    --> src/map_generator.rs:181:17
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let (noise, min, max) = NoiseBuilder::ridge_2d_offset(
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max`
[INFO] [stdout]    --> src/map_generator.rs:181:22
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let (noise, min, max) = NoiseBuilder::ridge_2d_offset(
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `min`
[INFO] [stdout]    --> src/map_generator.rs:198:17
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let (noise, min, max) = NoiseBuilder::fbm_3d_offset(
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `max`
[INFO] [stdout]    --> src/map_generator.rs:198:22
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let (noise, min, max) = NoiseBuilder::fbm_3d_offset(
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pipeline`
[INFO] [stdout]    --> src/mesh_material.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         pipeline: &bevy::pbr::MaterialPipeline<Self>,
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_pipeline`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/mesh_material.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |         key: bevy::pbr::MaterialPipelineKey<Self>,
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/player_ui.rs:112:10
[INFO] [stdout]     |
[INFO] [stdout] 112 |     for (mut node, mut color, tool_bar) in &mut query {
[INFO] [stdout]     |          ----^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/player_ui.rs:112:10
[INFO] [stdout]     |
[INFO] [stdout] 112 |     for (mut node, mut color, tool_bar) in &mut query {
[INFO] [stdout]     |          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]   --> src/ray_cast.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 |         Some((entity, intersect)) => {
[INFO] [stdout]    |               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/player_ui.rs:112:10
[INFO] [stdout]     |
[INFO] [stdout] 112 |     for (mut node, mut color, tool_bar) in &mut query {
[INFO] [stdout]     |          ----^^^^
[INFO] [stdout]     |          |
[INFO] [stdout]     |          help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/player_ui.rs:112:10
[INFO] [stdout]     |
[INFO] [stdout] 112 |     for (mut node, mut color, tool_bar) in &mut query {
[INFO] [stdout]     |          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]   --> src/ray_cast.rs:71:15
[INFO] [stdout]    |
[INFO] [stdout] 71 |         Some((entity, intersect)) => {
[INFO] [stdout]    |               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/voxel_config.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 let mut new_self = res.load_all_voxels();
[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]    --> src/voxel_config.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     mut materials: ResMut<Assets<BindlessMaterial>>,
[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]    --> src/main.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     mut materials: ResMut<Assets<BindlessMaterial>>,
[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]    --> src/main.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let mut db = MapDataBase::new("world_test");
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChunkFlush` is never constructed
[INFO] [stdout]    --> src/main.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | struct ChunkFlush;
[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 `c_bule` is never used
[INFO] [stdout]   --> src/classes/mod.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn c_bule(node: &mut NodeBundle) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `c_red` is never used
[INFO] [stdout]   --> src/classes/mod.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn c_red(node: &mut NodeBundle) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `c_yellow` is never used
[INFO] [stdout]   --> src/classes/mod.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn c_yellow(node: &mut NodeBundle) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `radius` is never read
[INFO] [stdout]  --> src/clip_spheres.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Sphere3 {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 7 |     pub center: Vec3,
[INFO] [stdout] 8 |     pub radius: f32,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Sphere3` 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: variant `COLLIDER_DESPAWN` is never constructed
[INFO] [stdout]   --> src/collider_generator.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum ColliderSystem {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 39 |     COLLIDER_DESPAWN,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColliderSystem` 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: function `inspector_ui` is never used
[INFO] [stdout]  --> src/inspector_egui.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn inspector_ui(world: &mut World) {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `noise3d` is never used
[INFO] [stdout]    --> src/map_generator.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn noise3d(chunk_key: ChunkKey, seed: i32) -> Vec<f32> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `init` is never used
[INFO] [stdout]    --> src/mesh_material.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl MaterialStorge {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 173 |     pub fn init(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `initial_grab_on_flycam_spawn` is never used
[INFO] [stdout]    --> src/palyer.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn initial_grab_on_flycam_spawn(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `choose_by_wheel` is never used
[INFO] [stdout]    --> src/player_ui.rs:155:4
[INFO] [stdout]     |
[INFO] [stdout] 155 | fn choose_by_wheel(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/staff.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Staff {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Staff` 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: associated constants `VoxelIds`, `soil`, `grass`, and `stone` are never used
[INFO] [stdout]   --> src/voxel.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Voxel {
[INFO] [stdout]    | ---------- associated constants in this implementation
[INFO] [stdout] 10 |     pub const VoxelIds: [u8; 4] = [1, 2, 3, 4];
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub const soil: Self = Self { id: 2 };
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 16 |     // 草坪
[INFO] [stdout] 17 |     pub const grass: Self = Self { id: 3 };
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 18 |     // 岩石
[INFO] [stdout] 19 |     pub const stone: Self = Self { id: 1 };
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Empty` is never constructed
[INFO] [stdout]   --> src/voxel.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 | voxel_material!(Empty, 空气, 0);
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `voxel_material` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `NAME` and `CN_NAME` are never used
[INFO] [stdout]   --> src/voxel.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |         impl $types {
[INFO] [stdout]    |         ----------- associated constants in this implementation
[INFO] [stdout] 54 |             pub const NAME: &'static str = stringify!($types);
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 55 |             pub const CN_NAME: &'static str = stringify!($ch_name);
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 | voxel_material!(Empty, 空气, 0);
[INFO] [stdout]    | ------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `voxel_material` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `NAME` and `CN_NAME` are never used
[INFO] [stdout]   --> src/voxel.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |         impl $types {
[INFO] [stdout]    |         ----------- associated constants in this implementation
[INFO] [stdout] 54 |             pub const NAME: &'static str = stringify!($types);
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 55 |             pub const CN_NAME: &'static str = stringify!($ch_name);
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 | voxel_material!(Sown, 雪方块, 4);
[INFO] [stdout]    | -------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `voxel_material` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `NAME` and `CN_NAME` are never used
[INFO] [stdout]   --> src/voxel.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |         impl $types {
[INFO] [stdout]    |         ----------- associated constants in this implementation
[INFO] [stdout] 54 |             pub const NAME: &'static str = stringify!($types);
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 55 |             pub const CN_NAME: &'static str = stringify!($ch_name);
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 | voxel_material!(Water, 水, 5);
[INFO] [stdout]    | ----------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `voxel_material` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `NAME` and `CN_NAME` are never used
[INFO] [stdout]   --> src/voxel.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |         impl $types {
[INFO] [stdout]    |         ----------- associated constants in this implementation
[INFO] [stdout] 54 |             pub const NAME: &'static str = stringify!($types);
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 55 |             pub const CN_NAME: &'static str = stringify!($ch_name);
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 | voxel_material!(Sand, 沙子, 6);
[INFO] [stdout]    | ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `voxel_material` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `NAME` and `CN_NAME` are never used
[INFO] [stdout]   --> src/voxel.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |         impl $types {
[INFO] [stdout]    |         ----------- associated constants in this implementation
[INFO] [stdout] 54 |             pub const NAME: &'static str = stringify!($types);
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 55 |             pub const CN_NAME: &'static str = stringify!($ch_name);
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 | voxel_material!(BasicStone, 基岩, 7);
[INFO] [stdout]    | ------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `voxel_material` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/chunk.rs:18:44
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let hash_bytes: [u8; 8] = unsafe { std::mem::transmute(hash_value) };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 18 -         let hash_bytes: [u8; 8] = unsafe { std::mem::transmute(hash_value) };
[INFO] [stdout] 18 +         let hash_bytes: [u8; 8] = unsafe { u64::to_ne_bytes(hash_value) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `VoxelIds` should have an upper case name
[INFO] [stdout]   --> src/voxel.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const VoxelIds: [u8; 4] = [1, 2, 3, 4];
[INFO] [stdout]    |               ^^^^^^^^ help: convert the identifier to upper case: `VOXEL_IDS`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `soil` should have an upper case name
[INFO] [stdout]   --> src/voxel.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub const soil: Self = Self { id: 2 };
[INFO] [stdout]    |               ^^^^ help: convert the identifier to upper case: `SOIL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `grass` should have an upper case name
[INFO] [stdout]   --> src/voxel.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const grass: Self = Self { id: 3 };
[INFO] [stdout]    |               ^^^^^ help: convert the identifier to upper case: `GRASS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `stone` should have an upper case name
[INFO] [stdout]   --> src/voxel.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub const stone: Self = Self { id: 1 };
[INFO] [stdout]    |               ^^^^^ help: convert the identifier to upper case: `STONE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/voxel_config.rs:133:21
[INFO] [stdout]     |
[INFO] [stdout] 133 |                 let mut new_self = res.load_all_voxels();
[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]    --> src/voxel_config.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     mut materials: ResMut<Assets<BindlessMaterial>>,
[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]    --> src/main.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     mut materials: ResMut<Assets<BindlessMaterial>>,
[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]    --> src/main.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |     let mut db = MapDataBase::new("world_test");
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ChunkFlush` is never constructed
[INFO] [stdout]    --> src/main.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 | struct ChunkFlush;
[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 `c_bule` is never used
[INFO] [stdout]   --> src/classes/mod.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub fn c_bule(node: &mut NodeBundle) {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `c_red` is never used
[INFO] [stdout]   --> src/classes/mod.rs:50:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub fn c_red(node: &mut NodeBundle) {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `c_yellow` is never used
[INFO] [stdout]   --> src/classes/mod.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn c_yellow(node: &mut NodeBundle) {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `radius` is never read
[INFO] [stdout]  --> src/clip_spheres.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Sphere3 {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 7 |     pub center: Vec3,
[INFO] [stdout] 8 |     pub radius: f32,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Sphere3` 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: variant `COLLIDER_DESPAWN` is never constructed
[INFO] [stdout]   --> src/collider_generator.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum ColliderSystem {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 39 |     COLLIDER_DESPAWN,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ColliderSystem` 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: function `inspector_ui` is never used
[INFO] [stdout]  --> src/inspector_egui.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn inspector_ui(world: &mut World) {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `noise3d` is never used
[INFO] [stdout]    --> src/map_generator.rs:162:8
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub fn noise3d(chunk_key: ChunkKey, seed: i32) -> Vec<f32> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `init` is never used
[INFO] [stdout]    --> src/mesh_material.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl MaterialStorge {
[INFO] [stdout]     | ------------------- associated function in this implementation
[INFO] [stdout] 173 |     pub fn init(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `initial_grab_on_flycam_spawn` is never used
[INFO] [stdout]    --> src/palyer.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn initial_grab_on_flycam_spawn(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `choose_by_wheel` is never used
[INFO] [stdout]    --> src/player_ui.rs:155:4
[INFO] [stdout]     |
[INFO] [stdout] 155 | fn choose_by_wheel(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/staff.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Staff {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Staff` 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: associated constants `VoxelIds`, `soil`, `grass`, and `stone` are never used
[INFO] [stdout]   --> src/voxel.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Voxel {
[INFO] [stdout]    | ---------- associated constants in this implementation
[INFO] [stdout] 10 |     pub const VoxelIds: [u8; 4] = [1, 2, 3, 4];
[INFO] [stdout]    |               ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub const soil: Self = Self { id: 2 };
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 16 |     // 草坪
[INFO] [stdout] 17 |     pub const grass: Self = Self { id: 3 };
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 18 |     // 岩石
[INFO] [stdout] 19 |     pub const stone: Self = Self { id: 1 };
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Empty` is never constructed
[INFO] [stdout]   --> src/voxel.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 | voxel_material!(Empty, 空气, 0);
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `voxel_material` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `NAME` and `CN_NAME` are never used
[INFO] [stdout]   --> src/voxel.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |         impl $types {
[INFO] [stdout]    |         ----------- associated constants in this implementation
[INFO] [stdout] 54 |             pub const NAME: &'static str = stringify!($types);
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 55 |             pub const CN_NAME: &'static str = stringify!($ch_name);
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 | voxel_material!(Empty, 空气, 0);
[INFO] [stdout]    | ------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `voxel_material` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `NAME` and `CN_NAME` are never used
[INFO] [stdout]   --> src/voxel.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |         impl $types {
[INFO] [stdout]    |         ----------- associated constants in this implementation
[INFO] [stdout] 54 |             pub const NAME: &'static str = stringify!($types);
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 55 |             pub const CN_NAME: &'static str = stringify!($ch_name);
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 | voxel_material!(Sown, 雪方块, 4);
[INFO] [stdout]    | -------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `voxel_material` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `NAME` and `CN_NAME` are never used
[INFO] [stdout]   --> src/voxel.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |         impl $types {
[INFO] [stdout]    |         ----------- associated constants in this implementation
[INFO] [stdout] 54 |             pub const NAME: &'static str = stringify!($types);
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 55 |             pub const CN_NAME: &'static str = stringify!($ch_name);
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 | voxel_material!(Water, 水, 5);
[INFO] [stdout]    | ----------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `voxel_material` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `NAME` and `CN_NAME` are never used
[INFO] [stdout]   --> src/voxel.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |         impl $types {
[INFO] [stdout]    |         ----------- associated constants in this implementation
[INFO] [stdout] 54 |             pub const NAME: &'static str = stringify!($types);
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 55 |             pub const CN_NAME: &'static str = stringify!($ch_name);
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 | voxel_material!(Sand, 沙子, 6);
[INFO] [stdout]    | ------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `voxel_material` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constants `NAME` and `CN_NAME` are never used
[INFO] [stdout]   --> src/voxel.rs:54:23
[INFO] [stdout]    |
[INFO] [stdout] 53 |         impl $types {
[INFO] [stdout]    |         ----------- associated constants in this implementation
[INFO] [stdout] 54 |             pub const NAME: &'static str = stringify!($types);
[INFO] [stdout]    |                       ^^^^
[INFO] [stdout] 55 |             pub const CN_NAME: &'static str = stringify!($ch_name);
[INFO] [stdout]    |                       ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 | voxel_material!(BasicStone, 基岩, 7);
[INFO] [stdout]    | ------------------------------------ in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `voxel_material` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/chunk.rs:18:44
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let hash_bytes: [u8; 8] = unsafe { std::mem::transmute(hash_value) };
[INFO] [stdout]    |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 18 -         let hash_bytes: [u8; 8] = unsafe { std::mem::transmute(hash_value) };
[INFO] [stdout] 18 +         let hash_bytes: [u8; 8] = unsafe { u64::to_ne_bytes(hash_value) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `VoxelIds` should have an upper case name
[INFO] [stdout]   --> src/voxel.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const VoxelIds: [u8; 4] = [1, 2, 3, 4];
[INFO] [stdout]    |               ^^^^^^^^ help: convert the identifier to upper case: `VOXEL_IDS`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `soil` should have an upper case name
[INFO] [stdout]   --> src/voxel.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub const soil: Self = Self { id: 2 };
[INFO] [stdout]    |               ^^^^ help: convert the identifier to upper case: `SOIL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `grass` should have an upper case name
[INFO] [stdout]   --> src/voxel.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const grass: Self = Self { id: 3 };
[INFO] [stdout]    |               ^^^^^ help: convert the identifier to upper case: `GRASS`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated constant `stone` should have an upper case name
[INFO] [stdout]   --> src/voxel.rs:19:15
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub const stone: Self = Self { id: 1 };
[INFO] [stdout]    |               ^^^^^ help: convert the identifier to upper case: `STONE`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 54s
[INFO] running `Command { std: "docker" "inspect" "9e58dea4f0ac1ccf0a46c3932c82090ca33f9d69b949f0f046ea991d2a5b202b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e58dea4f0ac1ccf0a46c3932c82090ca33f9d69b949f0f046ea991d2a5b202b", kill_on_drop: false }`
[INFO] [stdout] 9e58dea4f0ac1ccf0a46c3932c82090ca33f9d69b949f0f046ea991d2a5b202b
