[INFO] cloning repository https://github.com/noahsabaj/ai-battle-arena
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/noahsabaj/ai-battle-arena" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnoahsabaj%2Fai-battle-arena", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnoahsabaj%2Fai-battle-arena'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b01b1ff2ebaf127fb84e4bf6362891e26658f83a
[INFO] checking noahsabaj/ai-battle-arena against master#b4fefcd60bfd770510f7dc540e887dd3ba4fe5c1 for pr-156992
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnoahsabaj%2Fai-battle-arena" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/noahsabaj/ai-battle-arena
[INFO] finished tweaking git repo https://github.com/noahsabaj/ai-battle-arena
[INFO] tweaked toml for git repo https://github.com/noahsabaj/ai-battle-arena written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/noahsabaj/ai-battle-arena on toolchain b4fefcd60bfd770510f7dc540e887dd3ba4fe5c1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fefcd60bfd770510f7dc540e887dd3ba4fe5c1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/noahsabaj/ai-battle-arena 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" "+b4fefcd60bfd770510f7dc540e887dd3ba4fe5c1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bevy_internal v0.13.2
[INFO] [stderr]   Downloaded bevy v0.13.2
[INFO] [stderr]   Downloaded hermit-abi v0.5.1
[INFO] [stderr]   Downloaded bevy_math v0.13.2
[INFO] [stderr]   Downloaded bevy_macro_utils v0.13.2
[INFO] [stderr]   Downloaded bevy_utils v0.13.2
[INFO] [stderr]   Downloaded bevy_ptr v0.13.2
[INFO] [stderr]   Downloaded bevy_derive v0.13.2
[INFO] [stderr]   Downloaded bevy_core v0.13.2
[INFO] [stderr]   Downloaded bevy_input v0.13.2
[INFO] [stderr]   Downloaded taffy v0.3.19
[INFO] [stderr]   Downloaded erased-serde v0.4.6
[INFO] [stderr]   Downloaded bevy_ecs_macros v0.13.2
[INFO] [stderr]   Downloaded bevy_hierarchy v0.13.2
[INFO] [stderr]   Downloaded bevy_text v0.13.2
[INFO] [stderr]   Downloaded glyph_brush_layout v0.2.4
[INFO] [stderr]   Downloaded bevy_reflect v0.13.2
[INFO] [stderr]   Downloaded bevy_ui v0.13.2
[INFO] [stderr]   Downloaded bevy_log v0.13.2
[INFO] [stderr]   Downloaded gilrs v0.10.10
[INFO] [stderr]   Downloaded bevy_render v0.13.2
[INFO] [stderr]   Downloaded ruzstd v0.5.0
[INFO] [stderr]   Downloaded bevy_ecs v0.13.2
[INFO] [stderr]   Downloaded encase v0.7.0
[INFO] [stderr]   Downloaded bevy_mikktspace v0.13.2
[INFO] [stderr]   Downloaded naga_oil v0.13.0
[INFO] [stderr]   Downloaded bevy_asset v0.13.2
[INFO] [stderr]   Downloaded bevy_pbr v0.13.2
[INFO] [stderr]   Downloaded bevy_asset_macros v0.13.2
[INFO] [stderr]   Downloaded bevy_gizmos_macros v0.13.2
[INFO] [stderr]   Downloaded bevy_gizmos v0.13.2
[INFO] [stderr]   Downloaded hexasphere v10.0.0
[INFO] [stderr]   Downloaded encase_derive v0.7.0
[INFO] [stderr]   Downloaded bevy_time v0.13.2
[INFO] [stderr]   Downloaded bevy_audio v0.13.2
[INFO] [stderr]   Downloaded bevy_gilrs v0.13.2
[INFO] [stderr]   Downloaded bevy_core_pipeline v0.13.2
[INFO] [stderr]   Downloaded bevy_animation v0.13.2
[INFO] [stderr]   Downloaded bevy_winit v0.13.2
[INFO] [stderr]   Downloaded grid v0.10.0
[INFO] [stderr]   Downloaded bevy_utils_proc_macros v0.13.2
[INFO] [stderr]   Downloaded bevy_sprite v0.13.2
[INFO] [stderr]   Downloaded bevy_app v0.13.2
[INFO] [stderr]   Downloaded bevy_tasks v0.13.2
[INFO] [stderr]   Downloaded accesskit_winit v0.17.0
[INFO] [stderr]   Downloaded gilrs-core v0.5.15
[INFO] [stderr]   Downloaded d3d12 v0.19.0
[INFO] [stderr]   Downloaded encase_derive_impl v0.7.0
[INFO] [stderr]   Downloaded bevy_encase_derive v0.13.2
[INFO] [stderr]   Downloaded bevy_scene v0.13.2
[INFO] [stderr]   Downloaded bevy_window v0.13.2
[INFO] [stderr]   Downloaded bevy_render_macros v0.13.2
[INFO] [stderr]   Downloaded bevy_reflect_derive v0.13.2
[INFO] [stderr]   Downloaded bevy_transform v0.13.2
[INFO] [stderr]   Downloaded bevy_gltf v0.13.2
[INFO] [stderr]   Downloaded bevy_diagnostic v0.13.2
[INFO] [stderr]   Downloaded bevy_a11y v0.13.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b4fefcd60bfd770510f7dc540e887dd3ba4fe5c1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 46494c9a0807af4b30ed71a1c48b796997da2d89b34bab00858cf80d21ced417
[INFO] running `Command { std: "docker" "start" "-a" "46494c9a0807af4b30ed71a1c48b796997da2d89b34bab00858cf80d21ced417", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "46494c9a0807af4b30ed71a1c48b796997da2d89b34bab00858cf80d21ced417", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46494c9a0807af4b30ed71a1c48b796997da2d89b34bab00858cf80d21ced417", kill_on_drop: false }`
[INFO] [stdout] 46494c9a0807af4b30ed71a1c48b796997da2d89b34bab00858cf80d21ced417
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b4fefcd60bfd770510f7dc540e887dd3ba4fe5c1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 549fad9b5f5e56600a2e5c13f3c940187ab798fa794c705d6fb5fd43f4ebe04c
[INFO] running `Command { std: "docker" "start" "-a" "549fad9b5f5e56600a2e5c13f3c940187ab798fa794c705d6fb5fd43f4ebe04c", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]    Compiling hashbrown v0.15.3
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling toml_datetime v0.6.9
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling typeid v1.0.3
[INFO] [stderr]    Compiling bytemuck_derive v1.9.3
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]    Compiling bevy_utils_proc_macros v0.13.2
[INFO] [stderr]     Checking nonmax v0.5.5
[INFO] [stderr]     Checking web-time v0.2.4
[INFO] [stderr]     Checking bevy_ptr v0.13.2
[INFO] [stderr]     Checking libloading v0.8.7
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]     Checking async-executor v1.13.2
[INFO] [stderr]     Checking tracing-log v0.1.4
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]    Compiling cc v1.2.24
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]    Compiling wgpu-hal v0.19.5
[INFO] [stderr]     Checking accesskit v0.12.3
[INFO] [stderr]     Checking miniz_oxide v0.8.8
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]    Compiling wgpu-core v0.19.4
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]     Checking bevy_tasks v0.13.2
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]    Compiling encase_derive_impl v0.7.0
[INFO] [stderr]     Checking glow v0.13.1
[INFO] [stderr]     Checking async-broadcast v0.5.1
[INFO] [stderr]    Compiling wgpu v0.19.4
[INFO] [stderr]     Checking async-fs v2.1.2
[INFO] [stderr]     Checking const_soft_float v0.1.4
[INFO] [stderr]     Checking flate2 v1.1.1
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking bytemuck v1.23.0
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]     Checking color_quant v1.1.0
[INFO] [stderr]     Checking data-encoding v2.9.0
[INFO] [stderr]     Checking const_panic v0.2.12
[INFO] [stderr]     Checking constgebra v0.1.4
[INFO] [stderr]     Checking ktx2 v0.3.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling encase_derive v0.7.0
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking radsort v0.1.1
[INFO] [stderr]    Compiling toml_edit v0.21.1
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling alsa-sys v0.3.1
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]     Checking euclid v0.22.11
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]     Checking svg_fmt v0.4.5
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking khronos-egl v6.0.0
[INFO] [stderr]     Checking image v0.24.9
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]    Compiling winit v0.29.15
[INFO] [stderr]    Compiling inflections v1.1.1
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]    Compiling cpal v0.15.3
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]     Checking rectangle-pack v0.4.2
[INFO] [stderr]     Checking tinyvec v1.9.0
[INFO] [stderr]     Checking inotify v0.10.2
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]    Compiling gltf-derive v1.4.1
[INFO] [stderr]     Checking ogg v0.8.0
[INFO] [stderr]    Compiling gilrs v0.10.10
[INFO] [stderr]     Checking dasp_sample v0.11.0
[INFO] [stderr]     Checking xi-unicode v0.3.0
[INFO] [stderr]     Checking grid v0.10.0
[INFO] [stderr]     Checking sysinfo v0.30.13
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking guillotiere v0.6.2
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking taffy v0.3.19
[INFO] [stderr]     Checking glyph_brush_layout v0.2.4
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking const-fnv1a-hash v1.1.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking toml_write v0.1.1
[INFO] [stderr]     Checking winnow v0.7.10
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking is-terminal v0.4.16
[INFO] [stderr]     Checking socket2 v0.5.9
[INFO] [stderr]     Checking wide v0.7.32
[INFO] [stderr]     Checking mio v1.0.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]     Checking iana-time-zone v0.1.63
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking chrono v0.4.41
[INFO] [stderr]     Checking ruzstd v0.5.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking smallvec v1.15.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking glam v0.25.0
[INFO] [stderr]     Checking erased-serde v0.4.6
[INFO] [stderr]     Checking serde_spanned v0.6.8
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.1.2
[INFO] [stderr]     Checking wgpu-types v0.19.2
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]    Compiling bevy_macro_utils v0.13.2
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking bevy_utils v0.13.2
[INFO] [stderr]     Checking gpu-descriptor v0.2.4
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking simba v0.8.1
[INFO] [stderr]     Checking tokio v1.45.1
[INFO] [stderr]     Checking gilrs-core v0.5.15
[INFO] [stderr]     Checking gltf-json v1.4.1
[INFO] [stderr]    Compiling bevy_reflect_derive v0.13.2
[INFO] [stderr]    Compiling bevy_ecs_macros v0.13.2
[INFO] [stderr]    Compiling bevy_derive v0.13.2
[INFO] [stderr]    Compiling bevy_asset_macros v0.13.2
[INFO] [stderr]    Compiling bevy_render_macros v0.13.2
[INFO] [stderr]    Compiling bevy_encase_derive v0.13.2
[INFO] [stderr]     Checking naga v0.19.2
[INFO] [stderr]    Compiling bevy_gizmos_macros v0.13.2
[INFO] [stderr]     Checking toml_edit v0.22.26
[INFO] [stderr]     Checking rodio v0.17.3
[INFO] [stderr]     Checking bevy_math v0.13.2
[INFO] [stderr]     Checking bevy_mikktspace v0.13.2
[INFO] [stderr]     Checking encase v0.7.0
[INFO] [stderr]     Checking hexasphere v10.0.0
[INFO] [stderr]     Checking polling v3.8.0
[INFO] [stderr]     Checking toml v0.8.22
[INFO] [stderr]     Checking gltf v1.4.1
[INFO] [stderr]     Checking bevy_reflect v0.13.2
[INFO] [stderr]     Checking calloop v0.12.4
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking nalgebra v0.32.6
[INFO] [stderr]     Checking naga_oil v0.13.0
[INFO] [stderr]     Checking accesskit_winit v0.17.0
[INFO] [stderr]     Checking bevy_ecs v0.13.2
[INFO] [stderr]     Checking bevy_app v0.13.2
[INFO] [stderr]     Checking bevy_log v0.13.2
[INFO] [stderr]     Checking bevy_core v0.13.2
[INFO] [stderr]     Checking bevy_input v0.13.2
[INFO] [stderr]     Checking bevy_time v0.13.2
[INFO] [stderr]     Checking bevy_a11y v0.13.2
[INFO] [stderr]     Checking bevy_asset v0.13.2
[INFO] [stderr]     Checking bevy_hierarchy v0.13.2
[INFO] [stderr]     Checking bevy_diagnostic v0.13.2
[INFO] [stderr]     Checking bevy_transform v0.13.2
[INFO] [stderr]     Checking bevy_window v0.13.2
[INFO] [stderr]     Checking bevy_gilrs v0.13.2
[INFO] [stderr]     Checking bevy_audio v0.13.2
[INFO] [stderr]     Checking bevy_winit v0.13.2
[INFO] [stderr]     Checking bevy_render v0.13.2
[INFO] [stderr]     Checking bevy_core_pipeline v0.13.2
[INFO] [stderr]     Checking bevy_scene v0.13.2
[INFO] [stderr]     Checking bevy_animation v0.13.2
[INFO] [stderr]     Checking bevy_sprite v0.13.2
[INFO] [stderr]     Checking bevy_pbr v0.13.2
[INFO] [stderr]     Checking bevy_text v0.13.2
[INFO] [stderr]     Checking bevy_ui v0.13.2
[INFO] [stderr]     Checking bevy_gizmos v0.13.2
[INFO] [stderr]     Checking bevy_gltf v0.13.2
[INFO] [stderr]     Checking bevy_internal v0.13.2
[INFO] [stderr]     Checking bevy v0.13.2
[INFO] [stderr]     Checking ai_battle_arena v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `CoreGameplay`, `HeadlessOnly`, `UnifiedGamePlugin`, and `VisualOnly`
[INFO] [stdout]   --> src/engine/mod.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use unified::{UnifiedGamePlugin, CoreGameplay, VisualOnly, HeadlessOnly};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::ecs::query::QueryIter`
[INFO] [stdout]  --> src/world/spatial_index.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::ecs::query::QueryIter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SpatialIndexPlugin` and `SpatialIndex`
[INFO] [stdout]  --> src/world/mod.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use spatial_index::{SpatialIndex, SpatialIndexPlugin};
[INFO] [stdout]   |                         ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CoreGameplay`, `HeadlessOnly`, `UnifiedGamePlugin`, and `VisualOnly`
[INFO] [stdout]   --> src/engine/mod.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use unified::{UnifiedGamePlugin, CoreGameplay, VisualOnly, HeadlessOnly};
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::ecs::query::QueryIter`
[INFO] [stdout]  --> src/world/spatial_index.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bevy::ecs::query::QueryIter;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SpatialIndexPlugin` and `SpatialIndex`
[INFO] [stdout]  --> src/world/mod.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use spatial_index::{SpatialIndex, SpatialIndexPlugin};
[INFO] [stdout]   |                         ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/main.rs:60:34
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     resolution: (1280., 720.).into(),
[INFO] [stdout]    |                                  ^^^^^ help: explicitly specify the type as `f32`: `1280_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]    = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/main.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     resolution: (1280., 720.).into(),
[INFO] [stdout]    |                                         ^^^^ help: explicitly specify the type as `f32`: `720_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/main.rs:60:34
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     resolution: (1280., 720.).into(),
[INFO] [stdout]    |                                  ^^^^^ help: explicitly specify the type as `f32`: `1280_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout]    = note: `#[warn(float_literal_f32_fallback)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: falling back to `f32` as the trait bound `f32: From<f64>` is not satisfied
[INFO] [stdout]   --> src/main.rs:60:41
[INFO] [stdout]    |
[INFO] [stdout] 60 |                     resolution: (1280., 720.).into(),
[INFO] [stdout]    |                                         ^^^^ help: explicitly specify the type as `f32`: `720_f32`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #154024 <https://github.com/rust-lang/rust/issues/154024>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_headless`
[INFO] [stdout]   --> src/engine/unified.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let is_headless = sim_config.modes.default == SimulationMode::Headless;
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_headless`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_headless`
[INFO] [stdout]   --> src/engine/unified.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let is_headless = sim_config.modes.default == SimulationMode::Headless;
[INFO] [stdout]    |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_headless`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameLoop` is never constructed
[INFO] [stdout]  --> src/engine/game_loop.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct GameLoop {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/engine/game_loop.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl GameLoop {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 7 |     pub fn new(tick_rate: u32) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameState` is never constructed
[INFO] [stdout]  --> src/engine/state.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct GameState {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Physics` is never constructed
[INFO] [stdout]  --> src/engine/physics.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Physics;
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VisualOnly` is never constructed
[INFO] [stdout]   --> src/engine/headless.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct VisualOnly;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HeadlessOnly` is never constructed
[INFO] [stdout]   --> src/engine/headless.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct HeadlessOnly;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `in_visual_mode` is never used
[INFO] [stdout]   --> src/engine/headless.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn in_visual_mode(sim_config: Res<SimulationConfig>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `in_headless_mode` is never used
[INFO] [stdout]   --> src/engine/headless.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn in_headless_mode(sim_config: Res<SimulationConfig>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReplayPlayer` is never constructed
[INFO] [stdout]    --> src/engine/replay.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct ReplayPlayer {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `get_next_frame`, and `reset` are never used
[INFO] [stdout]    --> src/engine/replay.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl ReplayPlayer {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 126 |     pub fn load(path: &Path) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn get_next_frame(&mut self) -> Option<&ReplayFrame> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `game_id` and `duration_secs` are never read
[INFO] [stdout]   --> src/engine/batch_runner.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct GameResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 19 |     pub game_id: usize,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub duration_secs: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `game_id` is never read
[INFO] [stdout]    --> src/engine/batch_runner.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 167 | struct BatchGameResult {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] 168 |     game_id: usize,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatchRunnerPlugin` is never constructed
[INFO] [stdout]    --> src/engine/batch_runner.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub struct BatchRunnerPlugin;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoreGameplay` is never constructed
[INFO] [stdout]  --> src/engine/unified.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct CoreGameplay;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VisualOnly` is never constructed
[INFO] [stdout]   --> src/engine/unified.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct VisualOnly;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HeadlessOnly` is never constructed
[INFO] [stdout]   --> src/engine/unified.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct HeadlessOnly;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnifiedGamePlugin` is never constructed
[INFO] [stdout]   --> src/engine/unified.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct UnifiedGamePlugin;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_headless_mode` is never used
[INFO] [stdout]   --> src/engine/unified.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn is_headless_mode(sim_config: Res<SimulationConfig>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `coord` is never read
[INFO] [stdout]   --> src/world/hex_grid.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct HexTile {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 18 |     pub coord: HexCoord,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HexGrid` is never constructed
[INFO] [stdout]   --> src/world/hex_grid.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct HexGrid {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Resource` is never constructed
[INFO] [stdout]  --> src/world/resource.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Resource {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/world/resource.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Resource {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpatialIndex` is never constructed
[INFO] [stdout]  --> src/world/spatial_index.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct SpatialIndex {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear`, `insert`, and `get_neighbors` are never used
[INFO] [stdout]   --> src/world/spatial_index.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl SpatialIndex {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 13 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn insert(&mut self, coord: HexCoord, entity: Entity) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn get_neighbors(&self, coord: HexCoord, range: i32) -> Vec<Entity> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpatialIndexPlugin` is never constructed
[INFO] [stdout]   --> src/world/spatial_index.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct SpatialIndexPlugin;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_spatial_index` is never used
[INFO] [stdout]   --> src/world/spatial_index.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn update_spatial_index(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PythonBridge` is never constructed
[INFO] [stdout]  --> src/ai/bridge.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct PythonBridge;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AITeam` is never constructed
[INFO] [stdout]  --> src/ai/team.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct AITeam {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/ai/team.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl AITeam {
[INFO] [stdout]   | ----------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(id: u32, name: String, ai_count: usize) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NeuralMessage` is never constructed
[INFO] [stdout]  --> src/ai/communication.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct NeuralMessage {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init` is never used
[INFO] [stdout]  --> src/utils/logger.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn init() {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metrics` is never constructed
[INFO] [stdout]  --> src/utils/metrics.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Metrics {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `ticks_per_second` are never used
[INFO] [stdout]   --> src/utils/metrics.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Metrics {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn ticks_per_second(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `attacker` is never read
[INFO] [stdout]  --> src/game/combat_system.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct CombatEvent {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 8 |     pub attacker: Entity,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `unit_type` is never read
[INFO] [stdout]  --> src/units/components.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Unit {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 6 |     pub team: Team,
[INFO] [stdout] 7 |     pub unit_type: UnitType,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Worker` and `Scout` are never constructed
[INFO] [stdout]   --> src/units/components.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum UnitType {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 28 |     Worker,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 29 |     Fighter,
[INFO] [stdout] 30 |     Scout,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnitType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameLoop` is never constructed
[INFO] [stdout]  --> src/engine/game_loop.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct GameLoop {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/engine/game_loop.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl GameLoop {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 7 |     pub fn new(tick_rate: u32) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameState` is never constructed
[INFO] [stdout]  --> src/engine/state.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct GameState {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Physics` is never constructed
[INFO] [stdout]  --> src/engine/physics.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Physics;
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VisualOnly` is never constructed
[INFO] [stdout]   --> src/engine/headless.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct VisualOnly;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HeadlessOnly` is never constructed
[INFO] [stdout]   --> src/engine/headless.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct HeadlessOnly;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `in_visual_mode` is never used
[INFO] [stdout]   --> src/engine/headless.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn in_visual_mode(sim_config: Res<SimulationConfig>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `in_headless_mode` is never used
[INFO] [stdout]   --> src/engine/headless.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub fn in_headless_mode(sim_config: Res<SimulationConfig>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReplayPlayer` is never constructed
[INFO] [stdout]    --> src/engine/replay.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct ReplayPlayer {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load`, `get_next_frame`, and `reset` are never used
[INFO] [stdout]    --> src/engine/replay.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl ReplayPlayer {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] 126 |     pub fn load(path: &Path) -> Result<Self, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn get_next_frame(&mut self) -> Option<&ReplayFrame> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn reset(&mut self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `game_id` and `duration_secs` are never read
[INFO] [stdout]   --> src/engine/batch_runner.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct GameResult {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 19 |     pub game_id: usize,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub duration_secs: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `game_id` is never read
[INFO] [stdout]    --> src/engine/batch_runner.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 167 | struct BatchGameResult {
[INFO] [stdout]     |        --------------- field in this struct
[INFO] [stdout] 168 |     game_id: usize,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BatchRunnerPlugin` is never constructed
[INFO] [stdout]    --> src/engine/batch_runner.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub struct BatchRunnerPlugin;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoreGameplay` is never constructed
[INFO] [stdout]  --> src/engine/unified.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct CoreGameplay;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VisualOnly` is never constructed
[INFO] [stdout]   --> src/engine/unified.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct VisualOnly;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HeadlessOnly` is never constructed
[INFO] [stdout]   --> src/engine/unified.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct HeadlessOnly;
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnifiedGamePlugin` is never constructed
[INFO] [stdout]   --> src/engine/unified.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct UnifiedGamePlugin;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_headless_mode` is never used
[INFO] [stdout]   --> src/engine/unified.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub fn is_headless_mode(sim_config: Res<SimulationConfig>) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `coord` is never read
[INFO] [stdout]   --> src/world/hex_grid.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct HexTile {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 18 |     pub coord: HexCoord,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HexGrid` is never constructed
[INFO] [stdout]   --> src/world/hex_grid.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct HexGrid {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Resource` is never constructed
[INFO] [stdout]  --> src/world/resource.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Resource {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/world/resource.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl Resource {
[INFO] [stdout]   | ------------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpatialIndex` is never constructed
[INFO] [stdout]  --> src/world/spatial_index.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct SpatialIndex {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear`, `insert`, and `get_neighbors` are never used
[INFO] [stdout]   --> src/world/spatial_index.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl SpatialIndex {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 13 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn insert(&mut self, coord: HexCoord, entity: Entity) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn get_neighbors(&self, coord: HexCoord, range: i32) -> Vec<Entity> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpatialIndexPlugin` is never constructed
[INFO] [stdout]   --> src/world/spatial_index.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct SpatialIndexPlugin;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_spatial_index` is never used
[INFO] [stdout]   --> src/world/spatial_index.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn update_spatial_index(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PythonBridge` is never constructed
[INFO] [stdout]  --> src/ai/bridge.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct PythonBridge;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AITeam` is never constructed
[INFO] [stdout]  --> src/ai/team.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct AITeam {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/ai/team.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | impl AITeam {
[INFO] [stdout]   | ----------- associated function in this implementation
[INFO] [stdout] 9 |     pub fn new(id: u32, name: String, ai_count: usize) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NeuralMessage` is never constructed
[INFO] [stdout]  --> src/ai/communication.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct NeuralMessage {
[INFO] [stdout]   |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init` is never used
[INFO] [stdout]  --> src/utils/logger.rs:2:8
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub fn init() {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Metrics` is never constructed
[INFO] [stdout]  --> src/utils/metrics.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Metrics {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `ticks_per_second` are never used
[INFO] [stdout]   --> src/utils/metrics.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Metrics {
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn ticks_per_second(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `attacker` is never read
[INFO] [stdout]  --> src/game/combat_system.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct CombatEvent {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 8 |     pub attacker: Entity,
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `unit_type` is never read
[INFO] [stdout]  --> src/units/components.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Unit {
[INFO] [stdout]   |            ---- field in this struct
[INFO] [stdout] 6 |     pub team: Team,
[INFO] [stdout] 7 |     pub unit_type: UnitType,
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Worker` and `Scout` are never constructed
[INFO] [stdout]   --> src/units/components.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub enum UnitType {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 28 |     Worker,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 29 |     Fighter,
[INFO] [stdout] 30 |     Scout,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnitType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 36s
[INFO] running `Command { std: "docker" "inspect" "549fad9b5f5e56600a2e5c13f3c940187ab798fa794c705d6fb5fd43f4ebe04c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "549fad9b5f5e56600a2e5c13f3c940187ab798fa794c705d6fb5fd43f4ebe04c", kill_on_drop: false }`
[INFO] [stdout] 549fad9b5f5e56600a2e5c13f3c940187ab798fa794c705d6fb5fd43f4ebe04c
