[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] f4b5df3640f264531fb285be6291961e58266fa7 [INFO] checking alula/doukutsu-rs against try#b047d5f4496a7526d91d0dddea494c05853f2a7b for pr-122661-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Falula%2Fdoukutsu-rs" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-4-tc2/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-4-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/alula/doukutsu-rs on toolchain b047d5f4496a7526d91d0dddea494c05853f2a7b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b047d5f4496a7526d91d0dddea494c05853f2a7b" "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" "+b047d5f4496a7526d91d0dddea494c05853f2a7b" "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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+b047d5f4496a7526d91d0dddea494c05853f2a7b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2c9df69006e57fea5c75c0836590f26939a04432da8d8692fa2b9a5b8523abc1 [INFO] running `Command { std: "docker" "start" "-a" "2c9df69006e57fea5c75c0836590f26939a04432da8d8692fa2b9a5b8523abc1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2c9df69006e57fea5c75c0836590f26939a04432da8d8692fa2b9a5b8523abc1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2c9df69006e57fea5c75c0836590f26939a04432da8d8692fa2b9a5b8523abc1", kill_on_drop: false }` [INFO] [stdout] 2c9df69006e57fea5c75c0836590f26939a04432da8d8692fa2b9a5b8523abc1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+b047d5f4496a7526d91d0dddea494c05853f2a7b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7e06e41a0c4807bb4896b83929afdc98f1623fee22fb5d3f402cc94ab982dd9a [INFO] running `Command { std: "docker" "start" "-a" "7e06e41a0c4807bb4896b83929afdc98f1623fee22fb5d3f402cc94ab982dd9a", 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] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling icu_locid_transform_data v1.5.1 [INFO] [stderr] Checking litemap v0.7.5 [INFO] [stderr] Checking writeable v0.5.5 [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 simd-adler32 v0.3.7 [INFO] [stderr] Checking utf8_iter v1.0.4 [INFO] [stderr] Checking utf16_iter v1.0.5 [INFO] [stderr] Compiling pkg-config v0.3.32 [INFO] [stderr] Checking write16 v1.0.0 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling cc v1.2.20 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking miniz_oxide v0.8.8 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Compiling rustversion v1.0.20 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking fdeflate v0.3.7 [INFO] [stderr] Checking mint v0.5.9 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling sdl2 v0.37.0 (https://github.com/doukutsu-rs/rust-sdl2.git?rev=244ae85833cff4f97ab4b58331741be20e422bd7#244ae858) [INFO] [stderr] Checking chlorine v1.0.13 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Compiling cpal v0.15.3 (https://github.com/doukutsu-rs/cpal?rev=ce731c58b7f4759a0f4007b392e2b7f4716a347c#ce731c58) [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Checking bitflags v2.9.0 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking ryu v1.0.20 [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 pathdiff v0.2.3 [INFO] [stderr] Checking dasp_sample v0.11.0 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking xml-rs v0.8.26 [INFO] [stderr] Checking no-std-compat v0.4.1 [INFO] [stderr] Checking flate2 v1.1.1 [INFO] [stderr] Compiling doukutsu-rs v0.102.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking iana-time-zone v0.1.63 [INFO] [stderr] Compiling pelite-macros v0.1.1 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking unicase v2.8.1 [INFO] [stderr] Checking dataview v1.0.1 [INFO] [stderr] Checking home v0.5.11 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking bytemuck v1.22.0 [INFO] [stderr] Checking color_quant v1.1.0 [INFO] [stderr] Checking case_insensitive_hashmap v1.0.1 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Checking open v3.2.0 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking fern v0.6.2 [INFO] [stderr] Checking lewton v0.10.2 [INFO] [stderr] Checking png v0.17.16 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Compiling cmake v0.1.54 [INFO] [stderr] Checking pelite v0.10.0 [INFO] [stderr] Checking xmltree v0.10.3 [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 uuid v0.8.2 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking dirs-sys v0.3.7 [INFO] [stderr] Checking rc-box v1.3.0 [INFO] [stderr] Checking directories v3.0.2 [INFO] [stderr] Checking encoding_rs v0.8.35 [INFO] [stderr] Checking vec_mut_scan v0.4.0 [INFO] [stderr] Checking strum v0.24.1 [INFO] [stderr] Checking downcast v0.11.0 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Checking image v0.24.9 [INFO] [stderr] Checking chrono v0.4.40 [INFO] [stderr] Checking alsa v0.9.1 [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 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 serde_repr v0.1.20 [INFO] [stderr] Compiling clap_derive v4.5.40 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.7.5 [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 discord-rich-presence v0.2.5 [INFO] [stderr] Checking icu_normalizer v1.5.0 [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: hiding a lifetime that's elided elsewhere is 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 same lifetime is elided here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 196 | fn is_normal_component(comp: path::Component<'_>) -> Option<&str> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is 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 same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: 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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/game/npc/list.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn iter(&self) -> NPCListMutableIterator { [INFO] [stdout] | ^^^^^ ---------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 118 | pub fn iter(&self) -> NPCListMutableIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/game/npc/list.rs:123:23 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter_alive(&self) -> NPCListMutableAliveIterator { [INFO] [stdout] | ^^^^^ --------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 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: hiding a lifetime that's elided elsewhere is 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 same lifetime is hidden here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/menu/mod.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | &mut self, [INFO] [stdout] | ^^^^^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 769 | ) -> MenuSelectionResult { [INFO] [stdout] | ---------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 769 | ) -> MenuSelectionResult<'_, T> { [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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/util/bitvec.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn iter(&self) -> BitVecIter { [INFO] [stdout] | ^^^^^ ---------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 62 | pub fn iter(&self) -> BitVecIter<'_> { [INFO] [stdout] | ++++ [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: hiding a lifetime that's elided elsewhere is 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 same lifetime is elided here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 196 | fn is_normal_component(comp: path::Component<'_>) -> Option<&str> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's named elsewhere is 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 same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is named here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: 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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/game/npc/list.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | pub fn iter(&self) -> NPCListMutableIterator { [INFO] [stdout] | ^^^^^ ---------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 118 | pub fn iter(&self) -> NPCListMutableIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/game/npc/list.rs:123:23 [INFO] [stdout] | [INFO] [stdout] 123 | pub fn iter_alive(&self) -> NPCListMutableAliveIterator { [INFO] [stdout] | ^^^^^ --------------------------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 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: hiding a lifetime that's elided elsewhere is 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 same lifetime is hidden here [INFO] [stdout] | | the same lifetime is hidden here [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 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: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/menu/mod.rs:766:9 [INFO] [stdout] | [INFO] [stdout] 766 | &mut self, [INFO] [stdout] | ^^^^^^^^^ the lifetime is elided here [INFO] [stdout] ... [INFO] [stdout] 769 | ) -> MenuSelectionResult { [INFO] [stdout] | ---------------------- the same lifetime is hidden here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 769 | ) -> MenuSelectionResult<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/util/bitvec.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn iter(&self) -> BitVecIter { [INFO] [stdout] | ^^^^^ ---------- the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 62 | pub fn iter(&self) -> BitVecIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 16s [INFO] running `Command { std: "docker" "inspect" "7e06e41a0c4807bb4896b83929afdc98f1623fee22fb5d3f402cc94ab982dd9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7e06e41a0c4807bb4896b83929afdc98f1623fee22fb5d3f402cc94ab982dd9a", kill_on_drop: false }` [INFO] [stdout] 7e06e41a0c4807bb4896b83929afdc98f1623fee22fb5d3f402cc94ab982dd9a