[INFO] cloning repository https://github.com/alula/doukutsu-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/alula/doukutsu-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falula%2Fdoukutsu-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falula%2Fdoukutsu-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 37aa3f36aac72dcf75cb82cb1e96d87bdc4fe8f5 [INFO] checking alula/doukutsu-rs against master#f21fbac535ab2c3bc50db20547f4d48477357103 for pr-143193 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falula%2Fdoukutsu-rs" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-6-tc1/source/.cargo/config [INFO] started tweaking git repo https://github.com/alula/doukutsu-rs [INFO] finished tweaking git repo https://github.com/alula/doukutsu-rs [INFO] tweaked toml for git repo https://github.com/alula/doukutsu-rs written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/alula/doukutsu-rs on toolchain f21fbac535ab2c3bc50db20547f4d48477357103 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/alula/doukutsu-rs 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" "+f21fbac535ab2c3bc50db20547f4d48477357103" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition [INFO] [stderr] (in the `clap` dependency) [INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition [INFO] [stderr] (in the `glutin` dependency) [INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition [INFO] [stderr] (in the `winit` dependency) [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Updating git repository `https://github.com/doukutsu-rs/cpal` [INFO] [stderr] Updating git repository `https://github.com/doukutsu-rs/glutin.git` [INFO] [stderr] Updating git repository `https://github.com/imgui-rs/imgui-rs.git` [INFO] [stderr] Updating git repository `https://github.com/doukutsu-rs/rust-sdl2.git` [INFO] [stderr] Updating git submodule `https://github.com/libsdl-org/SDL` [INFO] [stderr] Updating git repository `https://github.com/doukutsu-rs/winit.git` [INFO] [stderr] Updating git repository `https://github.com/doukutsu-rs/deko3d-rs` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded discord-rich-presence v0.2.5 [INFO] [stderr] Downloaded case_insensitive_hashmap v1.0.1 [INFO] [stderr] Downloaded rc-box v1.3.0 [INFO] [stderr] Downloaded vec_mut_scan v0.4.0 [INFO] [stderr] Downloaded dataview v1.0.1 [INFO] [stderr] Downloaded erasable v1.3.0 [INFO] [stderr] Downloaded pelite-macros v0.1.1 [INFO] [stderr] Downloaded pelite v0.10.0 [INFO] [stderr] Downloaded bindgen v0.62.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 99e7111082e09f5d82bd8ebf801a066b5bad7c63573d7324dd136e97581bd1d1 [INFO] running `Command { std: "docker" "start" "-a" "99e7111082e09f5d82bd8ebf801a066b5bad7c63573d7324dd136e97581bd1d1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "99e7111082e09f5d82bd8ebf801a066b5bad7c63573d7324dd136e97581bd1d1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "99e7111082e09f5d82bd8ebf801a066b5bad7c63573d7324dd136e97581bd1d1", kill_on_drop: false }` [INFO] [stdout] 99e7111082e09f5d82bd8ebf801a066b5bad7c63573d7324dd136e97581bd1d1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:cf8efcab8866f2cf4285301c7418e2f4f2a9b088c91ba69c40d5b659f81557f7" "/opt/rustwide/cargo-home/bin/cargo" "+f21fbac535ab2c3bc50db20547f4d48477357103" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 00912ccbbc80c0f57fb6e724cac0c1fe544a3aab1ad39d1408e301fb209101e2 [INFO] running `Command { std: "docker" "start" "-a" "00912ccbbc80c0f57fb6e724cac0c1fe544a3aab1ad39d1408e301fb209101e2", kill_on_drop: false }` [INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition [INFO] [stderr] (in the `clap` dependency) [INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition [INFO] [stderr] (in the `glutin` dependency) [INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition [INFO] [stderr] (in the `winit` dependency) [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking litemap v0.7.5 [INFO] [stderr] Checking writeable v0.5.5 [INFO] [stderr] Compiling icu_locid_transform_data v1.5.1 [INFO] [stderr] Compiling icu_properties_data v1.5.1 [INFO] [stderr] Checking smallvec v1.15.0 [INFO] [stderr] Compiling icu_normalizer_data v1.5.1 [INFO] [stderr] Compiling version-compare v0.1.1 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Checking utf16_iter v1.0.5 [INFO] [stderr] Checking write16 v1.0.0 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling cc v1.2.20 [INFO] [stderr] Checking miniz_oxide v0.8.8 [INFO] [stderr] Compiling rustversion v1.0.20 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Compiling sdl2 v0.37.0 (https://github.com/doukutsu-rs/rust-sdl2.git?rev=244ae85833cff4f97ab4b58331741be20e422bd7#244ae858) [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Checking bitflags v2.9.0 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking chlorine v1.0.13 [INFO] [stderr] Compiling cpal v0.15.3 (https://github.com/doukutsu-rs/cpal?rev=ce731c58b7f4759a0f4007b392e2b7f4716a347c#ce731c58) [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking mint v0.5.9 [INFO] [stderr] Checking tinyvec v1.9.0 [INFO] [stderr] Checking clap_builder v4.5.40 [INFO] [stderr] Checking ogg v0.8.0 [INFO] [stderr] Checking dataview v1.0.1 [INFO] [stderr] Checking flate2 v1.1.1 [INFO] [stderr] Checking iana-time-zone v0.1.63 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling doukutsu-rs v0.102.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking pathdiff v0.2.3 [INFO] [stderr] Checking bytemuck v1.22.0 [INFO] [stderr] Compiling pelite-macros v0.1.1 [INFO] [stderr] Checking dasp_sample v0.11.0 [INFO] [stderr] Checking no-std-compat v0.4.1 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Checking xml-rs v0.8.26 [INFO] [stderr] Checking unicase v2.8.1 [INFO] [stderr] Checking home v0.5.11 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking case_insensitive_hashmap v1.0.1 [INFO] [stderr] Checking open v3.2.0 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Checking xmltree v0.10.3 [INFO] [stderr] Checking lewton v0.10.2 [INFO] [stderr] Checking pelite v0.10.0 [INFO] [stderr] Compiling cmake v0.1.54 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling erasable v1.3.0 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stderr] Checking dirs-sys v0.3.7 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Checking rc-box v1.3.0 [INFO] [stderr] Checking fern v0.6.2 [INFO] [stderr] Checking directories v3.0.2 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking strum v0.24.1 [INFO] [stderr] Checking vec_mut_scan v0.4.0 [INFO] [stderr] Checking downcast v0.11.0 [INFO] [stderr] Checking alsa v0.9.1 [INFO] [stderr] Checking chrono v0.4.40 [INFO] [stderr] Checking image v0.24.9 [INFO] [stderr] Compiling sdl2-sys v0.37.0 (https://github.com/doukutsu-rs/rust-sdl2.git?rev=244ae85833cff4f97ab4b58331741be20e422bd7#244ae858) [INFO] [stderr] Compiling imgui-sys v0.12.0 (https://github.com/imgui-rs/imgui-rs.git?rev=5d771a83b82c5cc3dd58cca3f969d900369262e6#5d771a83) [INFO] [stderr] Compiling num-derive v0.3.3 [INFO] [stderr] Compiling strum_macros v0.24.3 [INFO] [stderr] Compiling synstructure v0.13.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.7.5 [INFO] [stderr] Compiling zerovec-derive v0.10.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling icu_provider_macros v1.5.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling clap_derive v4.5.40 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.7.5 [INFO] [stderr] Checking zerovec v0.10.4 [INFO] [stderr] Checking clap v4.5.40 [INFO] [stderr] Checking tinystr v0.7.6 [INFO] [stderr] Checking icu_collections v1.5.0 [INFO] [stderr] Checking icu_locid v1.5.0 [INFO] [stderr] Checking icu_provider v1.5.0 [INFO] [stderr] Checking icu_locid_transform v1.5.0 [INFO] [stderr] Checking icu_properties v1.5.1 [INFO] [stderr] Checking icu_normalizer v1.5.0 [INFO] [stderr] Checking discord-rich-presence v0.2.5 [INFO] [stderr] Checking idna_adapter v1.2.0 [INFO] [stderr] Checking idna v1.0.3 [INFO] [stderr] Checking url v2.5.4 [INFO] [stderr] Checking webbrowser v0.8.15 [INFO] [stderr] Checking imgui v0.12.0 (https://github.com/imgui-rs/imgui-rs.git?rev=5d771a83b82c5cc3dd58cca3f969d900369262e6#5d771a83) [INFO] [stdout] warning: unused import: `Color` [INFO] [stdout] --> src/components/credits.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::common::{Color, Rect}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Color` [INFO] [stdout] --> src/components/falling_island.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::common::{Color, Rect}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Color` [INFO] [stdout] --> src/components/credits.rs:1:21 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::common::{Color, Rect}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Color` [INFO] [stdout] --> src/components/falling_island.rs:3:21 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::common::{Color, Rect}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Color` [INFO] [stdout] --> src/game/shared_game_state.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::common::{Color, ControlFlags, Direction, FadeState}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Color` [INFO] [stdout] --> src/game/shared_game_state.rs:5:21 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::common::{Color, ControlFlags, Direction, FadeState}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stdout] --> src/game/mod.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::panic::PanicInfo; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stdout] --> src/game/mod.rs:342:22 [INFO] [stdout] | [INFO] [stdout] 342 | fn panic_hook(info: &PanicInfo<'_>) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stdout] --> src/game/mod.rs:3:17 [INFO] [stdout] | [INFO] [stdout] 3 | use std::panic::PanicInfo; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stdout] --> src/game/mod.rs:342:22 [INFO] [stdout] | [INFO] [stdout] 342 | fn panic_hook(info: &PanicInfo<'_>) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game/npc/ai/wind_fortress.rs:757:13 [INFO] [stdout] | [INFO] [stdout] 757 | let mut player = self.get_closest_player_mut(players); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/game/npc/ai/wind_fortress.rs:757:13 [INFO] [stdout] | [INFO] [stdout] 757 | let mut player = self.get_closest_player_mut(players); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/data/exe_parser.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct ExeResourceDirectory { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 25 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExeResourceDirectory` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Interpolatable` is never used [INFO] [stdout] --> src/entity.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait Interpolatable { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `channel` is never read [INFO] [stdout] --> src/graphics/bmfont.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct BMChar { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 27 | pub channel: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BMChar` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `font_size` and `base` are never read [INFO] [stdout] --> src/graphics/bmfont.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct BMFontMetadata { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 32 | pub pages: u16, [INFO] [stdout] 33 | pub font_size: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 34 | pub line_height: u16, [INFO] [stdout] 35 | pub base: u16, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BMFontMetadata` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Display` is never constructed [INFO] [stdout] --> src/sound/organya.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct Display { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/components/water_renderer.rs:74:13 [INFO] [stdout] | [INFO] [stdout] 74 | L_DELTAS.resize(self.columns.len(), 0.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/components/water_renderer.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | R_DELTAS.resize(self.columns.len(), 0.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/framework/render_opengl.rs:221:31 [INFO] [stdout] | [INFO] [stdout] 221 | if let Some(gl) = &GL_PROC { [INFO] [stdout] | ^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 221 | if let Some(gl) = &raw const GL_PROC { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/framework/render_opengl.rs:265:35 [INFO] [stdout] | [INFO] [stdout] 265 | if let Some(gl) = &GL_PROC { [INFO] [stdout] | ^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 265 | if let Some(gl) = &raw const GL_PROC { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/framework/render_opengl.rs:564:27 [INFO] [stdout] | [INFO] [stdout] 564 | if let Some(gl) = &GL_PROC { [INFO] [stdout] | ^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 564 | if let Some(gl) = &raw const GL_PROC { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/framework/render_opengl.rs:583:9 [INFO] [stdout] | [INFO] [stdout] 583 | GL_PROC.as_ref().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/framework/render_opengl.rs:990:31 [INFO] [stdout] | [INFO] [stdout] 990 | if let Some(gl) = &GL_PROC { [INFO] [stdout] | ^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 990 | if let Some(gl) = &raw const GL_PROC { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/framework/render_opengl.rs:1247:27 [INFO] [stdout] | [INFO] [stdout] 1247 | if let Some(gl) = &GL_PROC { [INFO] [stdout] | ^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 1247 | if let Some(gl) = &raw const GL_PROC { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/framework/vfs.rs:196:34 [INFO] [stdout] | [INFO] [stdout] 196 | fn is_normal_component(comp: path::Component) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 196 | fn is_normal_component(comp: path::Component<'_>) -> Option<&str> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/game/npc/mod.rs:962:23 [INFO] [stdout] | [INFO] [stdout] 962 | fn from_str(str: &'static str) -> TexRef { [INFO] [stdout] | ^^^^^^^ ------ the lifetime gets resolved as `'static` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'static` [INFO] [stdout] | [INFO] [stdout] 962 | fn from_str(str: &'static str) -> TexRef<'static> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/game/npc/list.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn iter(&self) -> NPCListMutableIterator { [INFO] [stdout] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 118 | pub fn iter(&self) -> NPCListMutableIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/game/npc/list.rs:123:23 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter_alive(&self) -> NPCListMutableAliveIterator { [INFO] [stdout] | ^^^^^ --------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter_alive(&self) -> NPCListMutableAliveIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/npc/list.rs:220:5 [INFO] [stdout] | [INFO] [stdout] 219 | pub fn test_npc_list() -> GameResult { [INFO] [stdout] | ------------------------------------ move the `impl` block outside of this function `test_npc_list` [INFO] [stdout] 220 | impl NPC { [INFO] [stdout] | ^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | `NPC` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/player/mod.rs:25:45 [INFO] [stdout] | [INFO] [stdout] 25 | #[derive(Debug, Clone, Copy, PartialEq, Eq, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ControlMode` [INFO] [stdout] 26 | #[repr(u8)] [INFO] [stdout] 27 | pub enum ControlMode { [INFO] [stdout] | ----------- `ControlMode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/scripting/tsc/opcodes.rs:4:29 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(EnumString, Debug, FromPrimitive, PartialEq, Copy, Clone)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TSCOpCode` [INFO] [stdout] 5 | pub enum TSCOpCode { [INFO] [stdout] | --------- `TSCOpCode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/scripting/tsc/opcodes.rs:270:10 [INFO] [stdout] | [INFO] [stdout] 270 | #[derive(FromPrimitive, PartialEq, Copy, Clone)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CreditOpCode` [INFO] [stdout] 271 | pub enum CreditOpCode { [INFO] [stdout] | ------------ `CreditOpCode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/shared_game_state.rs:110:45 [INFO] [stdout] | [INFO] [stdout] 110 | #[derive(PartialEq, Eq, Copy, Clone, Debug, num_derive::FromPrimitive)] [INFO] [stdout] | ^------------------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_GameDifficulty` [INFO] [stdout] 111 | pub enum GameDifficulty { [INFO] [stdout] | -------------- `GameDifficulty` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `num_derive::FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/shared_game_state.rs:117:38 [INFO] [stdout] | [INFO] [stdout] 117 | #[derive(PartialEq, Eq, Copy, Clone, num_derive::FromPrimitive)] [INFO] [stdout] | ^------------------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PlayerCount` [INFO] [stdout] 118 | pub enum PlayerCount { [INFO] [stdout] | ----------- `PlayerCount` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `num_derive::FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/shared_game_state.rs:136:38 [INFO] [stdout] | [INFO] [stdout] 136 | #[derive(PartialEq, Eq, Copy, Clone, num_derive::FromPrimitive, serde::Serialize, serde::Deserialize)] [INFO] [stdout] | ^------------------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ScreenShakeIntensity` [INFO] [stdout] 137 | pub enum ScreenShakeIntensity { [INFO] [stdout] | -------------------- `ScreenShakeIntensity` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `num_derive::FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/weapon/mod.rs:22:45 [INFO] [stdout] | [INFO] [stdout] 22 | #[derive(Debug, PartialEq, Eq, Copy, Clone, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_WeaponType` [INFO] [stdout] 23 | #[repr(u8)] [INFO] [stdout] 24 | pub enum WeaponType { [INFO] [stdout] | ---------- `WeaponType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | TEXT_BUF.clear(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | TEXT_BUF.push(c); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:191:58 [INFO] [stdout] | [INFO] [stdout] 191 | let text_width = self.compute_width(&mut TEXT_BUF.iter().copied(), symbols.as_ref()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:198:26 [INFO] [stdout] | [INFO] [stdout] 198 | &mut TEXT_BUF.iter().copied(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:211:22 [INFO] [stdout] | [INFO] [stdout] 211 | &mut TEXT_BUF.iter().copied(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:274:13 [INFO] [stdout] | [INFO] [stdout] 274 | RECTS_BUF.clear(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:285:29 [INFO] [stdout] | [INFO] [stdout] 285 | / ... RECTS_BUF.push(( [INFO] [stdout] 286 | | ... offset_x, [INFO] [stdout] 287 | | ... y + self.line_height() / 2.0 - rect.height() as f32 / 2.0, [INFO] [stdout] 288 | | ... rect as *const _, [INFO] [stdout] 289 | | ... )); [INFO] [stdout] | |________________________^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:337:29 [INFO] [stdout] | [INFO] [stdout] 337 | ... RECTS_BUF.push((offset_x, y + self.line_height() / 2.0 - rect.height() as f32 / 2.0, rect)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:364:17 [INFO] [stdout] | [INFO] [stdout] 364 | if !RECTS_BUF.is_empty() && !syms.texture.is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:367:38 [INFO] [stdout] | [INFO] [stdout] 367 | for &(x, y, rect) in RECTS_BUF.iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/graphics/font.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 26 | fn builder(&self) -> TextBuilder [INFO] [stdout] | ^^^^^ ----------- [INFO] [stdout] | | | [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 26 | fn builder(&self) -> TextBuilder<'_> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `ItemWidthStackToken` that must be used [INFO] [stdout] --> src/live_debugger/mod.rs:256:21 [INFO] [stdout] | [INFO] [stdout] 256 | ui.push_item_width(-1.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 256 | let _ = ui.push_item_width(-1.0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `ItemWidthStackToken` that must be used [INFO] [stdout] --> src/live_debugger/mod.rs:340:21 [INFO] [stdout] | [INFO] [stdout] 340 | ui.push_item_width(-1.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 340 | let _ = ui.push_item_width(-1.0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `ItemWidthStackToken` that must be used [INFO] [stdout] --> src/live_debugger/mod.rs:537:21 [INFO] [stdout] | [INFO] [stdout] 537 | ui.push_item_width(-1.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 537 | let _ = ui.push_item_width(-1.0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/menu/mod.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | &mut self, [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 769 | ) -> MenuSelectionResult { [INFO] [stdout] | ---------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 769 | ) -> MenuSelectionResult<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/util/bitvec.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn iter(&self) -> BitVecIter { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 62 | pub fn iter(&self) -> BitVecIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `size` is never read [INFO] [stdout] --> src/data/builtin_fs.rs:45:5 [INFO] [stdout] | [INFO] [stdout] 43 | struct BuiltinMetadata { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 44 | is_dir: bool, [INFO] [stdout] 45 | size: u64, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> src/data/exe_parser.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct ExeResourceDirectory { [INFO] [stdout] | -------------------- field in this struct [INFO] [stdout] 25 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExeResourceDirectory` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Interpolatable` is never used [INFO] [stdout] --> src/entity.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait Interpolatable { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `channel` is never read [INFO] [stdout] --> src/graphics/bmfont.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct BMChar { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 27 | pub channel: u8, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BMChar` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `font_size` and `base` are never read [INFO] [stdout] --> src/graphics/bmfont.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 31 | pub struct BMFontMetadata { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 32 | pub pages: u16, [INFO] [stdout] 33 | pub font_size: i16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 34 | pub line_height: u16, [INFO] [stdout] 35 | pub base: u16, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BMFontMetadata` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Display` is never constructed [INFO] [stdout] --> src/sound/organya.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 27 | pub struct Display { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/components/water_renderer.rs:74:13 [INFO] [stdout] | [INFO] [stdout] 74 | L_DELTAS.resize(self.columns.len(), 0.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/components/water_renderer.rs:75:13 [INFO] [stdout] | [INFO] [stdout] 75 | R_DELTAS.resize(self.columns.len(), 0.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/framework/render_opengl.rs:221:31 [INFO] [stdout] | [INFO] [stdout] 221 | if let Some(gl) = &GL_PROC { [INFO] [stdout] | ^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 221 | if let Some(gl) = &raw const GL_PROC { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/framework/render_opengl.rs:265:35 [INFO] [stdout] | [INFO] [stdout] 265 | if let Some(gl) = &GL_PROC { [INFO] [stdout] | ^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 265 | if let Some(gl) = &raw const GL_PROC { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/framework/render_opengl.rs:564:27 [INFO] [stdout] | [INFO] [stdout] 564 | if let Some(gl) = &GL_PROC { [INFO] [stdout] | ^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 564 | if let Some(gl) = &raw const GL_PROC { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/framework/render_opengl.rs:583:9 [INFO] [stdout] | [INFO] [stdout] 583 | GL_PROC.as_ref().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/framework/render_opengl.rs:990:31 [INFO] [stdout] | [INFO] [stdout] 990 | if let Some(gl) = &GL_PROC { [INFO] [stdout] | ^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 990 | if let Some(gl) = &raw const GL_PROC { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/framework/render_opengl.rs:1247:27 [INFO] [stdout] | [INFO] [stdout] 1247 | if let Some(gl) = &GL_PROC { [INFO] [stdout] | ^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] help: use `&raw const` instead to create a raw pointer [INFO] [stdout] | [INFO] [stdout] 1247 | if let Some(gl) = &raw const GL_PROC { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/framework/vfs.rs:196:34 [INFO] [stdout] | [INFO] [stdout] 196 | fn is_normal_component(comp: path::Component) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ ---- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 196 | fn is_normal_component(comp: path::Component<'_>) -> Option<&str> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/game/npc/mod.rs:962:23 [INFO] [stdout] | [INFO] [stdout] 962 | fn from_str(str: &'static str) -> TexRef { [INFO] [stdout] | ^^^^^^^ ------ the lifetime gets resolved as `'static` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to consistently use `'static` [INFO] [stdout] | [INFO] [stdout] 962 | fn from_str(str: &'static str) -> TexRef<'static> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/game/npc/list.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn iter(&self) -> NPCListMutableIterator { [INFO] [stdout] | ^^^^^ ---------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 118 | pub fn iter(&self) -> NPCListMutableIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/game/npc/list.rs:123:23 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter_alive(&self) -> NPCListMutableAliveIterator { [INFO] [stdout] | ^^^^^ --------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter_alive(&self) -> NPCListMutableAliveIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/player/mod.rs:25:45 [INFO] [stdout] | [INFO] [stdout] 25 | #[derive(Debug, Clone, Copy, PartialEq, Eq, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ControlMode` [INFO] [stdout] 26 | #[repr(u8)] [INFO] [stdout] 27 | pub enum ControlMode { [INFO] [stdout] | ----------- `ControlMode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/scripting/tsc/opcodes.rs:4:29 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(EnumString, Debug, FromPrimitive, PartialEq, Copy, Clone)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_TSCOpCode` [INFO] [stdout] 5 | pub enum TSCOpCode { [INFO] [stdout] | --------- `TSCOpCode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/scripting/tsc/opcodes.rs:270:10 [INFO] [stdout] | [INFO] [stdout] 270 | #[derive(FromPrimitive, PartialEq, Copy, Clone)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_CreditOpCode` [INFO] [stdout] 271 | pub enum CreditOpCode { [INFO] [stdout] | ------------ `CreditOpCode` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/shared_game_state.rs:110:45 [INFO] [stdout] | [INFO] [stdout] 110 | #[derive(PartialEq, Eq, Copy, Clone, Debug, num_derive::FromPrimitive)] [INFO] [stdout] | ^------------------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_GameDifficulty` [INFO] [stdout] 111 | pub enum GameDifficulty { [INFO] [stdout] | -------------- `GameDifficulty` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `num_derive::FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/shared_game_state.rs:117:38 [INFO] [stdout] | [INFO] [stdout] 117 | #[derive(PartialEq, Eq, Copy, Clone, num_derive::FromPrimitive)] [INFO] [stdout] | ^------------------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PlayerCount` [INFO] [stdout] 118 | pub enum PlayerCount { [INFO] [stdout] | ----------- `PlayerCount` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `num_derive::FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/shared_game_state.rs:136:38 [INFO] [stdout] | [INFO] [stdout] 136 | #[derive(PartialEq, Eq, Copy, Clone, num_derive::FromPrimitive, serde::Serialize, serde::Deserialize)] [INFO] [stdout] | ^------------------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_ScreenShakeIntensity` [INFO] [stdout] 137 | pub enum ScreenShakeIntensity { [INFO] [stdout] | -------------------- `ScreenShakeIntensity` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `num_derive::FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `num_derive::FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/game/weapon/mod.rs:22:45 [INFO] [stdout] | [INFO] [stdout] 22 | #[derive(Debug, PartialEq, Eq, Copy, Clone, FromPrimitive)] [INFO] [stdout] | ^------------ [INFO] [stdout] | | [INFO] [stdout] | `FromPrimitive` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_WeaponType` [INFO] [stdout] 23 | #[repr(u8)] [INFO] [stdout] 24 | pub enum WeaponType { [INFO] [stdout] | ---------- `WeaponType` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:185:13 [INFO] [stdout] | [INFO] [stdout] 185 | TEXT_BUF.clear(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:187:17 [INFO] [stdout] | [INFO] [stdout] 187 | TEXT_BUF.push(c); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:191:58 [INFO] [stdout] | [INFO] [stdout] 191 | let text_width = self.compute_width(&mut TEXT_BUF.iter().copied(), symbols.as_ref()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:198:26 [INFO] [stdout] | [INFO] [stdout] 198 | &mut TEXT_BUF.iter().copied(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:211:22 [INFO] [stdout] | [INFO] [stdout] 211 | &mut TEXT_BUF.iter().copied(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:274:13 [INFO] [stdout] | [INFO] [stdout] 274 | RECTS_BUF.clear(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:285:29 [INFO] [stdout] | [INFO] [stdout] 285 | / ... RECTS_BUF.push(( [INFO] [stdout] 286 | | ... offset_x, [INFO] [stdout] 287 | | ... y + self.line_height() / 2.0 - rect.height() as f32 / 2.0, [INFO] [stdout] 288 | | ... rect as *const _, [INFO] [stdout] 289 | | ... )); [INFO] [stdout] | |________________________^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:337:29 [INFO] [stdout] | [INFO] [stdout] 337 | ... RECTS_BUF.push((offset_x, y + self.line_height() / 2.0 - rect.height() as f32 / 2.0, rect)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:364:17 [INFO] [stdout] | [INFO] [stdout] 364 | if !RECTS_BUF.is_empty() && !syms.texture.is_empty() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/graphics/bmfont.rs:367:38 [INFO] [stdout] | [INFO] [stdout] 367 | for &(x, y, rect) in RECTS_BUF.iter() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/graphics/font.rs:26:16 [INFO] [stdout] | [INFO] [stdout] 26 | fn builder(&self) -> TextBuilder [INFO] [stdout] | ^^^^^ ----------- [INFO] [stdout] | | | [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | | the lifetimes get resolved as `'_` [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 26 | fn builder(&self) -> TextBuilder<'_> [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `ItemWidthStackToken` that must be used [INFO] [stdout] --> src/live_debugger/mod.rs:256:21 [INFO] [stdout] | [INFO] [stdout] 256 | ui.push_item_width(-1.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 256 | let _ = ui.push_item_width(-1.0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `ItemWidthStackToken` that must be used [INFO] [stdout] --> src/live_debugger/mod.rs:340:21 [INFO] [stdout] | [INFO] [stdout] 340 | ui.push_item_width(-1.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 340 | let _ = ui.push_item_width(-1.0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `ItemWidthStackToken` that must be used [INFO] [stdout] --> src/live_debugger/mod.rs:537:21 [INFO] [stdout] | [INFO] [stdout] 537 | ui.push_item_width(-1.0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 537 | let _ = ui.push_item_width(-1.0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/menu/mod.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | &mut self, [INFO] [stdout] | ^^^^^^^^^ this lifetime flows to the output [INFO] [stdout] ... [INFO] [stdout] 769 | ) -> MenuSelectionResult { [INFO] [stdout] | ---------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 769 | ) -> MenuSelectionResult<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/util/bitvec.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn iter(&self) -> BitVecIter { [INFO] [stdout] | ^^^^^ ---------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 62 | pub fn iter(&self) -> BitVecIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 06s [INFO] running `Command { std: "docker" "inspect" "00912ccbbc80c0f57fb6e724cac0c1fe544a3aab1ad39d1408e301fb209101e2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "00912ccbbc80c0f57fb6e724cac0c1fe544a3aab1ad39d1408e301fb209101e2", kill_on_drop: false }` [INFO] [stdout] 00912ccbbc80c0f57fb6e724cac0c1fe544a3aab1ad39d1408e301fb209101e2