[INFO] cloning repository https://github.com/JuanSHincapie/simple-rpg
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JuanSHincapie/simple-rpg" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJuanSHincapie%2Fsimple-rpg", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJuanSHincapie%2Fsimple-rpg'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 81e1287ef51e487243dfeb9a553bae1e58e6239d
[INFO] checking JuanSHincapie/simple-rpg against master#568b11762723b001bfa693d0f21c5dad01d4e813 for pr-149058
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJuanSHincapie%2Fsimple-rpg" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JuanSHincapie/simple-rpg
[INFO] finished tweaking git repo https://github.com/JuanSHincapie/simple-rpg
[INFO] tweaked toml for git repo https://github.com/JuanSHincapie/simple-rpg written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JuanSHincapie/simple-rpg on toolchain 568b11762723b001bfa693d0f21c5dad01d4e813
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JuanSHincapie/simple-rpg 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" "+568b11762723b001bfa693d0f21c5dad01d4e813" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded stackfuture v0.3.1
[INFO] [stderr]   Downloaded symphonia-bundle-mp3 v0.5.5
[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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] df400f68ff9021eaa31146a9a3e0e11b8d0a780ea8f6d515a691f0d647cea43a
[INFO] running `Command { std: "docker" "start" "-a" "df400f68ff9021eaa31146a9a3e0e11b8d0a780ea8f6d515a691f0d647cea43a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "df400f68ff9021eaa31146a9a3e0e11b8d0a780ea8f6d515a691f0d647cea43a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "df400f68ff9021eaa31146a9a3e0e11b8d0a780ea8f6d515a691f0d647cea43a", kill_on_drop: false }`
[INFO] [stdout] df400f68ff9021eaa31146a9a3e0e11b8d0a780ea8f6d515a691f0d647cea43a
[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:94a0c148923f5b2b52a63ef0eeb1882ad339ab61bce784c8077cbe41c61feb6c" "/opt/rustwide/cargo-home/bin/cargo" "+568b11762723b001bfa693d0f21c5dad01d4e813" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 76af2b6cb2af590a167e7b0592d6420fe16875d53e8b46e91dda0d79ed1b584c
[INFO] running `Command { std: "docker" "start" "-a" "76af2b6cb2af590a167e7b0592d6420fe16875d53e8b46e91dda0d79ed1b584c", kill_on_drop: false }`
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]    Compiling toml_edit v0.23.7
[INFO] [stderr]     Checking glam v0.30.9
[INFO] [stderr]     Checking derive_more v2.0.1
[INFO] [stderr]    Compiling zerocopy v0.8.28
[INFO] [stderr]    Compiling zerocopy-derive v0.8.28
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]     Checking const_panic v0.2.15
[INFO] [stderr]    Compiling wayland-backend v0.3.11
[INFO] [stderr]     Checking skrifa v0.37.0
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking cpal v0.15.3
[INFO] [stderr]     Checking inotify v0.11.0
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking ron v0.10.1
[INFO] [stderr]     Checking symphonia-core v0.5.5
[INFO] [stderr]     Checking taffy v0.7.7
[INFO] [stderr]     Checking gltf-json v1.4.1
[INFO] [stderr]     Checking rodio v0.20.1
[INFO] [stderr]     Checking stackfuture v0.3.1
[INFO] [stderr]    Compiling bevy_macro_utils v0.17.3
[INFO] [stderr]     Checking gilrs-core v0.6.6
[INFO] [stderr]     Checking indexmap v2.12.1
[INFO] [stderr]     Checking bevy_platform v0.17.3
[INFO] [stderr]     Checking bevy_utils v0.17.3
[INFO] [stderr]     Checking bevy_tasks v0.17.3
[INFO] [stderr]     Checking wayland-client v0.31.11
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking gilrs v0.11.0
[INFO] [stderr]     Checking symphonia-metadata v0.5.5
[INFO] [stderr]    Compiling bevy_reflect_derive v0.17.3
[INFO] [stderr]    Compiling bevy_ecs_macros v0.17.3
[INFO] [stderr]    Compiling bevy_derive v0.17.3
[INFO] [stderr]    Compiling bevy_asset_macros v0.17.3
[INFO] [stderr]     Checking petgraph v0.8.3
[INFO] [stderr]    Compiling bevy_render_macros v0.17.3
[INFO] [stderr]    Compiling bevy_encase_derive v0.17.3
[INFO] [stderr]    Compiling bevy_animation_macros v0.17.3
[INFO] [stderr]    Compiling bevy_gizmos_macros v0.17.3
[INFO] [stderr]    Compiling bevy_state_macros v0.17.3
[INFO] [stderr]     Checking symphonia-bundle-mp3 v0.5.5
[INFO] [stderr]     Checking claxon v0.4.3
[INFO] [stderr]     Checking symphonia v0.5.5
[INFO] [stderr]     Checking rodio v0.17.3
[INFO] [stderr]     Checking wayland-protocols v0.32.9
[INFO] [stderr]     Checking wayland-cursor v0.31.11
[INFO] [stderr]     Checking calloop-wayland-source v0.3.0
[INFO] [stderr]     Checking swash v0.2.6
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking gltf v1.4.1
[INFO] [stderr]     Checking naga v26.0.0
[INFO] [stderr]     Checking cosmic-text v0.14.2
[INFO] [stderr]     Checking wayland-protocols-wlr v0.3.9
[INFO] [stderr]     Checking wayland-protocols-plasma v0.3.9
[INFO] [stderr]     Checking bevy_reflect v0.17.3
[INFO] [stderr]     Checking encase v0.11.2
[INFO] [stderr]     Checking hexasphere v16.0.0
[INFO] [stderr]     Checking smithay-client-toolkit v0.19.2
[INFO] [stderr]     Checking sctk-adwaita v0.10.1
[INFO] [stderr]     Checking winit v0.30.12
[INFO] [stderr]     Checking wgpu-hal v26.0.6
[INFO] [stderr]     Checking naga_oil v0.19.1
[INFO] [stderr]     Checking bevy_ecs v0.17.3
[INFO] [stderr]     Checking bevy_math v0.17.3
[INFO] [stderr]     Checking accesskit_winit v0.29.2
[INFO] [stderr]     Checking wgpu-core-deps-windows-linux-android v26.0.0
[INFO] [stderr]     Checking wgpu-core v26.0.1
[INFO] [stderr]     Checking bevy_color v0.17.3
[INFO] [stderr]     Checking wgpu v26.0.1
[INFO] [stderr]     Checking bevy_app v0.17.3
[INFO] [stderr]     Checking bevy_asset v0.17.3
[INFO] [stderr]     Checking bevy_log v0.17.3
[INFO] [stderr]     Checking bevy_input v0.17.3
[INFO] [stderr]     Checking bevy_time v0.17.3
[INFO] [stderr]     Checking bevy_a11y v0.17.3
[INFO] [stderr]     Checking bevy_state v0.17.3
[INFO] [stderr]     Checking bevy_transform v0.17.3
[INFO] [stderr]     Checking bevy_diagnostic v0.17.3
[INFO] [stderr]     Checking bevy_gilrs v0.17.3
[INFO] [stderr]     Checking bevy_image v0.17.3
[INFO] [stderr]     Checking bevy_shader v0.17.3
[INFO] [stderr]     Checking bevy_audio v0.17.3
[INFO] [stderr]     Checking bevy_mesh v0.17.3
[INFO] [stderr]     Checking bevy_window v0.17.3
[INFO] [stderr]     Checking bevy_text v0.17.3
[INFO] [stderr]     Checking bevy_camera v0.17.3
[INFO] [stderr]     Checking bevy_animation v0.17.3
[INFO] [stderr]     Checking bevy_render v0.17.3
[INFO] [stderr]     Checking bevy_picking v0.17.3
[INFO] [stderr]     Checking bevy_light v0.17.3
[INFO] [stderr]     Checking bevy_scene v0.17.3
[INFO] [stderr]     Checking bevy_sprite v0.17.3
[INFO] [stderr]     Checking bevy_input_focus v0.17.3
[INFO] [stderr]     Checking bevy_winit v0.17.3
[INFO] [stderr]     Checking bevy_ui v0.17.3
[INFO] [stderr]     Checking bevy_core_pipeline v0.17.3
[INFO] [stderr]     Checking bevy_sprite_render v0.17.3
[INFO] [stderr]     Checking bevy_pbr v0.17.3
[INFO] [stderr]     Checking bevy_anti_alias v0.17.3
[INFO] [stderr]     Checking bevy_post_process v0.17.3
[INFO] [stderr]     Checking bevy_ui_render v0.17.3
[INFO] [stderr]     Checking bevy_gizmos v0.17.3
[INFO] [stderr]     Checking bevy_gltf v0.17.3
[INFO] [stderr]     Checking bevy_internal v0.17.3
[INFO] [stderr]     Checking bevy v0.17.3
[INFO] [stderr]     Checking simple-rpg v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type `CombatStats_Resource` should have an upper camel case name
[INFO] [stdout]    --> src/components.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub struct CombatStats_Resource {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CombatStatsResource`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PlayerStats_Resource` should have an upper camel case name
[INFO] [stdout]    --> src/components.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub struct PlayerStats_Resource {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlayerStatsResource`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppState`
[INFO] [stdout]  --> src/systems/player_health_ui.rs:2:78
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::components::{Player, Health, PlayerHealthBar, EnemyHealthOverlay, AppState};
[INFO] [stdout]   |                                                                              ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Enemy` and `Player`
[INFO] [stdout]  --> src/systems/enemy_ui.rs:3:43
[INFO] [stdout]   |
[INFO] [stdout] 3 |     MapEnemy, Health, EnemyHealthOverlay, Player, Enemy, AppState
[INFO] [stdout]   |                                           ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `CombatStats_Resource` should have an upper camel case name
[INFO] [stdout]    --> src/components.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 | pub struct CombatStats_Resource {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `CombatStatsResource`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PlayerStats_Resource` should have an upper camel case name
[INFO] [stdout]    --> src/components.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub struct PlayerStats_Resource {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `PlayerStatsResource`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AppState`
[INFO] [stdout]  --> src/systems/player_health_ui.rs:2:78
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::components::{Player, Health, PlayerHealthBar, EnemyHealthOverlay, AppState};
[INFO] [stdout]   |                                                                              ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Enemy` and `Player`
[INFO] [stdout]  --> src/systems/enemy_ui.rs:3:43
[INFO] [stdout]   |
[INFO] [stdout] 3 |     MapEnemy, Health, EnemyHealthOverlay, Player, Enemy, AppState
[INFO] [stdout]   |                                           ^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/player_systems.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     mut audio_cooldown: Option<ResMut<AudioCooldown>>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_audio`
[INFO] [stdout]  --> src/systems/player_systems.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     game_audio: Option<Res<GameAudio>>,
[INFO] [stdout]   |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_audio`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `audio_cooldown`
[INFO] [stdout]   --> src/systems/player_systems.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     mut audio_cooldown: Option<ResMut<AudioCooldown>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_audio_cooldown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `moved` is assigned to, but never used
[INFO] [stdout]   --> src/systems/player_systems.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut moved = false;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_moved` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `moved` is never read
[INFO] [stdout]   --> src/systems/player_systems.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             moved = true;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `moved` is never read
[INFO] [stdout]   --> src/systems/player_systems.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             moved = true;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `moved` is never read
[INFO] [stdout]   --> src/systems/player_systems.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |             moved = true;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `moved` is never read
[INFO] [stdout]   --> src/systems/player_systems.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |             moved = true;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `health_bar`
[INFO] [stdout]   --> src/systems/player_health_ui.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let health_bar = commands.spawn((
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_health_bar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/player_health_ui.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     mut materials: ResMut<Assets<ColorMaterial>>,
[INFO] [stdout]    |     ----^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `materials`
[INFO] [stdout]   --> src/systems/player_health_ui.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     mut materials: ResMut<Assets<ColorMaterial>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_materials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `health_color`
[INFO] [stdout]   --> src/systems/player_health_ui.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 let health_color = if health_ratio > 0.6 {
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_health_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     mut combat_state: ResMut<CombatState>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     mut combat_stats: ResMut<CombatStats_Resource>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     mut player_stats: ResMut<PlayerStats_Resource>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     mut enemy_query: Query<(&mut Health, &CombatStats), (With<Enemy>, Without<Player>)>,
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     mut audio_cooldown: Option<ResMut<AudioCooldown>>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keyboard_input`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     keyboard_input: Res<ButtonInput<KeyCode>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keyboard_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `combat_stats`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     mut combat_stats: ResMut<CombatStats_Resource>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_combat_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_stats`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     mut player_stats: ResMut<PlayerStats_Resource>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_query`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     mut enemy_query: Query<(&mut Health, &CombatStats), (With<Enemy>, Without<Player>)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_combat_query`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     player_combat_query: Query<(&CombatStats, &Experience), (With<Player>, Without<Enemy>)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_combat_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_audio`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     game_audio: Option<Res<GameAudio>>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_audio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `audio_cooldown`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     mut audio_cooldown: Option<ResMut<AudioCooldown>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_audio_cooldown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     mut player_stats: ResMut<PlayerStats_Resource>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     mut audio_cooldown: Option<ResMut<AudioCooldown>>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_stats`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     mut player_stats: ResMut<PlayerStats_Resource>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_level`
[INFO] [stdout]    --> src/systems/enhanced_combat.rs:136:21
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 let initial_level = player_exp.level;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/player_systems.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     mut audio_cooldown: Option<ResMut<AudioCooldown>>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_audio`
[INFO] [stdout]  --> src/systems/player_systems.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     game_audio: Option<Res<GameAudio>>,
[INFO] [stdout]   |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_audio`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `audio_cooldown`
[INFO] [stdout]   --> src/systems/player_systems.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     mut audio_cooldown: Option<ResMut<AudioCooldown>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_audio_cooldown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `moved` is assigned to, but never used
[INFO] [stdout]   --> src/systems/player_systems.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut moved = false;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_moved` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `moved` is never read
[INFO] [stdout]   --> src/systems/player_systems.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |             moved = true;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `moved` is never read
[INFO] [stdout]   --> src/systems/player_systems.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             moved = true;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `moved` is never read
[INFO] [stdout]   --> src/systems/player_systems.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |             moved = true;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `moved` is never read
[INFO] [stdout]   --> src/systems/player_systems.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 |             moved = true;
[INFO] [stdout]    |             ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `health_bar`
[INFO] [stdout]   --> src/systems/player_health_ui.rs:42:13
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let health_bar = commands.spawn((
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_health_bar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/systems/combat_menu.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     mut player_stats: ResMut<PlayerStats_Resource>,
[INFO] [stdout]     |     ----^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_stats`
[INFO] [stdout]    --> src/systems/combat_menu.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     mut player_stats: ResMut<PlayerStats_Resource>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/player_health_ui.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     mut materials: ResMut<Assets<ColorMaterial>>,
[INFO] [stdout]    |     ----^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `materials`
[INFO] [stdout]   --> src/systems/player_health_ui.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     mut materials: ResMut<Assets<ColorMaterial>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_materials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `health_color`
[INFO] [stdout]   --> src/systems/player_health_ui.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 let health_color = if health_ratio > 0.6 {
[INFO] [stdout]    |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_health_color`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/map_enemies.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     mut combat_stats: ResMut<crate::components::CombatStats_Resource>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `combat_stats`
[INFO] [stdout]   --> src/systems/map_enemies.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     mut combat_stats: ResMut<crate::components::CombatStats_Resource>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_combat_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_health`
[INFO] [stdout]   --> src/systems/map_enemies.rs:91:31
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let Ok((player_transform, player_health)) = player_query.single() else {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_health`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_name`
[INFO] [stdout]    --> src/systems/map_enemies.rs:111:30
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let (enemy_name, color_name) = match map_enemy.enemy_type {
[INFO] [stdout]     |                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/systems/map_enemies.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     time: Res<Time>,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     mut combat_state: ResMut<CombatState>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     mut combat_stats: ResMut<CombatStats_Resource>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     mut player_stats: ResMut<PlayerStats_Resource>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     mut enemy_query: Query<(&mut Health, &CombatStats), (With<Enemy>, Without<Player>)>,
[INFO] [stdout]    |     ----^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     mut audio_cooldown: Option<ResMut<AudioCooldown>>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `keyboard_input`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     keyboard_input: Res<ButtonInput<KeyCode>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_keyboard_input`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `combat_stats`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     mut combat_stats: ResMut<CombatStats_Resource>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_combat_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_stats`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     mut player_stats: ResMut<PlayerStats_Resource>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]   --> src/systems/combat_positioning.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 86 |     for (entity, mut enemy_visibility, transform) in active_enemy_query.iter_mut() {
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `enemy_query`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     mut enemy_query: Query<(&mut Health, &CombatStats), (With<Enemy>, Without<Player>)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_enemy_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform`
[INFO] [stdout]   --> src/systems/combat_positioning.rs:86:40
[INFO] [stdout]    |
[INFO] [stdout] 86 |     for (entity, mut enemy_visibility, transform) in active_enemy_query.iter_mut() {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_combat_query`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     player_combat_query: Query<(&CombatStats, &Experience), (With<Player>, Without<Enemy>)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_combat_query`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_audio`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     game_audio: Option<Res<GameAudio>>,
[INFO] [stdout]    |     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_audio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `audio_cooldown`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     mut audio_cooldown: Option<ResMut<AudioCooldown>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_audio_cooldown`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     mut player_stats: ResMut<PlayerStats_Resource>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     mut audio_cooldown: Option<ResMut<AudioCooldown>>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_stats`
[INFO] [stdout]   --> src/systems/enhanced_combat.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     mut player_stats: ResMut<PlayerStats_Resource>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_level`
[INFO] [stdout]    --> src/systems/enhanced_combat.rs:136:21
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 let initial_level = player_exp.level;
[INFO] [stdout]     |                     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_level`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bg_bar`
[INFO] [stdout]   --> src/systems/enemy_ui.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let bg_bar = commands.spawn((
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bg_bar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `health_bar`
[INFO] [stdout]   --> src/systems/enemy_ui.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let health_bar = commands.spawn((
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_health_bar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enemy_ui.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     mut materials: ResMut<Assets<ColorMaterial>>,
[INFO] [stdout]    |     ----^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `materials`
[INFO] [stdout]   --> src/systems/enemy_ui.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     mut materials: ResMut<Assets<ColorMaterial>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_materials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overlay_entity`
[INFO] [stdout]    --> src/systems/enemy_ui.rs:146:10
[INFO] [stdout]     |
[INFO] [stdout] 146 |     for (overlay_entity, mut overlay_visibility, overlay_component) in overlay_query.iter_mut() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overlay_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerSprite` is never constructed
[INFO] [stdout]  --> src/components.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct PlayerSprite {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FacingDirection` is never used
[INFO] [stdout]   --> src/components.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum FacingDirection {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnimationTimer` is never constructed
[INFO] [stdout]   --> src/components.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct AnimationTimer(pub Timer);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerAnimationConfig` is never constructed
[INFO] [stdout]   --> src/components.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct PlayerAnimationConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnemyType` is never constructed
[INFO] [stdout]   --> src/components.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct EnemyType {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthBar` is never constructed
[INFO] [stdout]   --> src/components.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct HealthBar;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExperienceBar` is never constructed
[INFO] [stdout]   --> src/components.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct ExperienceBar;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AttackAnimation` is never constructed
[INFO] [stdout]   --> src/components.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct AttackAnimation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DamageAnimation` is never constructed
[INFO] [stdout]    --> src/components.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct DamageAnimation {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AttackPhase` is never used
[INFO] [stdout]    --> src/components.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub enum AttackPhase {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerTextureAtlas` is never constructed
[INFO] [stdout]    --> src/components.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct PlayerTextureAtlas {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PlayerDefeated` is never constructed
[INFO] [stdout]    --> src/components.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub enum CombatResult {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 218 |     PlayerDefeated,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CombatResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `attack_sound` and `victory_sound` are never read
[INFO] [stdout]    --> src/components.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub struct GameAudio {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 246 |     pub attack_sound: Handle<AudioSource>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 247 |     pub victory_sound: Handle<AudioSource>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnemySpawner` is never constructed
[INFO] [stdout]    --> src/components.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct EnemySpawner {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerSpritePlugin` is never constructed
[INFO] [stdout]   --> src/plugins/playerSpritePlugin.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct PlayerSpritePlugin;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_combat_summary` is never used
[INFO] [stdout]    --> src/systems/combat_summary.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub fn cleanup_combat_summary(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_player_spritesheet` is never used
[INFO] [stdout]  --> src/systems/player_sprite.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn setup_player_spritesheet(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_player_sprite` is never used
[INFO] [stdout]   --> src/systems/player_sprite.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn spawn_player_sprite(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `animate_player_sprite` is never used
[INFO] [stdout]   --> src/systems/player_sprite.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn animate_player_sprite(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_player_direction` is never used
[INFO] [stdout]    --> src/systems/player_sprite.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn update_player_direction(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `manage_enemy_overlay_visibility` is never used
[INFO] [stdout]    --> src/systems/enemy_ui.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn manage_enemy_overlay_visibility(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `combatPlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod combatPlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `combat_plugin`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `playerPlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod playerPlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `player_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `gameStatePlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod gameStatePlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `game_state_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `audioPlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod audioPlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to snake case: `audio_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `uiPlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod uiPlugin;
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case: `ui_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `mapEnemyPlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod mapEnemyPlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `map_enemy_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `playerSpritePlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod playerSpritePlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `player_sprite_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `enemyUIPlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod enemyUIPlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `enemy_uiplugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `playerHealthUIPlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod playerHealthUIPlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `player_health_uiplugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/systems/combat_menu.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     mut player_stats: ResMut<PlayerStats_Resource>,
[INFO] [stdout]     |     ----^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_stats`
[INFO] [stdout]    --> src/systems/combat_menu.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     mut player_stats: ResMut<PlayerStats_Resource>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `spawnPlayer` should have a snake case name
[INFO] [stdout]  --> src/systems/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod spawnPlayer;
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to snake case: `spawn_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/map_enemies.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     mut combat_stats: ResMut<crate::components::CombatStats_Resource>,
[INFO] [stdout]    |     ----^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `combat_stats`
[INFO] [stdout]   --> src/systems/map_enemies.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |     mut combat_stats: ResMut<crate::components::CombatStats_Resource>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_combat_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player_health`
[INFO] [stdout]   --> src/systems/map_enemies.rs:91:31
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let Ok((player_transform, player_health)) = player_query.single() else {
[INFO] [stdout]    |                               ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_player_health`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `color_name`
[INFO] [stdout]    --> src/systems/map_enemies.rs:111:30
[INFO] [stdout]     |
[INFO] [stdout] 111 |             let (enemy_name, color_name) = match map_enemy.enemy_type {
[INFO] [stdout]     |                              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_color_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `time`
[INFO] [stdout]    --> src/systems/map_enemies.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     time: Res<Time>,
[INFO] [stdout]     |     ^^^^ help: if this is intentional, prefix it with an underscore: `_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]   --> src/systems/combat_positioning.rs:86:10
[INFO] [stdout]    |
[INFO] [stdout] 86 |     for (entity, mut enemy_visibility, transform) in active_enemy_query.iter_mut() {
[INFO] [stdout]    |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `transform`
[INFO] [stdout]   --> src/systems/combat_positioning.rs:86:40
[INFO] [stdout]    |
[INFO] [stdout] 86 |     for (entity, mut enemy_visibility, transform) in active_enemy_query.iter_mut() {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_transform`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bg_bar`
[INFO] [stdout]   --> src/systems/enemy_ui.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let bg_bar = commands.spawn((
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_bg_bar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `health_bar`
[INFO] [stdout]   --> src/systems/enemy_ui.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |         let health_bar = commands.spawn((
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_health_bar`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/enemy_ui.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     mut materials: ResMut<Assets<ColorMaterial>>,
[INFO] [stdout]    |     ----^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `materials`
[INFO] [stdout]   --> src/systems/enemy_ui.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     mut materials: ResMut<Assets<ColorMaterial>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_materials`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `overlay_entity`
[INFO] [stdout]    --> src/systems/enemy_ui.rs:146:10
[INFO] [stdout]     |
[INFO] [stdout] 146 |     for (overlay_entity, mut overlay_visibility, overlay_component) in overlay_query.iter_mut() {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_overlay_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerSprite` is never constructed
[INFO] [stdout]  --> src/components.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct PlayerSprite {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FacingDirection` is never used
[INFO] [stdout]   --> src/components.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum FacingDirection {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AnimationTimer` is never constructed
[INFO] [stdout]   --> src/components.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct AnimationTimer(pub Timer);
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerAnimationConfig` is never constructed
[INFO] [stdout]   --> src/components.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct PlayerAnimationConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnemyType` is never constructed
[INFO] [stdout]   --> src/components.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct EnemyType {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthBar` is never constructed
[INFO] [stdout]   --> src/components.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct HealthBar;
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExperienceBar` is never constructed
[INFO] [stdout]   --> src/components.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct ExperienceBar;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AttackAnimation` is never constructed
[INFO] [stdout]   --> src/components.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct AttackAnimation {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DamageAnimation` is never constructed
[INFO] [stdout]    --> src/components.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct DamageAnimation {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AttackPhase` is never used
[INFO] [stdout]    --> src/components.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub enum AttackPhase {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerTextureAtlas` is never constructed
[INFO] [stdout]    --> src/components.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct PlayerTextureAtlas {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `PlayerDefeated` is never constructed
[INFO] [stdout]    --> src/components.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub enum CombatResult {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 218 |     PlayerDefeated,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CombatResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `attack_sound` and `victory_sound` are never read
[INFO] [stdout]    --> src/components.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub struct GameAudio {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 246 |     pub attack_sound: Handle<AudioSource>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 247 |     pub victory_sound: Handle<AudioSource>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EnemySpawner` is never constructed
[INFO] [stdout]    --> src/components.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct EnemySpawner {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerSpritePlugin` is never constructed
[INFO] [stdout]   --> src/plugins/playerSpritePlugin.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct PlayerSpritePlugin;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cleanup_combat_summary` is never used
[INFO] [stdout]    --> src/systems/combat_summary.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub fn cleanup_combat_summary(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_player_spritesheet` is never used
[INFO] [stdout]  --> src/systems/player_sprite.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn setup_player_spritesheet(
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_player_sprite` is never used
[INFO] [stdout]   --> src/systems/player_sprite.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn spawn_player_sprite(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `animate_player_sprite` is never used
[INFO] [stdout]   --> src/systems/player_sprite.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn animate_player_sprite(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_player_direction` is never used
[INFO] [stdout]    --> src/systems/player_sprite.rs:124:8
[INFO] [stdout]     |
[INFO] [stdout] 124 | pub fn update_player_direction(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `manage_enemy_overlay_visibility` is never used
[INFO] [stdout]    --> src/systems/enemy_ui.rs:142:8
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub fn manage_enemy_overlay_visibility(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `combatPlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod combatPlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `combat_plugin`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `playerPlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub mod playerPlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `player_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `gameStatePlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub mod gameStatePlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `game_state_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `audioPlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod audioPlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to snake case: `audio_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `uiPlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub mod uiPlugin;
[INFO] [stdout]   |         ^^^^^^^^ help: convert the identifier to snake case: `ui_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `mapEnemyPlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod mapEnemyPlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `map_enemy_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `playerSpritePlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub mod playerSpritePlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `player_sprite_plugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `enemyUIPlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub mod enemyUIPlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^^^ help: convert the identifier to snake case: `enemy_uiplugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `playerHealthUIPlugin` should have a snake case name
[INFO] [stdout]  --> src/plugins/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub mod playerHealthUIPlugin;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `player_health_uiplugin`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `spawnPlayer` should have a snake case name
[INFO] [stdout]  --> src/systems/mod.rs:1:9
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub mod spawnPlayer;
[INFO] [stdout]   |         ^^^^^^^^^^^ help: convert the identifier to snake case: `spawn_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 54s
[INFO] running `Command { std: "docker" "inspect" "76af2b6cb2af590a167e7b0592d6420fe16875d53e8b46e91dda0d79ed1b584c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "76af2b6cb2af590a167e7b0592d6420fe16875d53e8b46e91dda0d79ed1b584c", kill_on_drop: false }`
[INFO] [stdout] 76af2b6cb2af590a167e7b0592d6420fe16875d53e8b46e91dda0d79ed1b584c
