[INFO] cloning repository https://github.com/bmanturner/soc-experiment-rl
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bmanturner/soc-experiment-rl" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbmanturner%2Fsoc-experiment-rl", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbmanturner%2Fsoc-experiment-rl'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 458ac0fd6fef1db1e197a9ac2f2ee5b380ccb2ea
[INFO] checking bmanturner/soc-experiment-rl against try#db4e1d23234d93b5e96ecc768b35d9090c32cddf for pr-149901
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbmanturner%2Fsoc-experiment-rl" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/bmanturner/soc-experiment-rl
[INFO] finished tweaking git repo https://github.com/bmanturner/soc-experiment-rl
[INFO] tweaked toml for git repo https://github.com/bmanturner/soc-experiment-rl written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/bmanturner/soc-experiment-rl on toolchain db4e1d23234d93b5e96ecc768b35d9090c32cddf
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db4e1d23234d93b5e96ecc768b35d9090c32cddf" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/bmanturner/soc-experiment-rl 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" "+db4e1d23234d93b5e96ecc768b35d9090c32cddf" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db4e1d23234d93b5e96ecc768b35d9090c32cddf" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2846cf67dbcfd3d6933888f18ae3a28c514ac794e708f838f961c9beb8126c9d
[INFO] running `Command { std: "docker" "start" "-a" "2846cf67dbcfd3d6933888f18ae3a28c514ac794e708f838f961c9beb8126c9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2846cf67dbcfd3d6933888f18ae3a28c514ac794e708f838f961c9beb8126c9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2846cf67dbcfd3d6933888f18ae3a28c514ac794e708f838f961c9beb8126c9d", kill_on_drop: false }`
[INFO] [stdout] 2846cf67dbcfd3d6933888f18ae3a28c514ac794e708f838f961c9beb8126c9d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db4e1d23234d93b5e96ecc768b35d9090c32cddf" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c7e93eea66b7d592c56d615977407661ca0c4cd7228e671f98afed3f3edca314
[INFO] running `Command { std: "docker" "start" "-a" "c7e93eea66b7d592c56d615977407661ca0c4cd7228e671f98afed3f3edca314", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.17
[INFO] [stderr]    Compiling libc v0.2.170
[INFO] [stderr]    Compiling serde v1.0.218
[INFO] [stderr]    Compiling indexmap v2.7.1
[INFO] [stderr]    Compiling winnow v0.7.3
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]     Checking foldhash v0.1.4
[INFO] [stderr]     Checking parking v2.2.1
[INFO] [stderr]    Compiling once_cell v1.20.3
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]     Checking concurrent-queue v2.5.0
[INFO] [stderr]    Compiling typeid v1.0.2
[INFO] [stderr]    Compiling libm v0.2.11
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]     Checking futures-lite v2.6.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking disqualified v1.0.0
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]     Checking bevy_ptr v0.15.3
[INFO] [stderr]     Checking event-listener v5.4.0
[INFO] [stderr]     Checking nonmax v0.5.5
[INFO] [stderr]     Checking fixedbitset v0.5.7
[INFO] [stderr]     Checking either v1.14.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling naga v23.1.0
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking event-listener-strategy v0.5.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.14
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]     Checking async-executor v1.13.1
[INFO] [stderr]     Checking unicode-xid v0.2.6
[INFO] [stderr]     Checking async-channel v2.3.1
[INFO] [stderr]    Compiling khronos-egl v6.0.0
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking piper v0.2.4
[INFO] [stderr]     Checking tinyvec v1.8.1
[INFO] [stderr]    Compiling blake3 v1.6.1
[INFO] [stderr]    Compiling wgpu-hal v23.0.1
[INFO] [stderr]     Checking miniz_oxide v0.8.5
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]     Checking async-lock v3.4.0
[INFO] [stderr]    Compiling wgpu-core v23.0.1
[INFO] [stderr]     Checking glow v0.14.2
[INFO] [stderr]     Checking profiling v1.0.16
[INFO] [stderr]     Checking blocking v1.6.1
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]     Checking bevy_tasks v0.15.3
[INFO] [stderr]    Compiling litrs v0.4.1
[INFO] [stderr]    Compiling uuid v1.12.1
[INFO] [stderr]     Checking renderdoc-sys v1.1.0
[INFO] [stderr]     Checking async-broadcast v0.5.1
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]    Compiling wgpu v23.0.1
[INFO] [stderr]     Checking const_panic v0.2.12
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking atomicow v1.0.0
[INFO] [stderr]     Checking stackfuture v0.3.0
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking accesskit v0.17.1
[INFO] [stderr]     Checking ktx2 v0.3.0
[INFO] [stderr]     Checking const_soft_float v0.1.4
[INFO] [stderr]    Compiling document-features v0.2.11
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking const-fnv1a-hash v1.1.0
[INFO] [stderr]     Checking async-fs v2.1.2
[INFO] [stderr]     Checking flate2 v1.1.0
[INFO] [stderr]     Checking offset-allocator v0.2.0
[INFO] [stderr]    Compiling toml_edit v0.22.24
[INFO] [stderr]     Checking ruzstd v0.7.3
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking constgebra v0.1.4
[INFO] [stderr]    Compiling slotmap v1.0.7
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking radsort v0.1.1
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking euclid v0.22.11
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking sysinfo v0.32.1
[INFO] [stderr]     Checking svg_fmt v0.4.4
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling serde_json v1.0.139
[INFO] [stderr]     Checking roxmltree v0.20.0
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking alsa-sys v0.3.1
[INFO] [stderr]     Checking memmap2 v0.9.5
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]    Compiling winit v0.30.9
[INFO] [stderr]     Checking unicode-properties v0.1.3
[INFO] [stderr]     Checking unicode-bidi-mirroring v0.2.0
[INFO] [stderr]     Checking yazi v0.1.6
[INFO] [stderr]     Checking zeno v0.2.3
[INFO] [stderr]     Checking x11rb-protocol v0.13.1
[INFO] [stderr]     Checking unicode-ccc v0.2.0
[INFO] [stderr]     Checking ttf-parser v0.21.1
[INFO] [stderr]     Checking as-raw-xcb-connection v1.0.1
[INFO] [stderr]     Checking xkeysym v0.2.1
[INFO] [stderr]     Checking unicode-script v0.5.7
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking x11-dl v2.21.0
[INFO] [stderr]     Checking sys-locale v0.3.2
[INFO] [stderr]     Checking cursor-icon v1.1.0
[INFO] [stderr]    Compiling gilrs v0.11.0
[INFO] [stderr]     Checking fontconfig-parser v0.5.7
[INFO] [stderr]     Checking rangemap v1.5.1
[INFO] [stderr]     Checking dpi v0.1.1
[INFO] [stderr]     Checking self_cell v1.1.0
[INFO] [stderr]     Checking lewton v0.10.2
[INFO] [stderr]     Checking grid v0.14.0
[INFO] [stderr]     Checking guillotiere v0.6.2
[INFO] [stderr]    Compiling zerocopy v0.8.21
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking getrandom v0.3.1
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling anyhow v1.0.96
[INFO] [stderr]     Checking fontdb v0.16.2
[INFO] [stderr]     Checking taffy v0.5.2
[INFO] [stderr]     Checking is-terminal v0.4.15
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]    Compiling bevy_macro_utils v0.15.3
[INFO] [stderr]    Compiling encase_derive_impl v0.10.0
[INFO] [stderr]     Checking rand_core v0.9.2
[INFO] [stderr]    Compiling serde_derive v1.0.218
[INFO] [stderr]    Compiling bytemuck_derive v1.8.1
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling bevy_utils_proc_macros v0.15.3
[INFO] [stderr]    Compiling bevy_reflect_derive v0.15.3
[INFO] [stderr]    Compiling assert_type_match v0.1.1
[INFO] [stderr]    Compiling bevy_ecs_macros v0.15.3
[INFO] [stderr]    Compiling bevy_derive v0.15.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling bevy_asset_macros v0.15.3
[INFO] [stderr]    Compiling encase_derive v0.10.0
[INFO] [stderr]    Compiling bevy_encase_derive v0.15.3
[INFO] [stderr]    Compiling bevy_render_macros v0.15.3
[INFO] [stderr]    Compiling gltf-derive v1.4.1
[INFO] [stderr]    Compiling bevy_gizmos_macros v0.15.3
[INFO] [stderr]    Compiling bevy_state_macros v0.15.3
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]    Compiling big-brain-derive v0.22.0
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking bytemuck v1.21.0
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking image v0.25.5
[INFO] [stderr]     Checking font-types v0.7.3
[INFO] [stderr]     Checking safe_arch v0.7.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking read-fonts v0.22.7
[INFO] [stderr]     Checking derive_more v1.0.0
[INFO] [stderr]     Checking wide v0.7.32
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking ultraviolet v0.9.2
[INFO] [stderr]     Checking bracket-geometry v0.8.7
[INFO] [stderr]     Checking bitflags v2.8.0
[INFO] [stderr]     Checking glam v0.29.2
[INFO] [stderr]     Checking smol_str v0.2.2
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking petgraph v0.6.5
[INFO] [stderr]     Checking erased-serde v0.4.5
[INFO] [stderr]     Checking bracket-algorithm-traits v0.8.7
[INFO] [stderr]     Checking bracket-pathfinding v0.8.7
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking wgpu-types v23.0.0
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking inotify v0.11.0
[INFO] [stderr]     Checking gpu-descriptor v0.3.1
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking rustybuzz v0.14.1
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking alsa v0.9.1
[INFO] [stderr]     Checking bevy_utils v0.15.3
[INFO] [stderr]     Checking gltf-json v1.4.1
[INFO] [stderr]     Checking cpal v0.15.3
[INFO] [stderr]     Checking rodio v0.19.0
[INFO] [stderr]     Checking ctrlc v3.4.5
[INFO] [stderr]     Checking gilrs-core v0.6.2
[INFO] [stderr]     Checking skrifa v0.22.3
[INFO] [stderr]     Checking gltf v1.4.1
[INFO] [stderr]     Checking polling v3.7.4
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking calloop v0.13.0
[INFO] [stderr]     Checking bevy_reflect v0.15.3
[INFO] [stderr]     Checking encase v0.10.0
[INFO] [stderr]     Checking bevy_mikktspace v0.15.3
[INFO] [stderr]     Checking hexasphere v15.1.0
[INFO] [stderr]     Checking swash v0.1.19
[INFO] [stderr]     Checking naga_oil v0.16.0
[INFO] [stderr]     Checking accesskit_winit v0.23.1
[INFO] [stderr]     Checking cosmic-text v0.12.1
[INFO] [stderr]     Checking bevy_ecs v0.15.3
[INFO] [stderr]     Checking bevy_math v0.15.3
[INFO] [stderr]     Checking bevy_color v0.15.4
[INFO] [stderr]     Checking bevy_app v0.15.3
[INFO] [stderr]     Checking bevy_core v0.15.3
[INFO] [stderr]     Checking bevy_asset v0.15.3
[INFO] [stderr]     Checking bevy_a11y v0.15.3
[INFO] [stderr]     Checking bevy_time v0.15.3
[INFO] [stderr]     Checking bevy_log v0.15.3
[INFO] [stderr]     Checking bevy_hierarchy v0.15.3
[INFO] [stderr]     Checking bevy_input v0.15.3
[INFO] [stderr]     Checking bevy_diagnostic v0.15.3
[INFO] [stderr]     Checking bevy_transform v0.15.3
[INFO] [stderr]     Checking bevy_state v0.15.3
[INFO] [stderr]     Checking bevy_window v0.15.3
[INFO] [stderr]     Checking bevy_gilrs v0.15.3
[INFO] [stderr]     Checking bevy_image v0.15.3
[INFO] [stderr]     Checking bevy_audio v0.15.3
[INFO] [stderr]     Checking bevy_mesh v0.15.3
[INFO] [stderr]     Checking bevy_winit v0.15.3
[INFO] [stderr]     Checking bevy_render v0.15.3
[INFO] [stderr]     Checking bevy_core_pipeline v0.15.3
[INFO] [stderr]     Checking bevy_picking v0.15.3
[INFO] [stderr]     Checking bevy_animation v0.15.3
[INFO] [stderr]     Checking bevy_scene v0.15.3
[INFO] [stderr]     Checking bevy_sprite v0.15.3
[INFO] [stderr]     Checking bevy_pbr v0.15.3
[INFO] [stderr]     Checking bevy_text v0.15.3
[INFO] [stderr]     Checking bevy_ui v0.15.3
[INFO] [stderr]     Checking bevy_gizmos v0.15.3
[INFO] [stderr]     Checking bevy_gltf v0.15.3
[INFO] [stderr]     Checking bevy_internal v0.15.3
[INFO] [stderr]     Checking bevy v0.15.3
[INFO] [stderr]     Checking big-brain v0.22.0
[INFO] [stderr]     Checking sons-of-cain v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ActionStartedEvent`
[INFO] [stdout]   --> src/systems/turn.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     ActionStartedEvent,
[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: `GameEvent`
[INFO] [stdout]  --> src/systems/event_examples.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 |     event_bus::{EventBus, GameEvent, EventSubscription},
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerPosition`
[INFO] [stdout]  --> src/systems/player_action.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::resources::{Map, TurnQueue, PlayerPosition};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActionFailedEvent`
[INFO] [stdout]   --> src/systems/player_action.rs:11:61
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::utils::events::game_events::{ActionStartedEvent, ActionFailedEvent};
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `turn::TimeSystemSubscriptions`
[INFO] [stdout]   --> src/systems/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use turn::TimeSystemSubscriptions; // New resource for event subscriptions
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `turn::complete_entity_turn`
[INFO] [stdout]   --> src/systems/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use turn::complete_entity_turn; // New time system
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameError`
[INFO] [stdout]  --> src/map/generators/generator.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::{GameError, GameResult};
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameError`
[INFO] [stdout]  --> src/map/generators/rooms.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::utils::{GameError, GameResult};
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/utils/events/event_bus.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     /// Test event for unit testing
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/utils/events/event_bus.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 343 |     /// Another test event for multi-event testing
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::define_event`
[INFO] [stdout]    --> src/utils/events/event_bus.rs:337:9
[INFO] [stdout]     |
[INFO] [stdout] 337 |     use crate::define_event;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `game_events::*`
[INFO] [stdout]  --> src/utils/events/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use game_events::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::map::tile::TileType`
[INFO] [stdout]  --> src/utils/rendering.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::map::tile::TileType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameError`
[INFO] [stdout]  --> src/plugins/asset_plugin.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::error::{GameResult, GameError, errors};
[INFO] [stdout]   |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MoveResult`, `execute_move`, `execute_open_door`, and `execute_step_toward_target`
[INFO] [stdout]  --> src/plugins/movement/mod.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::movement::{MoveResult, execute_move, execute_open_door, execute_step_toward_target, create_movement_target};
[INFO] [stdout]   |                       ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FieldOfView`
[INFO] [stdout]  --> src/plugins/movement/mod.rs:5:59
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::components::{Player, Position, MovementTarget, FieldOfView, ActionTime};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerPosition`
[INFO] [stdout]  --> src/plugins/movement/mod.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::resources::{Map, PlayerPosition, GameState};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TileSize`
[INFO] [stdout]  --> src/plugins/rendering.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     TileSize
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::prelude::*`
[INFO] [stdout]  --> src/movement/validation.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bevy::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time`
[INFO] [stdout]  --> src/movement/actions.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::{core, validation, time};
[INFO] [stdout]   |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time::calculate_move_time`
[INFO] [stdout]   --> src/movement/mod.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub use time::calculate_move_time;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `validation::validate_move`
[INFO] [stdout]   --> src/movement/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use validation::validate_move;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::Level`
[INFO] [stdout]    --> src/main.rs:212:17
[INFO] [stdout]     |
[INFO] [stdout] 212 |             use log::Level;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActionStartedEvent`
[INFO] [stdout]   --> src/systems/turn.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     ActionStartedEvent,
[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: `GameEvent`
[INFO] [stdout]  --> src/systems/event_examples.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 |     event_bus::{EventBus, GameEvent, EventSubscription},
[INFO] [stdout]   |                           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerPosition`
[INFO] [stdout]  --> src/systems/player_action.rs:4:40
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::resources::{Map, TurnQueue, PlayerPosition};
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ActionFailedEvent`
[INFO] [stdout]   --> src/systems/player_action.rs:11:61
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::utils::events::game_events::{ActionStartedEvent, ActionFailedEvent};
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `turn::TimeSystemSubscriptions`
[INFO] [stdout]   --> src/systems/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use turn::TimeSystemSubscriptions; // New resource for event subscriptions
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `turn::complete_entity_turn`
[INFO] [stdout]   --> src/systems/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use turn::complete_entity_turn; // New time system
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameError`
[INFO] [stdout]  --> src/map/generators/generator.rs:3:20
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::{GameError, GameResult};
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameError`
[INFO] [stdout]  --> src/map/generators/rooms.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::utils::{GameError, GameResult};
[INFO] [stdout]   |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/utils/events/event_bus.rs:4:30
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::sync::{Arc, RwLock, Mutex};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `game_events::*`
[INFO] [stdout]  --> src/utils/events/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use game_events::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::map::tile::TileType`
[INFO] [stdout]  --> src/utils/rendering.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::map::tile::TileType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GameError`
[INFO] [stdout]  --> src/plugins/asset_plugin.rs:3:39
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::utils::error::{GameResult, GameError, errors};
[INFO] [stdout]   |                                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MoveResult`, `execute_move`, `execute_open_door`, and `execute_step_toward_target`
[INFO] [stdout]  --> src/plugins/movement/mod.rs:3:23
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::movement::{MoveResult, execute_move, execute_open_door, execute_step_toward_target, create_movement_target};
[INFO] [stdout]   |                       ^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FieldOfView`
[INFO] [stdout]  --> src/plugins/movement/mod.rs:5:59
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::components::{Player, Position, MovementTarget, FieldOfView, ActionTime};
[INFO] [stdout]   |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PlayerPosition`
[INFO] [stdout]  --> src/plugins/movement/mod.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::resources::{Map, PlayerPosition, GameState};
[INFO] [stdout]   |                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TileSize`
[INFO] [stdout]  --> src/plugins/rendering.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     TileSize
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bevy::prelude::*`
[INFO] [stdout]  --> src/movement/validation.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bevy::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time`
[INFO] [stdout]  --> src/movement/actions.rs:6:31
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::{core, validation, time};
[INFO] [stdout]   |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `time::calculate_move_time`
[INFO] [stdout]   --> src/movement/mod.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub use time::calculate_move_time;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `validation::validate_move`
[INFO] [stdout]   --> src/movement/mod.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub use validation::validate_move;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::Level`
[INFO] [stdout]    --> src/main.rs:212:17
[INFO] [stdout]     |
[INFO] [stdout] 212 |             use log::Level;
[INFO] [stdout]     |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/resources/textures.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let mut tint_rules = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/resources/textures.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let mut tint_rules = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/player_action.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     mut error_log: ResMut<ErrorLog>,
[INFO] [stdout]    |     ----^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error_log`
[INFO] [stdout]   --> src/systems/player_action.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     mut error_log: ResMut<ErrorLog>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_error_log`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `hit_wall` is never read
[INFO] [stdout]   --> src/utils/fov.rs:67:21
[INFO] [stdout]    |
[INFO] [stdout] 67 |                     hit_wall = 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: variable does not need to be mutable
[INFO] [stdout]   --> src/systems/player_action.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     mut error_log: ResMut<ErrorLog>,
[INFO] [stdout]    |     ----^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error_log`
[INFO] [stdout]   --> src/systems/player_action.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     mut error_log: ResMut<ErrorLog>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_error_log`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `hit_wall` is never read
[INFO] [stdout]   --> src/utils/fov.rs:67:21
[INFO] [stdout]    |
[INFO] [stdout] 67 |                     hit_wall = 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: unused variable: `map`
[INFO] [stdout]    --> src/movement/core.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     map: &mut Map,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]    --> src/movement/core.rs:117:5
[INFO] [stdout]     |
[INFO] [stdout] 117 |     map: &mut Map,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TileSize` is never constructed
[INFO] [stdout]   --> src/components/position.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct TileSize(pub f32);
[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/components/renderable.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Renderable {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn new(sprite: SpriteRef, fg_color: Color, render_order: i32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_position` is never read
[INFO] [stdout]   --> src/components/renderable.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct EntityRenderData {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 24 |     pub sprite_entity: Entity,
[INFO] [stdout] 25 |     pub last_position: crate::components::Position,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parent` is never read
[INFO] [stdout]   --> src/components/renderable.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct EntityParent {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 31 |     pub parent: Entity,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/components/action_time.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl ActionTime {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  55 |     /// Create a new ActionTime component with custom base cost
[INFO] [stdout]  56 |     pub fn new(base_action_cost: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn set_base_action_cost(&mut self, cost: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn is_interruptible(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn set_interruptible(&mut self, interruptible: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn get_total_time_spent(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn get_turn_count(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn peek_next_action(&self) -> Option<&QueuedAction> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn clear_actions(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn queue_length(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `can_perform_action` is never used
[INFO] [stdout]   --> src/resources/game_state.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl GameState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn can_perform_action(&self, action: &str) -> GameResult<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_tileset` is never used
[INFO] [stdout]   --> src/resources/textures.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl GameTilesets {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 37 |     /// Get a tileset by type, returning an error if it doesn't exist
[INFO] [stdout] 38 |     pub fn get_tileset(&self, tileset_type: TilesetType) -> GameResult<&TilesetData> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_sprite_strict` is never used
[INFO] [stdout]    --> src/resources/textures.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl TileMapping {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn get_sprite_strict(&self, tile_type: TileType) -> GameResult<SpriteRef> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AlwaysBright` and `Custom` are never constructed
[INFO] [stdout]    --> src/resources/textures.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub enum TintRule {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 166 |     AlwaysBright,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     Custom {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TintRule` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `register_composite_tile` and `register_tint_rule` are never used
[INFO] [stdout]    --> src/resources/textures.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl TileRenderConfig {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn register_composite_tile(&mut self, tile_type: TileType, background: TileType) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn register_tint_rule(&mut self, tile_type: TileType, rule: TintRule) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_new_turn`, `get_predicted_turns`, and `get_time_since_update` are never used
[INFO] [stdout]    --> src/resources/turn_queue.rs:97:12
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl TurnQueue {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  96 |     /// Create a new TurnQueue with the specified prediction limit
[INFO] [stdout]  97 |     pub fn new(max_predictions: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn is_new_turn(&self, entity: Entity) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn get_predicted_turns(&self) -> &[PredictedTurn] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn get_time_since_update(&self, current_time: f32) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ComputingFov` is never constructed
[INFO] [stdout]   --> src/systems/turn.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum TurnState {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     ComputingFov,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TurnState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `time_advanced` is never read
[INFO] [stdout]    --> src/systems/turn.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub struct LastFrameState {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub time_advanced: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_entity_turn` is never used
[INFO] [stdout]    --> src/systems/turn.rs:486:8
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub fn complete_entity_turn(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `publish_player_move_events` is never used
[INFO] [stdout]   --> src/systems/event_examples.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn publish_player_move_events(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_player_event_listeners` is never used
[INFO] [stdout]   --> src/systems/event_examples.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn setup_player_event_listeners(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `game_state_change_listener` is never used
[INFO] [stdout]   --> src/systems/event_examples.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn game_state_change_listener(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_message_system` is never used
[INFO] [stdout]    --> src/systems/event_examples.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn log_message_system(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_safe` is never used
[INFO] [stdout]   --> src/map/generators/generator.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait MapGenerator {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn generate_safe(&mut self, rng: &mut DungeonRng) -> Map {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dimensions` is never used
[INFO] [stdout]   --> src/map/generators/rooms.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Room {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn dimensions(&self) -> (i32, i32) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `distance_squared` is never used
[INFO] [stdout]   --> src/utils/geometry.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn distance_squared(p1: Position, p2: Position) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `random_f32` are never used
[INFO] [stdout]   --> src/utils/rng.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl DungeonRng {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn random_f32(&mut self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_error` is never used
[INFO] [stdout]   --> src/utils/error.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn map_error(message: impl Into<String>) -> GameError {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_index` is never used
[INFO] [stdout]   --> src/utils/error.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn invalid_index(index: usize, size: usize) -> GameError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_failed` is never used
[INFO] [stdout]   --> src/utils/error.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn load_failed(path: impl Into<String>, message: impl Into<String>) -> GameError {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input_error` is never used
[INFO] [stdout]   --> src/utils/error.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn input_error(message: impl Into<String>) -> GameError {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_cursor_position` is never used
[INFO] [stdout]   --> src/utils/error.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn invalid_cursor_position() -> GameError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `viewport_conversion_failed` is never used
[INFO] [stdout]   --> src/utils/error.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn viewport_conversion_failed() -> GameError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `system_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn system_error(message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `system_initialization_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn system_initialization_error(system_name: impl Into<String>, message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `state_transition_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn state_transition_error(from: impl std::fmt::Debug, to: impl std::fmt::Debug) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fov_calculation_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn fov_calculation_error(entity_id: impl std::fmt::Display, message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `concurrency_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn concurrency_error(system_name: impl Into<String>, message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `missing_sprite_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn missing_sprite_error(tile_type: impl std::fmt::Debug) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `entity_rendering_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn entity_rendering_error(entity_id: impl std::fmt::Display, message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resource_initialization_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn resource_initialization_error(resource_name: impl Into<String>, message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resource_access_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub fn resource_access_error(resource_name: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `event_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn event_error(message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `event_dispatch_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn event_dispatch_error(event_name: impl Into<String>, message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `event_subscription_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn event_subscription_error(event_name: impl Into<String>, message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `event_bus_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:196:12
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn event_bus_error(message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `action_during_wrong_turn` is never used
[INFO] [stdout]    --> src/utils/error.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn action_during_wrong_turn(action: impl Into<String>, current_turn: impl std::fmt::Debug) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiple_movement_targets` is never used
[INFO] [stdout]    --> src/utils/error.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn multiple_movement_targets() -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `other_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:218:12
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn other_error(message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `missing_action_type_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:227:12
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn missing_action_type_error(action_type: impl std::fmt::Debug) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `missing_weapon_modifier_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:231:12
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn missing_weapon_modifier_error(weapon_type: impl std::fmt::Debug) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_cost_value_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub fn invalid_cost_value_error(action_type: impl std::fmt::Debug, value: impl std::fmt::Display) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `subscription_id` is never read
[INFO] [stdout]    --> src/utils/events/event_bus.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub struct EventSubscription<T: GameEvent> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 200 |     subscription_id: SubscriptionId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl<T: GameEvent> EventSubscription<T> {
[INFO] [stdout]     | --------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn id(&self) -> SubscriptionId {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TypedEventSubscriber` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:236:11
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub trait TypedEventSubscriber<T: GameEvent> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_event_subscription` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub fn add_event_subscription<T: GameEvent>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | define_event!(MapGeneratedEvent, width: i32, height: i32);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LevelChangeEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | define_event!(LevelChangeEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | / define_event!(LevelChangeEvent, 
[INFO] [stdout]  18 | |     prev_level: i32,
[INFO] [stdout]  19 | |     new_level: i32,
[INFO] [stdout]  20 | |     reason: String
[INFO] [stdout]  21 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TileDiscoveredEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 | define_event!(TileDiscoveredEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | / define_event!(TileDiscoveredEvent, 
[INFO] [stdout]  25 | |     x: i32, 
[INFO] [stdout]  26 | |     y: i32, 
[INFO] [stdout]  27 | |     tile_type: TileType
[INFO] [stdout]  28 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollisionEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 | define_event!(CollisionEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | / define_event!(CollisionEvent, 
[INFO] [stdout]  32 | |     entity: Entity,
[INFO] [stdout]  33 | |     x: i32,
[INFO] [stdout]  34 | |     y: i32,
[INFO] [stdout]  35 | |     tile_type: TileType
[INFO] [stdout]  36 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerMoveEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 | define_event!(PlayerMoveEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | / define_event!(PlayerMoveEvent, 
[INFO] [stdout]  44 | |     player: Entity,
[INFO] [stdout]  45 | |     from_x: i32,
[INFO] [stdout]  46 | |     from_y: i32,
[INFO] [stdout]  47 | |     to_x: i32,
[INFO] [stdout]  48 | |     to_y: i32
[INFO] [stdout]  49 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerActionEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 52 | define_event!(PlayerActionEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / define_event!(PlayerActionEvent, 
[INFO] [stdout]  53 | |     player: Entity,
[INFO] [stdout]  54 | |     action_type: String,
[INFO] [stdout]  55 | |     target_x: Option<i32>,
[INFO] [stdout]  56 | |     target_y: Option<i32>,
[INFO] [stdout]  57 | |     target_entity: Option<Entity>
[INFO] [stdout]  58 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FovUpdatedEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 61 | define_event!(FovUpdatedEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | / define_event!(FovUpdatedEvent, 
[INFO] [stdout]  62 | |     player: Entity,
[INFO] [stdout]  63 | |     visible_tiles: Vec<(i32, i32)>
[INFO] [stdout]  64 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerTurnStartEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 67 | define_event!(PlayerTurnStartEvent, player: Entity);
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | define_event!(PlayerTurnStartEvent, player: Entity);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerTurnEndEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 | define_event!(PlayerTurnEndEvent, player: Entity);
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:70:1
[INFO] [stdout]     |
[INFO] [stdout]  70 | define_event!(PlayerTurnEndEvent, player: Entity);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AttackEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | define_event!(AttackEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:77:1
[INFO] [stdout]     |
[INFO] [stdout]  77 | / define_event!(AttackEvent, 
[INFO] [stdout]  78 | |     attacker: Entity,
[INFO] [stdout]  79 | |     target: Entity,
[INFO] [stdout]  80 | |     weapon: Option<Entity>,
[INFO] [stdout]  81 | |     damage: i32
[INFO] [stdout]  82 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DamageEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 | define_event!(DamageEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | / define_event!(DamageEvent, 
[INFO] [stdout]  86 | |     target: Entity,
[INFO] [stdout]  87 | |     source: Option<Entity>,
[INFO] [stdout]  88 | |     amount: i32,
[INFO] [stdout]  89 | |     damage_type: String
[INFO] [stdout]  90 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeathEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:93:15
[INFO] [stdout]    |
[INFO] [stdout] 93 | define_event!(DeathEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | / define_event!(DeathEvent, 
[INFO] [stdout]  94 | |     entity: Entity,
[INFO] [stdout]  95 | |     killer: Option<Entity>
[INFO] [stdout]  96 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ItemPickupEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:99:15
[INFO] [stdout]    |
[INFO] [stdout] 99 | define_event!(ItemPickupEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout]  99 | / define_event!(ItemPickupEvent, 
[INFO] [stdout] 100 | |     entity: Entity,
[INFO] [stdout] 101 | |     item: Entity
[INFO] [stdout] 102 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ItemUseEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 | define_event!(ItemUseEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | / define_event!(ItemUseEvent, 
[INFO] [stdout] 106 | |     entity: Entity,
[INFO] [stdout] 107 | |     item: Entity,
[INFO] [stdout] 108 | |     target: Option<Entity>
[INFO] [stdout] 109 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameStateChangeEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 | define_event!(GameStateChangeEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:116:1
[INFO] [stdout]     |
[INFO] [stdout] 116 | / define_event!(GameStateChangeEvent, 
[INFO] [stdout] 117 | |     previous_state: String,
[INFO] [stdout] 118 | |     new_state: String
[INFO] [stdout] 119 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GamePausedEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:122:15
[INFO] [stdout]     |
[INFO] [stdout] 122 | define_event!(GamePausedEvent, paused: bool);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | define_event!(GamePausedEvent, paused: bool);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameStartEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:125:15
[INFO] [stdout]     |
[INFO] [stdout] 125 | define_event!(GameStartEvent, timestamp: Option<f64>);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | define_event!(GameStartEvent, timestamp: Option<f64>);
[INFO] [stdout]     | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameOverEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:128:15
[INFO] [stdout]     |
[INFO] [stdout] 128 | define_event!(GameOverEvent, reason: String);
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | define_event!(GameOverEvent, reason: String);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogMessageEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:135:15
[INFO] [stdout]     |
[INFO] [stdout] 135 | define_event!(LogMessageEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / define_event!(LogMessageEvent, 
[INFO] [stdout] 136 | |     message: String,
[INFO] [stdout] 137 | |     message_type: String
[INFO] [stdout] 138 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthChangedEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 | define_event!(HealthChangedEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | / define_event!(HealthChangedEvent, 
[INFO] [stdout] 142 | |     entity: Entity,
[INFO] [stdout] 143 | |     previous: i32,
[INFO] [stdout] 144 | |     current: i32,
[INFO] [stdout] 145 | |     max: i32
[INFO] [stdout] 146 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatChangedEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:149:15
[INFO] [stdout]     |
[INFO] [stdout] 149 | define_event!(StatChangedEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | / define_event!(StatChangedEvent, 
[INFO] [stdout] 150 | |     entity: Entity,
[INFO] [stdout] 151 | |     stat_name: String,
[INFO] [stdout] 152 | |     previous_value: i32,
[INFO] [stdout] 153 | |     new_value: i32
[INFO] [stdout] 154 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ActiveSkillChangedEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:157:15
[INFO] [stdout]     |
[INFO] [stdout] 157 | define_event!(ActiveSkillChangedEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:157:1
[INFO] [stdout]     |
[INFO] [stdout] 157 | / define_event!(ActiveSkillChangedEvent, 
[INFO] [stdout] 158 | |     entity: Entity,
[INFO] [stdout] 159 | |     skill_name: String
[INFO] [stdout] 160 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TooltipEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:163:15
[INFO] [stdout]     |
[INFO] [stdout] 163 | define_event!(TooltipEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | / define_event!(TooltipEvent, 
[INFO] [stdout] 164 | |     show: bool,
[INFO] [stdout] 165 | |     text: Option<String>,
[INFO] [stdout] 166 | |     position_x: Option<f32>,
[INFO] [stdout] 167 | |     position_y: Option<f32>
[INFO] [stdout] 168 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | define_event!(TurnBeginEvent, entity: Entity, time_units: i32);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | define_event!(TurnEndEvent, entity: Entity, time_units_spent: i32);
[INFO] [stdout]     | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `entity` is never read
[INFO] [stdout]    --> src/utils/events/game_events.rs:181:38
[INFO] [stdout]     |
[INFO] [stdout] 181 | define_event!(NextActiveEntityEvent, entity: Option<Entity>);
[INFO] [stdout]     |               ---------------------  ^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NextActiveEntityEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | define_event!(NextActiveEntityEvent, entity: Option<Entity>);
[INFO] [stdout]     | ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | define_event!(TimeAdvancedEvent, time_units: i32);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ActionPlannedEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:187:15
[INFO] [stdout]     |
[INFO] [stdout] 187 | define_event!(ActionPlannedEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | / define_event!(ActionPlannedEvent, 
[INFO] [stdout] 188 | |     entity: Entity,
[INFO] [stdout] 189 | |     action_type: String,
[INFO] [stdout] 190 | |     cost: i32,
[INFO] [stdout] 191 | |     target_position: Option<(i32, i32)>,
[INFO] [stdout] 192 | |     target_entity: Option<Entity>
[INFO] [stdout] 193 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `entity`, `action_type`, and `cost` are never read
[INFO] [stdout]    --> src/utils/events/game_events.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 196 | define_event!(ActionStartedEvent,
[INFO] [stdout]     |               ------------------ fields in this struct
[INFO] [stdout] 197 |     entity: Entity,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 198 |     action_type: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 199 |     cost: i32
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ActionStartedEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | / define_event!(ActionStartedEvent,
[INFO] [stdout] 197 | |     entity: Entity,
[INFO] [stdout] 198 | |     action_type: String,
[INFO] [stdout] 199 | |     cost: i32
[INFO] [stdout] 200 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | / define_event!(ActionCompletedEvent,
[INFO] [stdout] 204 | |     entity: Entity,
[INFO] [stdout] 205 | |     action_type: String,
[INFO] [stdout] 206 | |     cost: i32,
[INFO] [stdout] 207 | |     success: bool
[INFO] [stdout] 208 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:211:1
[INFO] [stdout]     |
[INFO] [stdout] 211 | / define_event!(ActionFailedEvent,
[INFO] [stdout] 212 | |     entity: Entity,
[INFO] [stdout] 213 | |     action_type: String,
[INFO] [stdout] 214 | |     reason: String
[INFO] [stdout] 215 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | / define_event!(ActionInterruptEvent,
[INFO] [stdout] 219 | |     entity: Entity,
[INFO] [stdout] 220 | |     reason: String
[INFO] [stdout] 221 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TurnInterruptEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 | define_event!(TurnInterruptEvent,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | / define_event!(TurnInterruptEvent,
[INFO] [stdout] 225 | |     entity: Entity,
[INFO] [stdout] 226 | |     reason: String
[INFO] [stdout] 227 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovementInterruptEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:230:15
[INFO] [stdout]     |
[INFO] [stdout] 230 | define_event!(MovementInterruptEvent,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:230:1
[INFO] [stdout]     |
[INFO] [stdout] 230 | / define_event!(MovementInterruptEvent,
[INFO] [stdout] 231 | |     entity: Entity,
[INFO] [stdout] 232 | |     reason: String,
[INFO] [stdout] 233 | |     position: (i32, i32)
[INFO] [stdout] 234 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EffectAppliedEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:237:15
[INFO] [stdout]     |
[INFO] [stdout] 237 | define_event!(EffectAppliedEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:237:1
[INFO] [stdout]     |
[INFO] [stdout] 237 | / define_event!(EffectAppliedEvent, 
[INFO] [stdout] 238 | |     target: Entity,
[INFO] [stdout] 239 | |     effect_name: String,
[INFO] [stdout] 240 | |     duration: i32
[INFO] [stdout] 241 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EffectTickEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 | define_event!(EffectTickEvent,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:244:1
[INFO] [stdout]     |
[INFO] [stdout] 244 | / define_event!(EffectTickEvent,
[INFO] [stdout] 245 | |     target: Entity,
[INFO] [stdout] 246 | |     effect_name: String,
[INFO] [stdout] 247 | |     remaining_duration: i32
[INFO] [stdout] 248 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EffectExpiredEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 | define_event!(EffectExpiredEvent,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TileSize` is never constructed
[INFO] [stdout]   --> src/components/position.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct TileSize(pub f32);
[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/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:251:1
[INFO] [stdout]     |
[INFO] [stdout] 251 | / define_event!(EffectExpiredEvent,
[INFO] [stdout] 252 | |     target: Entity,
[INFO] [stdout] 253 | |     effect_name: String
[INFO] [stdout] 254 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugModeEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:261:15
[INFO] [stdout]     |
[INFO] [stdout] 261 | define_event!(DebugModeEvent, enabled: bool, category: Option<String>);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/components/renderable.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Renderable {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn new(sprite: SpriteRef, fg_color: Color, render_order: i32) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:261:1
[INFO] [stdout]     |
[INFO] [stdout] 261 | define_event!(DebugModeEvent, enabled: bool, category: Option<String>);
[INFO] [stdout]     | ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugCommandEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:264:15
[INFO] [stdout]     |
[INFO] [stdout] 264 | define_event!(DebugCommandEvent, command: String, args: Vec<String>);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `last_position` is never read
[INFO] [stdout]   --> src/components/renderable.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct EntityRenderData {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 24 |     pub sprite_entity: Entity,
[INFO] [stdout] 25 |     pub last_position: crate::components::Position,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:264:1
[INFO] [stdout]     |
[INFO] [stdout] 264 | define_event!(DebugCommandEvent, command: String, args: Vec<String>);
[INFO] [stdout]     | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugLogEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | define_event!(DebugLogEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `parent` is never read
[INFO] [stdout]   --> src/components/renderable.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct EntityParent {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 31 |     pub parent: Entity,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 | / define_event!(DebugLogEvent, 
[INFO] [stdout] 268 | |     category: String,
[INFO] [stdout] 269 | |     message: String,
[INFO] [stdout] 270 | |     metadata: Option<String>
[INFO] [stdout] 271 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/utils/types.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 244 | impl QueuedAction {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 261 |     pub fn target_entity(action_type: ActionType, target_entity: Entity, cost: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn untargeted(action_type: ActionType, cost: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn with_item_data(mut self, item_data: ItemActionData) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub fn with_ability_data(mut self, ability_data: AbilityActionData) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn with_interaction_data(mut self, interaction_data: InteractionActionData) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn with_custom_data(mut self, data: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn get_target_entity(&self) -> Option<Entity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_turn_transition` is never used
[INFO] [stdout]    --> src/plugins/movement/mod.rs:366:4
[INFO] [stdout]     |
[INFO] [stdout] 366 | fn handle_turn_transition(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `toggle_rendering_feature` is never used
[INFO] [stdout]   --> src/plugins/rendering.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn toggle_rendering_feature(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RenderingFeature` is never used
[INFO] [stdout]   --> src/plugins/rendering.rs:98:10
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub enum RenderingFeature {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/movement/core.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 |     OpenedDoor(Position),
[INFO] [stdout]    |     ---------- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MoveResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 14 -     OpenedDoor(Position),
[INFO] [stdout] 14 +     OpenedDoor(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/components/action_time.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl ActionTime {
[INFO] [stdout]     | --------------- associated items in this implementation
[INFO] [stdout]  55 |     /// Create a new ActionTime component with custom base cost
[INFO] [stdout]  56 |     pub fn new(base_action_cost: u32) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn set_base_action_cost(&mut self, cost: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn is_interruptible(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn set_interruptible(&mut self, interruptible: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn get_total_time_spent(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn get_turn_count(&self) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn peek_next_action(&self) -> Option<&QueuedAction> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn clear_actions(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn queue_length(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/movement/core.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Interacted(Position, TileType),
[INFO] [stdout]    |     ---------- ^^^^^^^^  ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MoveResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 17 -     Interacted(Position, TileType),
[INFO] [stdout] 17 +     Interacted((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NoAction` is never constructed
[INFO] [stdout]   --> src/movement/core.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum MoveResult {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 23 |     NoAction,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MoveResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_fov_after_move` is never used
[INFO] [stdout]    --> src/movement/core.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn update_fov_after_move(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_step_toward_target` is never used
[INFO] [stdout]   --> src/movement/actions.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn execute_step_toward_target(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cancel_movement` is never used
[INFO] [stdout]    --> src/movement/actions.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn cancel_movement(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `can_perform_action` is never used
[INFO] [stdout]   --> src/resources/game_state.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl GameState {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn can_perform_action(&self, action: &str) -> GameResult<()> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `VeryDifficult` and `Road` are never constructed
[INFO] [stdout]   --> src/movement/time.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum TerrainFactor {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     VeryDifficult = 20, // 2.0x
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 22 |     Road = 8,          // 0.8x
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TerrainFactor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_costs` and `weapon_modifiers` are never read
[INFO] [stdout]   --> src/movement/time.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct ActionCostTable {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 68 |     base_costs: HashMap<ActionType, u32>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 69 |     weapon_modifiers: HashMap<WeaponType, f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_tileset` is never used
[INFO] [stdout]   --> src/resources/textures.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl GameTilesets {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 37 |     /// Get a tileset by type, returning an error if it doesn't exist
[INFO] [stdout] 38 |     pub fn get_tileset(&self, tileset_type: TilesetType) -> GameResult<&TilesetData> {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_base_cost`, `get_base_cost_with_fallback`, `get_weapon_modifier`, `get_weapon_modifier_with_fallback`, `set_base_cost`, and `set_weapon_modifier` are never used
[INFO] [stdout]    --> src/movement/time.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl ActionCostTable {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn get_base_cost(&self, action_type: ActionType) -> crate::utils::GameResult<u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn get_base_cost_with_fallback(&self, action_type: ActionType, fallback: u32) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn get_weapon_modifier(&self, weapon_type: WeaponType) -> crate::utils::GameResult<f32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn get_weapon_modifier_with_fallback(&self, weapon_type: WeaponType, fallback: f32) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn set_base_cost(&mut self, action_type: ActionType, cost: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn set_weapon_modifier(&mut self, weapon_type: WeaponType, modifier: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_move_time_fallback` is never used
[INFO] [stdout]    --> src/movement/time.rs:303:8
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub fn calculate_move_time_fallback(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_action_cost` is never used
[INFO] [stdout]    --> src/movement/time.rs:396:8
[INFO] [stdout]     |
[INFO] [stdout] 396 | pub fn calculate_action_cost(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_action_cost_fallback` is never used
[INFO] [stdout]    --> src/movement/time.rs:451:8
[INFO] [stdout]     |
[INFO] [stdout] 451 | pub fn calculate_action_cost_fallback(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_sprite_strict` is never used
[INFO] [stdout]    --> src/resources/textures.rs:145:12
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl TileMapping {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn get_sprite_strict(&self, tile_type: TileType) -> GameResult<SpriteRef> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AlwaysBright` and `Custom` are never constructed
[INFO] [stdout]    --> src/resources/textures.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub enum TintRule {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 166 |     AlwaysBright,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     Custom {
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TintRule` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `register_composite_tile` and `register_tint_rule` are never used
[INFO] [stdout]    --> src/resources/textures.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl TileRenderConfig {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 213 |     pub fn register_composite_tile(&mut self, tile_type: TileType, background: TileType) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn register_tint_rule(&mut self, tile_type: TileType, rule: TintRule) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `is_new_turn`, `get_predicted_turns`, and `get_time_since_update` are never used
[INFO] [stdout]    --> src/resources/turn_queue.rs:97:12
[INFO] [stdout]     |
[INFO] [stdout]  95 | impl TurnQueue {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  96 |     /// Create a new TurnQueue with the specified prediction limit
[INFO] [stdout]  97 |     pub fn new(max_predictions: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn is_new_turn(&self, entity: Entity) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn get_predicted_turns(&self) -> &[PredictedTurn] {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn get_time_since_update(&self, current_time: f32) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ComputingFov` is never constructed
[INFO] [stdout]   --> src/systems/turn.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum TurnState {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 24 |     ComputingFov,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TurnState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `time_advanced` is never read
[INFO] [stdout]    --> src/systems/turn.rs:154:9
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub struct LastFrameState {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 154 |     pub time_advanced: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `complete_entity_turn` is never used
[INFO] [stdout]    --> src/systems/turn.rs:486:8
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub fn complete_entity_turn(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `publish_player_move_events` is never used
[INFO] [stdout]   --> src/systems/event_examples.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn publish_player_move_events(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup_player_event_listeners` is never used
[INFO] [stdout]   --> src/systems/event_examples.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub fn setup_player_event_listeners(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `game_state_change_listener` is never used
[INFO] [stdout]   --> src/systems/event_examples.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn game_state_change_listener(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `log_message_system` is never used
[INFO] [stdout]    --> src/systems/event_examples.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn log_message_system(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_safe` is never used
[INFO] [stdout]   --> src/map/generators/generator.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub trait MapGenerator {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 13 |     fn generate_safe(&mut self, rng: &mut DungeonRng) -> Map {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `intersects_simple` and `dimensions` are never used
[INFO] [stdout]   --> src/map/generators/rooms.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Room {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn intersects_simple(&self, other: &Room) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn dimensions(&self) -> (i32, i32) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `distance_squared` is never used
[INFO] [stdout]   --> src/utils/geometry.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn distance_squared(p1: Position, p2: Position) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `random_f32` are never used
[INFO] [stdout]   --> src/utils/rng.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl DungeonRng {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn random_f32(&mut self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `map_error` is never used
[INFO] [stdout]   --> src/utils/error.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn map_error(message: impl Into<String>) -> GameError {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_index` is never used
[INFO] [stdout]   --> src/utils/error.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn invalid_index(index: usize, size: usize) -> GameError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_failed` is never used
[INFO] [stdout]   --> src/utils/error.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn load_failed(path: impl Into<String>, message: impl Into<String>) -> GameError {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `input_error` is never used
[INFO] [stdout]   --> src/utils/error.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn input_error(message: impl Into<String>) -> GameError {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_cursor_position` is never used
[INFO] [stdout]   --> src/utils/error.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn invalid_cursor_position() -> GameError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `viewport_conversion_failed` is never used
[INFO] [stdout]   --> src/utils/error.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn viewport_conversion_failed() -> GameError {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `system_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn system_error(message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `system_initialization_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn system_initialization_error(system_name: impl Into<String>, message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `state_transition_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     pub fn state_transition_error(from: impl std::fmt::Debug, to: impl std::fmt::Debug) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fov_calculation_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:125:12
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub fn fov_calculation_error(entity_id: impl std::fmt::Display, message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `concurrency_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 |     pub fn concurrency_error(system_name: impl Into<String>, message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `missing_sprite_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub fn missing_sprite_error(tile_type: impl std::fmt::Debug) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `entity_rendering_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub fn entity_rendering_error(entity_id: impl std::fmt::Display, message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resource_initialization_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub fn resource_initialization_error(resource_name: impl Into<String>, message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resource_access_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 |     pub fn resource_access_error(resource_name: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `event_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 |     pub fn event_error(message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `event_dispatch_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:188:12
[INFO] [stdout]     |
[INFO] [stdout] 188 |     pub fn event_dispatch_error(event_name: impl Into<String>, message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `event_subscription_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn event_subscription_error(event_name: impl Into<String>, message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `event_bus_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:196:12
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn event_bus_error(message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `action_during_wrong_turn` is never used
[INFO] [stdout]    --> src/utils/error.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 205 |     pub fn action_during_wrong_turn(action: impl Into<String>, current_turn: impl std::fmt::Debug) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `multiple_movement_targets` is never used
[INFO] [stdout]    --> src/utils/error.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn multiple_movement_targets() -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `other_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:218:12
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn other_error(message: impl Into<String>) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `missing_action_type_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:227:12
[INFO] [stdout]     |
[INFO] [stdout] 227 |     pub fn missing_action_type_error(action_type: impl std::fmt::Debug) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `missing_weapon_modifier_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:231:12
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn missing_weapon_modifier_error(weapon_type: impl std::fmt::Debug) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `invalid_cost_value_error` is never used
[INFO] [stdout]    --> src/utils/error.rs:235:12
[INFO] [stdout]     |
[INFO] [stdout] 235 |     pub fn invalid_cost_value_error(action_type: impl std::fmt::Debug, value: impl std::fmt::Display) -> GameError {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `subscription_id` is never read
[INFO] [stdout]    --> src/utils/events/event_bus.rs:200:5
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub struct EventSubscription<T: GameEvent> {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] 200 |     subscription_id: SubscriptionId,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `id` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl<T: GameEvent> EventSubscription<T> {
[INFO] [stdout]     | --------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn id(&self) -> SubscriptionId {
[INFO] [stdout]     |            ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `TypedEventSubscriber` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:236:11
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub trait TypedEventSubscriber<T: GameEvent> {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_event_subscription` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:248:8
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub fn add_event_subscription<T: GameEvent>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:14:1
[INFO] [stdout]     |
[INFO] [stdout]  14 | define_event!(MapGeneratedEvent, width: i32, height: i32);
[INFO] [stdout]     | --------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LevelChangeEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 | define_event!(LevelChangeEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | / define_event!(LevelChangeEvent, 
[INFO] [stdout]  18 | |     prev_level: i32,
[INFO] [stdout]  19 | |     new_level: i32,
[INFO] [stdout]  20 | |     reason: String
[INFO] [stdout]  21 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TileDiscoveredEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:24:15
[INFO] [stdout]    |
[INFO] [stdout] 24 | define_event!(TileDiscoveredEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:24:1
[INFO] [stdout]     |
[INFO] [stdout]  24 | / define_event!(TileDiscoveredEvent, 
[INFO] [stdout]  25 | |     x: i32, 
[INFO] [stdout]  26 | |     y: i32, 
[INFO] [stdout]  27 | |     tile_type: TileType
[INFO] [stdout]  28 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollisionEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:31:15
[INFO] [stdout]    |
[INFO] [stdout] 31 | define_event!(CollisionEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | / define_event!(CollisionEvent, 
[INFO] [stdout]  32 | |     entity: Entity,
[INFO] [stdout]  33 | |     x: i32,
[INFO] [stdout]  34 | |     y: i32,
[INFO] [stdout]  35 | |     tile_type: TileType
[INFO] [stdout]  36 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerMoveEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:43:15
[INFO] [stdout]    |
[INFO] [stdout] 43 | define_event!(PlayerMoveEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | / define_event!(PlayerMoveEvent, 
[INFO] [stdout]  44 | |     player: Entity,
[INFO] [stdout]  45 | |     from_x: i32,
[INFO] [stdout]  46 | |     from_y: i32,
[INFO] [stdout]  47 | |     to_x: i32,
[INFO] [stdout]  48 | |     to_y: i32
[INFO] [stdout]  49 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerActionEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:52:15
[INFO] [stdout]    |
[INFO] [stdout] 52 | define_event!(PlayerActionEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:52:1
[INFO] [stdout]     |
[INFO] [stdout]  52 | / define_event!(PlayerActionEvent, 
[INFO] [stdout]  53 | |     player: Entity,
[INFO] [stdout]  54 | |     action_type: String,
[INFO] [stdout]  55 | |     target_x: Option<i32>,
[INFO] [stdout]  56 | |     target_y: Option<i32>,
[INFO] [stdout]  57 | |     target_entity: Option<Entity>
[INFO] [stdout]  58 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FovUpdatedEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:61:15
[INFO] [stdout]    |
[INFO] [stdout] 61 | define_event!(FovUpdatedEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | / define_event!(FovUpdatedEvent, 
[INFO] [stdout]  62 | |     player: Entity,
[INFO] [stdout]  63 | |     visible_tiles: Vec<(i32, i32)>
[INFO] [stdout]  64 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerTurnStartEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:67:15
[INFO] [stdout]    |
[INFO] [stdout] 67 | define_event!(PlayerTurnStartEvent, player: Entity);
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:67:1
[INFO] [stdout]     |
[INFO] [stdout]  67 | define_event!(PlayerTurnStartEvent, player: Entity);
[INFO] [stdout]     | --------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerTurnEndEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 | define_event!(PlayerTurnEndEvent, player: Entity);
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:70:1
[INFO] [stdout]     |
[INFO] [stdout]  70 | define_event!(PlayerTurnEndEvent, player: Entity);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AttackEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:77:15
[INFO] [stdout]    |
[INFO] [stdout] 77 | define_event!(AttackEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:77:1
[INFO] [stdout]     |
[INFO] [stdout]  77 | / define_event!(AttackEvent, 
[INFO] [stdout]  78 | |     attacker: Entity,
[INFO] [stdout]  79 | |     target: Entity,
[INFO] [stdout]  80 | |     weapon: Option<Entity>,
[INFO] [stdout]  81 | |     damage: i32
[INFO] [stdout]  82 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DamageEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:85:15
[INFO] [stdout]    |
[INFO] [stdout] 85 | define_event!(DamageEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:85:1
[INFO] [stdout]     |
[INFO] [stdout]  85 | / define_event!(DamageEvent, 
[INFO] [stdout]  86 | |     target: Entity,
[INFO] [stdout]  87 | |     source: Option<Entity>,
[INFO] [stdout]  88 | |     amount: i32,
[INFO] [stdout]  89 | |     damage_type: String
[INFO] [stdout]  90 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DeathEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:93:15
[INFO] [stdout]    |
[INFO] [stdout] 93 | define_event!(DeathEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | / define_event!(DeathEvent, 
[INFO] [stdout]  94 | |     entity: Entity,
[INFO] [stdout]  95 | |     killer: Option<Entity>
[INFO] [stdout]  96 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ItemPickupEvent` is never constructed
[INFO] [stdout]   --> src/utils/events/game_events.rs:99:15
[INFO] [stdout]    |
[INFO] [stdout] 99 | define_event!(ItemPickupEvent, 
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout]  99 | / define_event!(ItemPickupEvent, 
[INFO] [stdout] 100 | |     entity: Entity,
[INFO] [stdout] 101 | |     item: Entity
[INFO] [stdout] 102 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ItemUseEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 | define_event!(ItemUseEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:105:1
[INFO] [stdout]     |
[INFO] [stdout] 105 | / define_event!(ItemUseEvent, 
[INFO] [stdout] 106 | |     entity: Entity,
[INFO] [stdout] 107 | |     item: Entity,
[INFO] [stdout] 108 | |     target: Option<Entity>
[INFO] [stdout] 109 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameStateChangeEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:116:15
[INFO] [stdout]     |
[INFO] [stdout] 116 | define_event!(GameStateChangeEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:116:1
[INFO] [stdout]     |
[INFO] [stdout] 116 | / define_event!(GameStateChangeEvent, 
[INFO] [stdout] 117 | |     previous_state: String,
[INFO] [stdout] 118 | |     new_state: String
[INFO] [stdout] 119 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GamePausedEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:122:15
[INFO] [stdout]     |
[INFO] [stdout] 122 | define_event!(GamePausedEvent, paused: bool);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:122:1
[INFO] [stdout]     |
[INFO] [stdout] 122 | define_event!(GamePausedEvent, paused: bool);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameStartEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:125:15
[INFO] [stdout]     |
[INFO] [stdout] 125 | define_event!(GameStartEvent, timestamp: Option<f64>);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | define_event!(GameStartEvent, timestamp: Option<f64>);
[INFO] [stdout]     | ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameOverEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:128:15
[INFO] [stdout]     |
[INFO] [stdout] 128 | define_event!(GameOverEvent, reason: String);
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | define_event!(GameOverEvent, reason: String);
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LogMessageEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:135:15
[INFO] [stdout]     |
[INFO] [stdout] 135 | define_event!(LogMessageEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / define_event!(LogMessageEvent, 
[INFO] [stdout] 136 | |     message: String,
[INFO] [stdout] 137 | |     message_type: String
[INFO] [stdout] 138 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HealthChangedEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:141:15
[INFO] [stdout]     |
[INFO] [stdout] 141 | define_event!(HealthChangedEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:141:1
[INFO] [stdout]     |
[INFO] [stdout] 141 | / define_event!(HealthChangedEvent, 
[INFO] [stdout] 142 | |     entity: Entity,
[INFO] [stdout] 143 | |     previous: i32,
[INFO] [stdout] 144 | |     current: i32,
[INFO] [stdout] 145 | |     max: i32
[INFO] [stdout] 146 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatChangedEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:149:15
[INFO] [stdout]     |
[INFO] [stdout] 149 | define_event!(StatChangedEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:149:1
[INFO] [stdout]     |
[INFO] [stdout] 149 | / define_event!(StatChangedEvent, 
[INFO] [stdout] 150 | |     entity: Entity,
[INFO] [stdout] 151 | |     stat_name: String,
[INFO] [stdout] 152 | |     previous_value: i32,
[INFO] [stdout] 153 | |     new_value: i32
[INFO] [stdout] 154 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ActiveSkillChangedEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:157:15
[INFO] [stdout]     |
[INFO] [stdout] 157 | define_event!(ActiveSkillChangedEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:157:1
[INFO] [stdout]     |
[INFO] [stdout] 157 | / define_event!(ActiveSkillChangedEvent, 
[INFO] [stdout] 158 | |     entity: Entity,
[INFO] [stdout] 159 | |     skill_name: String
[INFO] [stdout] 160 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TooltipEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:163:15
[INFO] [stdout]     |
[INFO] [stdout] 163 | define_event!(TooltipEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | / define_event!(TooltipEvent, 
[INFO] [stdout] 164 | |     show: bool,
[INFO] [stdout] 165 | |     text: Option<String>,
[INFO] [stdout] 166 | |     position_x: Option<f32>,
[INFO] [stdout] 167 | |     position_y: Option<f32>
[INFO] [stdout] 168 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:175:1
[INFO] [stdout]     |
[INFO] [stdout] 175 | define_event!(TurnBeginEvent, entity: Entity, time_units: i32);
[INFO] [stdout]     | -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:178:1
[INFO] [stdout]     |
[INFO] [stdout] 178 | define_event!(TurnEndEvent, entity: Entity, time_units_spent: i32);
[INFO] [stdout]     | ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `entity` is never read
[INFO] [stdout]    --> src/utils/events/game_events.rs:181:38
[INFO] [stdout]     |
[INFO] [stdout] 181 | define_event!(NextActiveEntityEvent, entity: Option<Entity>);
[INFO] [stdout]     |               ---------------------  ^^^^^^
[INFO] [stdout]     |               |
[INFO] [stdout]     |               field in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NextActiveEntityEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:181:1
[INFO] [stdout]     |
[INFO] [stdout] 181 | define_event!(NextActiveEntityEvent, entity: Option<Entity>);
[INFO] [stdout]     | ------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | define_event!(TimeAdvancedEvent, time_units: i32);
[INFO] [stdout]     | ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ActionPlannedEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:187:15
[INFO] [stdout]     |
[INFO] [stdout] 187 | define_event!(ActionPlannedEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:187:1
[INFO] [stdout]     |
[INFO] [stdout] 187 | / define_event!(ActionPlannedEvent, 
[INFO] [stdout] 188 | |     entity: Entity,
[INFO] [stdout] 189 | |     action_type: String,
[INFO] [stdout] 190 | |     cost: i32,
[INFO] [stdout] 191 | |     target_position: Option<(i32, i32)>,
[INFO] [stdout] 192 | |     target_entity: Option<Entity>
[INFO] [stdout] 193 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `entity`, `action_type`, and `cost` are never read
[INFO] [stdout]    --> src/utils/events/game_events.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 196 | define_event!(ActionStartedEvent,
[INFO] [stdout]     |               ------------------ fields in this struct
[INFO] [stdout] 197 |     entity: Entity,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 198 |     action_type: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 199 |     cost: i32
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ActionStartedEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:196:1
[INFO] [stdout]     |
[INFO] [stdout] 196 | / define_event!(ActionStartedEvent,
[INFO] [stdout] 197 | |     entity: Entity,
[INFO] [stdout] 198 | |     action_type: String,
[INFO] [stdout] 199 | |     cost: i32
[INFO] [stdout] 200 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | / define_event!(ActionCompletedEvent,
[INFO] [stdout] 204 | |     entity: Entity,
[INFO] [stdout] 205 | |     action_type: String,
[INFO] [stdout] 206 | |     cost: i32,
[INFO] [stdout] 207 | |     success: bool
[INFO] [stdout] 208 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:211:1
[INFO] [stdout]     |
[INFO] [stdout] 211 | / define_event!(ActionFailedEvent,
[INFO] [stdout] 212 | |     entity: Entity,
[INFO] [stdout] 213 | |     action_type: String,
[INFO] [stdout] 214 | |     reason: String
[INFO] [stdout] 215 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | / define_event!(ActionInterruptEvent,
[INFO] [stdout] 219 | |     entity: Entity,
[INFO] [stdout] 220 | |     reason: String
[INFO] [stdout] 221 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TurnInterruptEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 | define_event!(TurnInterruptEvent,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | / define_event!(TurnInterruptEvent,
[INFO] [stdout] 225 | |     entity: Entity,
[INFO] [stdout] 226 | |     reason: String
[INFO] [stdout] 227 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MovementInterruptEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:230:15
[INFO] [stdout]     |
[INFO] [stdout] 230 | define_event!(MovementInterruptEvent,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:230:1
[INFO] [stdout]     |
[INFO] [stdout] 230 | / define_event!(MovementInterruptEvent,
[INFO] [stdout] 231 | |     entity: Entity,
[INFO] [stdout] 232 | |     reason: String,
[INFO] [stdout] 233 | |     position: (i32, i32)
[INFO] [stdout] 234 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EffectAppliedEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:237:15
[INFO] [stdout]     |
[INFO] [stdout] 237 | define_event!(EffectAppliedEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:237:1
[INFO] [stdout]     |
[INFO] [stdout] 237 | / define_event!(EffectAppliedEvent, 
[INFO] [stdout] 238 | |     target: Entity,
[INFO] [stdout] 239 | |     effect_name: String,
[INFO] [stdout] 240 | |     duration: i32
[INFO] [stdout] 241 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EffectTickEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:244:15
[INFO] [stdout]     |
[INFO] [stdout] 244 | define_event!(EffectTickEvent,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:244:1
[INFO] [stdout]     |
[INFO] [stdout] 244 | / define_event!(EffectTickEvent,
[INFO] [stdout] 245 | |     target: Entity,
[INFO] [stdout] 246 | |     effect_name: String,
[INFO] [stdout] 247 | |     remaining_duration: i32
[INFO] [stdout] 248 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EffectExpiredEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:251:15
[INFO] [stdout]     |
[INFO] [stdout] 251 | define_event!(EffectExpiredEvent,
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:251:1
[INFO] [stdout]     |
[INFO] [stdout] 251 | / define_event!(EffectExpiredEvent,
[INFO] [stdout] 252 | |     target: Entity,
[INFO] [stdout] 253 | |     effect_name: String
[INFO] [stdout] 254 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugModeEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:261:15
[INFO] [stdout]     |
[INFO] [stdout] 261 | define_event!(DebugModeEvent, enabled: bool, category: Option<String>);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:261:1
[INFO] [stdout]     |
[INFO] [stdout] 261 | define_event!(DebugModeEvent, enabled: bool, category: Option<String>);
[INFO] [stdout]     | ---------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugCommandEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:264:15
[INFO] [stdout]     |
[INFO] [stdout] 264 | define_event!(DebugCommandEvent, command: String, args: Vec<String>);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |         impl $event_name {
[INFO] [stdout]     |         ---------------- associated function in this implementation
[INFO] [stdout] 284 |             pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:264:1
[INFO] [stdout]     |
[INFO] [stdout] 264 | define_event!(DebugCommandEvent, command: String, args: Vec<String>);
[INFO] [stdout]     | -------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DebugLogEvent` is never constructed
[INFO] [stdout]    --> src/utils/events/game_events.rs:267:15
[INFO] [stdout]     |
[INFO] [stdout] 267 | define_event!(DebugLogEvent, 
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/utils/events/event_bus.rs:284:20
[INFO] [stdout]     |
[INFO] [stdout] 283 |           impl $event_name {
[INFO] [stdout]     |           ---------------- associated function in this implementation
[INFO] [stdout] 284 |               pub fn new($($field: $ty),*) -> Self {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/utils/events/game_events.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 | / define_event!(DebugLogEvent, 
[INFO] [stdout] 268 | |     category: String,
[INFO] [stdout] 269 | |     message: String,
[INFO] [stdout] 270 | |     metadata: Option<String>
[INFO] [stdout] 271 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `define_event` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/utils/types.rs:261:12
[INFO] [stdout]     |
[INFO] [stdout] 244 | impl QueuedAction {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 261 |     pub fn target_entity(action_type: ActionType, target_entity: Entity, cost: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn untargeted(action_type: ActionType, cost: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn with_item_data(mut self, item_data: ItemActionData) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     pub fn with_ability_data(mut self, ability_data: AbilityActionData) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn with_interaction_data(mut self, interaction_data: InteractionActionData) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn with_custom_data(mut self, data: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn get_target_entity(&self) -> Option<Entity> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handle_turn_transition` is never used
[INFO] [stdout]    --> src/plugins/movement/mod.rs:366:4
[INFO] [stdout]     |
[INFO] [stdout] 366 | fn handle_turn_transition(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `toggle_rendering_feature` is never used
[INFO] [stdout]   --> src/plugins/rendering.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn toggle_rendering_feature(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RenderingFeature` is never used
[INFO] [stdout]   --> src/plugins/rendering.rs:98:10
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub enum RenderingFeature {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/movement/core.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 |     OpenedDoor(Position),
[INFO] [stdout]    |     ---------- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MoveResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 14 -     OpenedDoor(Position),
[INFO] [stdout] 14 +     OpenedDoor(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/movement/core.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Interacted(Position, TileType),
[INFO] [stdout]    |     ---------- ^^^^^^^^  ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MoveResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 17 -     Interacted(Position, TileType),
[INFO] [stdout] 17 +     Interacted((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `NoAction` is never constructed
[INFO] [stdout]   --> src/movement/core.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub enum MoveResult {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 23 |     NoAction,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MoveResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_fov_after_move` is never used
[INFO] [stdout]    --> src/movement/core.rs:115:8
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub fn update_fov_after_move(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `execute_step_toward_target` is never used
[INFO] [stdout]   --> src/movement/actions.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn execute_step_toward_target(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cancel_movement` is never used
[INFO] [stdout]    --> src/movement/actions.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn cancel_movement(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `VeryDifficult` and `Road` are never constructed
[INFO] [stdout]   --> src/movement/time.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum TerrainFactor {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 21 |     VeryDifficult = 20, // 2.0x
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 22 |     Road = 8,          // 0.8x
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TerrainFactor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `base_costs` and `weapon_modifiers` are never read
[INFO] [stdout]   --> src/movement/time.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub struct ActionCostTable {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 68 |     base_costs: HashMap<ActionType, u32>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 69 |     weapon_modifiers: HashMap<WeaponType, f32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_base_cost`, `get_base_cost_with_fallback`, `get_weapon_modifier`, `get_weapon_modifier_with_fallback`, `set_base_cost`, and `set_weapon_modifier` are never used
[INFO] [stdout]    --> src/movement/time.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout]  78 | impl ActionCostTable {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn get_base_cost(&self, action_type: ActionType) -> crate::utils::GameResult<u32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn get_base_cost_with_fallback(&self, action_type: ActionType, fallback: u32) -> u32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn get_weapon_modifier(&self, weapon_type: WeaponType) -> crate::utils::GameResult<f32> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub fn get_weapon_modifier_with_fallback(&self, weapon_type: WeaponType, fallback: f32) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn set_base_cost(&mut self, action_type: ActionType, cost: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn set_weapon_modifier(&mut self, weapon_type: WeaponType, modifier: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_move_time_fallback` is never used
[INFO] [stdout]    --> src/movement/time.rs:303:8
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub fn calculate_move_time_fallback(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_action_cost` is never used
[INFO] [stdout]    --> src/movement/time.rs:396:8
[INFO] [stdout]     |
[INFO] [stdout] 396 | pub fn calculate_action_cost(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_action_cost_fallback` is never used
[INFO] [stdout]    --> src/movement/time.rs:451:8
[INFO] [stdout]     |
[INFO] [stdout] 451 | pub fn calculate_action_cost_fallback(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 18s
[INFO] running `Command { std: "docker" "inspect" "c7e93eea66b7d592c56d615977407661ca0c4cd7228e671f98afed3f3edca314", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c7e93eea66b7d592c56d615977407661ca0c4cd7228e671f98afed3f3edca314", kill_on_drop: false }`
[INFO] [stdout] c7e93eea66b7d592c56d615977407661ca0c4cd7228e671f98afed3f3edca314
