[INFO] cloning repository https://github.com/chro11os/one-night-balatro
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/chro11os/one-night-balatro" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchro11os%2Fone-night-balatro", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchro11os%2Fone-night-balatro'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f0072e20b7ff644b38ad68fc63e8b776786cd34e
[INFO] checking chro11os/one-night-balatro/f0072e20b7ff644b38ad68fc63e8b776786cd34e against master#f2c70877a7dbc51cd98e2d5d25209b24d4a586d5 for pr-150097
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchro11os%2Fone-night-balatro" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/chro11os/one-night-balatro
[INFO] finished tweaking git repo https://github.com/chro11os/one-night-balatro
[INFO] tweaked toml for git repo https://github.com/chro11os/one-night-balatro written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/chro11os/one-night-balatro on toolchain f2c70877a7dbc51cd98e2d5d25209b24d4a586d5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/chro11os/one-night-balatro 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" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded raylib v5.5.1
[INFO] [stderr]   Downloaded raylib-sys v5.5.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d8104d3f5e0cb4bbfb69bf012bd64ee1ed2984d2583ae48c0235956d05fef6ea
[INFO] running `Command { std: "docker" "start" "-a" "d8104d3f5e0cb4bbfb69bf012bd64ee1ed2984d2583ae48c0235956d05fef6ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d8104d3f5e0cb4bbfb69bf012bd64ee1ed2984d2583ae48c0235956d05fef6ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d8104d3f5e0cb4bbfb69bf012bd64ee1ed2984d2583ae48c0235956d05fef6ea", kill_on_drop: false }`
[INFO] [stdout] d8104d3f5e0cb4bbfb69bf012bd64ee1ed2984d2583ae48c0235956d05fef6ea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c909bb1091e9879a7fb63647386bcf689355825ad54172fb14ca8f96a96e73da
[INFO] running `Command { std: "docker" "start" "-a" "c909bb1091e9879a7fb63647386bcf689355825ad54172fb14ca8f96a96e73da", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling find-msvc-tools v0.1.5
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling bindgen v0.70.1
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling libloading v0.8.9
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking memchr v2.7.6
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]    Compiling cc v1.2.49
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling clang-sys v1.8.1
[INFO] [stderr]    Compiling cmake v0.1.54
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling cexpr v0.6.0
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling raylib-sys v5.5.1
[INFO] [stderr]     Checking raylib v5.5.1
[INFO] [stderr]     Checking OneNightBalatro v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0433]: failed to resolve: could not find `structures` in the crate root
[INFO] [stdout]  --> tests/score_manager_tests.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use crate::structures::stats::{BaseModifiers, RelicData};
[INFO] [stdout]   |                ^^^^^^^^^^ could not find `structures` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `structures` in the crate root
[INFO] [stdout]  --> tests/score_manager_tests.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use crate::structures::card::Card;
[INFO] [stdout]   |                ^^^^^^^^^^ could not find `structures` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `structures` in the crate root
[INFO] [stdout]  --> tests/score_manager_tests.rs:9:16
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use crate::structures::hand::HandRank;
[INFO] [stdout]   |                ^^^^^^^^^^ could not find `structures` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::score_manager`
[INFO] [stdout]  --> tests/score_manager_tests.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use crate::score_manager::ScoreManager;
[INFO] [stdout]   |                ^^^^^^^^^^^^^ could not find `score_manager` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]  --> tests/score_manager_tests.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use super::*; // Import from the outer module
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `OneNightBalatro` (test "score_manager_tests") due to 4 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/logic/game.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::structures::stats::{self, BaseModifiers, BossAbility, SortMode};
[INFO] [stdout]   |                                ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameRelic` and `RelicEffect`
[INFO] [stdout]  --> src/logic/game.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::structures::relic::{GameRelic, RelicEffect};
[INFO] [stdout]   |                                ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::logic::metrics::GameMetrics`
[INFO] [stdout]  --> src/logic/game.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::logic::metrics::GameMetrics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]    --> src/logic/game.rs:217:22
[INFO] [stdout]     |
[INFO] [stdout] 217 |     use rand::{self, Rng, seq::SliceRandom};
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EnemyAbility`
[INFO] [stdout]    --> src/logic/game.rs:218:43
[INFO] [stdout]     |
[INFO] [stdout] 218 |     use crate::structures::enemy::{Enemy, EnemyAbility}; // Ensure correct path
[INFO] [stdout]     |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `structures::card::Card`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use structures::card::Card;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/logic/game.rs:3:32
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::structures::stats::{self, BaseModifiers, BossAbility, SortMode};
[INFO] [stdout]   |                                ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GameRelic` and `RelicEffect`
[INFO] [stdout]  --> src/logic/game.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::structures::relic::{GameRelic, RelicEffect};
[INFO] [stdout]   |                                ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::logic::metrics::GameMetrics`
[INFO] [stdout]  --> src/logic/game.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::logic::metrics::GameMetrics;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]    --> src/logic/game.rs:217:22
[INFO] [stdout]     |
[INFO] [stdout] 217 |     use rand::{self, Rng, seq::SliceRandom};
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `EnemyAbility`
[INFO] [stdout]    --> src/logic/game.rs:218:43
[INFO] [stdout]     |
[INFO] [stdout] 218 |     use crate::structures::enemy::{Enemy, EnemyAbility}; // Ensure correct path
[INFO] [stdout]     |                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `structures::card::Card`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use structures::card::Card;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HAND_SCALE` is never used
[INFO] [stdout]   --> src/consts.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const HAND_SCALE: f32 = 0.85;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SELECTED_SCALE` is never used
[INFO] [stdout]   --> src/consts.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const SELECTED_SCALE: f32 = 1.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLAYED_SCALE` is never used
[INFO] [stdout]   --> src/consts.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const PLAYED_SCALE: f32 = 0.65;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `JUNK_SCALE` is never used
[INFO] [stdout]   --> src/consts.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const JUNK_SCALE: f32 = 0.70;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLAY_AREA_Y` is never used
[INFO] [stdout]   --> src/consts.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const PLAY_AREA_Y: f32 = 380.0;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HAND_Y_POS` is never used
[INFO] [stdout]   --> src/consts.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const HAND_Y_POS: f32 = SCREEN_HEIGHT - 150.0;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLAYED_Y_POS` is never used
[INFO] [stdout]   --> src/consts.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const PLAYED_Y_POS: f32 = SCREEN_HEIGHT / 2.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STAT_WIN_W` is never used
[INFO] [stdout]   --> src/consts.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const STAT_WIN_W: f32 = 700.0;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STAT_WIN_H` is never used
[INFO] [stdout]   --> src/consts.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const STAT_WIN_H: f32 = 450.0;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MENU_BTN_START_Y` is never used
[INFO] [stdout]   --> src/consts.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const MENU_BTN_START_Y: f32 = 300.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MENU_BTN_GAP` is never used
[INFO] [stdout]   --> src/consts.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const MENU_BTN_GAP: f32 = 10.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEV_BOX_X` is never used
[INFO] [stdout]   --> src/consts.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const DEV_BOX_X: f32 = 20.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEV_BOX_Y` is never used
[INFO] [stdout]   --> src/consts.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const DEV_BOX_Y: f32 = 20.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEV_BTN_W` is never used
[INFO] [stdout]   --> src/consts.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const DEV_BTN_W: f32 = 180.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEV_BTN_H` is never used
[INFO] [stdout]   --> src/consts.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub const DEV_BTN_H: f32 = 40.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEV_GAP` is never used
[INFO] [stdout]   --> src/consts.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const DEV_GAP: f32 = 10.0;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tex_card_back`, `tex_btn_plus_active`, `tex_btn_plus_disabled`, `tex_panel_blue`, `tex_panel_orange`, and `relic_icons` are never read
[INFO] [stdout]   --> src/structures/assets.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct GameAssets {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 11 |     pub tex_card_back: Texture2D,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub tex_btn_plus_active: Texture2D,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub tex_btn_plus_disabled: Texture2D,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     pub tex_panel_blue: Texture2D,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub tex_panel_orange: Texture2D,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub relic_icons: HashMap<String, Texture2D>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `target_pos`, `tilt`, `is_dragging`, `is_pressed`, and `click_pos` are never read
[INFO] [stdout]   --> src/structures/card.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Card {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub target_pos: Vector2, // Reintroduce target_pos
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub tilt: f32,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub is_dragging: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 22 |     pub is_pressed: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 23 |     pub click_pos: Vector2,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Card` 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 `name`, `rarity`, `cost`, `effect`, `target`, and `description` are never read
[INFO] [stdout]   --> src/structures/consumable.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Consumable {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout]  5 |     pub id: String,
[INFO] [stdout]  6 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]  7 |     pub rarity: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]  8 |     pub cost: i32,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]  9 |     pub effect: ConsumableEffect, // Enum: LevelUp, ConvertSuit, etc.
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 10 |     pub target: Option<String>,   // For Books (e.g., "Straight")
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 11 |     pub description: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Consumable` 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 `chips` and `mult` are never read
[INFO] [stdout]   --> src/structures/consumable.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     LevelUp { chips: i32, mult: i32 },
[INFO] [stdout]    |     -------   ^^^^^       ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConsumableEffect` 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 `enhancement` is never read
[INFO] [stdout]   --> src/structures/consumable.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ModifyCard { enhancement: String },
[INFO] [stdout]    |     ----------   ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConsumableEffect` 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 `card` is never read
[INFO] [stdout]   --> src/structures/consumable.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     CreateCard { card: String },
[INFO] [stdout]    |     ----------   ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConsumableEffect` 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 `ability` is never read
[INFO] [stdout]  --> src/structures/enemy.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Enemy {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     pub ability: EnemyAbility,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Enemy` 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 `damage` is never read
[INFO] [stdout]   --> src/structures/enemy.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     DealDamage { damage: i32 },
[INFO] [stdout]    |     ----------   ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnemyAbility` 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 `amount` is never read
[INFO] [stdout]   --> src/structures/enemy.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Heal { amount: i32 },
[INFO] [stdout]    |     ----   ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnemyAbility` 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 `name`, `cost`, and `effect` are never read
[INFO] [stdout]  --> src/structures/heirloom.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Heirloom {
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 5 |     pub id: String,
[INFO] [stdout] 6 |     pub name: String,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 7 |     pub cost: i32,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 8 |     pub effect: HeirloomEffect,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Heirloom` 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 `stat` and `amount` are never read
[INFO] [stdout]   --> src/structures/heirloom.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ModifyPlayerStats { stat: String, amount: i32 },
[INFO] [stdout]    |     -----------------   ^^^^          ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HeirloomEffect` 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 `amount` is never read
[INFO] [stdout]   --> src/structures/heirloom.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     GainMoney { amount: i32 },
[INFO] [stdout]    |     ---------   ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HeirloomEffect` 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: struct `JokerBaseModifiers` is never constructed
[INFO] [stdout]  --> src/structures/joker_stats.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct JokerBaseModifiers
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PlusMult`, `XMult`, and `PlusChips` are never constructed
[INFO] [stdout]   --> src/structures/relic.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum RelicEffect {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout]  9 |     PlusMult(i32),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 10 |     XMult(f32),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 11 |     PlusChips(i32),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RelicEffect` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScoringContext` is never constructed
[INFO] [stdout]   --> src/structures/relic.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ScoringContext<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Relic` is never used
[INFO] [stdout]   --> src/structures/relic.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub trait Relic {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `StatsMenu`, `Settings`, and `Exit` are never constructed
[INFO] [stdout]   --> src/structures/state.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub enum GameState {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  8 |     StatsMenu,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  9 |     Settings,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 10 |     GameOver,
[INFO] [stdout] 11 |     Exit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameState` 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: variants `Dealing`, `Playing`, `ScoringSeq`, and `Scoring` are never constructed
[INFO] [stdout]   --> src/structures/state.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum AnimationState {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] 16 |     Idle,
[INFO] [stdout] 17 |     Dealing,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 18 |     Playing, // Old one, might be unused
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 19 |     PlayingAnimation, // NEW: For the fly-to-center sequence
[INFO] [stdout] 20 |     ScoringSeq,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 21 |     Scoring,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnimationState` 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: variants `SilenceSuit`, `HandSizeMinusOne`, `DoubleTarget`, and `PayToDiscard` are never constructed
[INFO] [stdout]   --> src/structures/stats.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum BossAbility {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 30 |     None,
[INFO] [stdout] 31 |     SilenceSuit(i32),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 32 |     HandSizeMinusOne,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     DoubleTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 34 |     PayToDiscard,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BossAbility` 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 `vel` is never read
[INFO] [stdout]   --> src/structures/stats.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct FloatingText {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 44 |     pub pos: Vector2,
[INFO] [stdout] 45 |     pub vel: Vector2,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FloatingText` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vel` and `rot_speed` are never read
[INFO] [stdout]   --> src/structures/stats.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Particle {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 55 |     pub pos: Vector2,
[INFO] [stdout] 56 |     pub vel: Vector2,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub rot_speed: f32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Particle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/structures/stats.rs:68:9
[INFO] [stdout]     |
[INFO] [stdout]  66 | pub struct BaseModifiers {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout]  67 |     pub level: i32,
[INFO] [stdout]  68 |     pub xp: i32,
[INFO] [stdout]     |         ^^
[INFO] [stdout]  69 |     pub xp_target: i32,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub ante: i32,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]  73 |     pub enemies_defeated: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]  74 |     pub round_won: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub is_crit_active: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub hand_rank: Option<HandRank>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub enemy_damage: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub consumables: Vec<Consumable>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 103 |     pub heirlooms: Vec<Heirloom>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub previous_state: GameState,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub score_index: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub discard_timer: f32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 125 |     pub score_delay: f32,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BaseModifiers` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_trauma`, `update_vfx`, `decrement_hands`, `decrement_discards`, and `add_money` are never used
[INFO] [stdout]    --> src/structures/stats.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 221 | impl BaseModifiers {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 222 |     pub fn add_trauma(&mut self, amount: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn update_vfx(&mut self, dt: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     pub fn decrement_hands(&mut self, amount: i32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn decrement_discards(&mut self, amount: i32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn add_money(&mut self, amount: i32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_floating_text` is never used
[INFO] [stdout]    --> src/structures/stats.rs:297:8
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub fn spawn_floating_text(stats: &mut BaseModifiers, text: String, pos: Vector2, color: Color) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_particle_burst` is never used
[INFO] [stdout]    --> src/structures/stats.rs:309:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub fn spawn_particle_burst(stats: &mut BaseModifiers, pos: Vector2, color: Color) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_card_chip_value` is never used
[INFO] [stdout]   --> src/poker.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn get_card_chip_value(card: &Card) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_relic_bonuses` is never used
[INFO] [stdout]    --> src/poker.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub fn apply_relic_bonuses(stats: &mut BaseModifiers, hand: &[Card]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_scoring_ids` is never used
[INFO] [stdout]    --> src/poker.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn get_scoring_ids(hand: &[Card], stats: &BaseModifiers) -> Vec<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_out_cubic` is never used
[INFO] [stdout]  --> src/utils/easing.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn ease_out_cubic(t: f32) -> f32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `chips` and `mult` are never read
[INFO] [stdout]  --> src/score_manager.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ScoreResult {
[INFO] [stdout]   |            ----------- fields in this struct
[INFO] [stdout] 5 |     pub chips: i32,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 6 |     pub mult: i32,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HAND_SCALE` is never used
[INFO] [stdout]   --> src/consts.rs:20:11
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub const HAND_SCALE: f32 = 0.85;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `SELECTED_SCALE` is never used
[INFO] [stdout]   --> src/consts.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub const SELECTED_SCALE: f32 = 1.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLAYED_SCALE` is never used
[INFO] [stdout]   --> src/consts.rs:22:11
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub const PLAYED_SCALE: f32 = 0.65;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `JUNK_SCALE` is never used
[INFO] [stdout]   --> src/consts.rs:23:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub const JUNK_SCALE: f32 = 0.70;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLAY_AREA_Y` is never used
[INFO] [stdout]   --> src/consts.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const PLAY_AREA_Y: f32 = 380.0;
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HAND_Y_POS` is never used
[INFO] [stdout]   --> src/consts.rs:51:11
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub const HAND_Y_POS: f32 = SCREEN_HEIGHT - 150.0;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PLAYED_Y_POS` is never used
[INFO] [stdout]   --> src/consts.rs:52:11
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub const PLAYED_Y_POS: f32 = SCREEN_HEIGHT / 2.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STAT_WIN_W` is never used
[INFO] [stdout]   --> src/consts.rs:81:11
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub const STAT_WIN_W: f32 = 700.0;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `STAT_WIN_H` is never used
[INFO] [stdout]   --> src/consts.rs:82:11
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub const STAT_WIN_H: f32 = 450.0;
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MENU_BTN_START_Y` is never used
[INFO] [stdout]   --> src/consts.rs:83:11
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub const MENU_BTN_START_Y: f32 = 300.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MENU_BTN_GAP` is never used
[INFO] [stdout]   --> src/consts.rs:84:11
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub const MENU_BTN_GAP: f32 = 10.0;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEV_BOX_X` is never used
[INFO] [stdout]   --> src/consts.rs:85:11
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub const DEV_BOX_X: f32 = 20.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEV_BOX_Y` is never used
[INFO] [stdout]   --> src/consts.rs:86:11
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub const DEV_BOX_Y: f32 = 20.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEV_BTN_W` is never used
[INFO] [stdout]   --> src/consts.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub const DEV_BTN_W: f32 = 180.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEV_BTN_H` is never used
[INFO] [stdout]   --> src/consts.rs:88:11
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub const DEV_BTN_H: f32 = 40.0;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DEV_GAP` is never used
[INFO] [stdout]   --> src/consts.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub const DEV_GAP: f32 = 10.0;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tex_card_back`, `tex_btn_plus_active`, `tex_btn_plus_disabled`, `tex_panel_blue`, `tex_panel_orange`, and `relic_icons` are never read
[INFO] [stdout]   --> src/structures/assets.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct GameAssets {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 11 |     pub tex_card_back: Texture2D,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub tex_btn_plus_active: Texture2D,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     pub tex_btn_plus_disabled: Texture2D,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     pub tex_panel_blue: Texture2D,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub tex_panel_orange: Texture2D,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub relic_icons: HashMap<String, Texture2D>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `target_pos`, `tilt`, `is_dragging`, `is_pressed`, and `click_pos` are never read
[INFO] [stdout]   --> src/structures/card.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct Card {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub target_pos: Vector2, // Reintroduce target_pos
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub tilt: f32,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub is_dragging: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 22 |     pub is_pressed: bool,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 23 |     pub click_pos: Vector2,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Card` 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 `name`, `rarity`, `cost`, `effect`, `target`, and `description` are never read
[INFO] [stdout]   --> src/structures/consumable.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Consumable {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout]  5 |     pub id: String,
[INFO] [stdout]  6 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]  7 |     pub rarity: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]  8 |     pub cost: i32,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]  9 |     pub effect: ConsumableEffect, // Enum: LevelUp, ConvertSuit, etc.
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 10 |     pub target: Option<String>,   // For Books (e.g., "Straight")
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 11 |     pub description: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Consumable` 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 `chips` and `mult` are never read
[INFO] [stdout]   --> src/structures/consumable.rs:17:15
[INFO] [stdout]    |
[INFO] [stdout] 17 |     LevelUp { chips: i32, mult: i32 },
[INFO] [stdout]    |     -------   ^^^^^       ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConsumableEffect` 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 `enhancement` is never read
[INFO] [stdout]   --> src/structures/consumable.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |     ModifyCard { enhancement: String },
[INFO] [stdout]    |     ----------   ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConsumableEffect` 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 `card` is never read
[INFO] [stdout]   --> src/structures/consumable.rs:19:18
[INFO] [stdout]    |
[INFO] [stdout] 19 |     CreateCard { card: String },
[INFO] [stdout]    |     ----------   ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConsumableEffect` 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 `ability` is never read
[INFO] [stdout]  --> src/structures/enemy.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Enemy {
[INFO] [stdout]   |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 8 |     pub ability: EnemyAbility,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Enemy` 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 `damage` is never read
[INFO] [stdout]   --> src/structures/enemy.rs:16:18
[INFO] [stdout]    |
[INFO] [stdout] 16 |     DealDamage { damage: i32 },
[INFO] [stdout]    |     ----------   ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnemyAbility` 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 `amount` is never read
[INFO] [stdout]   --> src/structures/enemy.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Heal { amount: i32 },
[INFO] [stdout]    |     ----   ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnemyAbility` 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 `name`, `cost`, and `effect` are never read
[INFO] [stdout]  --> src/structures/heirloom.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Heirloom {
[INFO] [stdout]   |            -------- fields in this struct
[INFO] [stdout] 5 |     pub id: String,
[INFO] [stdout] 6 |     pub name: String,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 7 |     pub cost: i32,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 8 |     pub effect: HeirloomEffect,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Heirloom` 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 `stat` and `amount` are never read
[INFO] [stdout]   --> src/structures/heirloom.rs:16:25
[INFO] [stdout]    |
[INFO] [stdout] 16 |     ModifyPlayerStats { stat: String, amount: i32 },
[INFO] [stdout]    |     -----------------   ^^^^          ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HeirloomEffect` 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 `amount` is never read
[INFO] [stdout]   --> src/structures/heirloom.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     GainMoney { amount: i32 },
[INFO] [stdout]    |     ---------   ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HeirloomEffect` 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: struct `JokerBaseModifiers` is never constructed
[INFO] [stdout]  --> src/structures/joker_stats.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct JokerBaseModifiers
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PlusMult`, `XMult`, and `PlusChips` are never constructed
[INFO] [stdout]   --> src/structures/relic.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum RelicEffect {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout]  9 |     PlusMult(i32),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 10 |     XMult(f32),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 11 |     PlusChips(i32),
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RelicEffect` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ScoringContext` is never constructed
[INFO] [stdout]   --> src/structures/relic.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct ScoringContext<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Relic` is never used
[INFO] [stdout]   --> src/structures/relic.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub trait Relic {
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `StatsMenu`, `Settings`, and `Exit` are never constructed
[INFO] [stdout]   --> src/structures/state.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | pub enum GameState {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout]  8 |     StatsMenu,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  9 |     Settings,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 10 |     GameOver,
[INFO] [stdout] 11 |     Exit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GameState` 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: variants `Dealing`, `Playing`, `ScoringSeq`, and `Scoring` are never constructed
[INFO] [stdout]   --> src/structures/state.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum AnimationState {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] 16 |     Idle,
[INFO] [stdout] 17 |     Dealing,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 18 |     Playing, // Old one, might be unused
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 19 |     PlayingAnimation, // NEW: For the fly-to-center sequence
[INFO] [stdout] 20 |     ScoringSeq,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 21 |     Scoring,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnimationState` 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: variants `SilenceSuit`, `HandSizeMinusOne`, `DoubleTarget`, and `PayToDiscard` are never constructed
[INFO] [stdout]   --> src/structures/stats.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum BossAbility {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 30 |     None,
[INFO] [stdout] 31 |     SilenceSuit(i32),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 32 |     HandSizeMinusOne,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 33 |     DoubleTarget,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 34 |     PayToDiscard,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BossAbility` 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 `vel` is never read
[INFO] [stdout]   --> src/structures/stats.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct FloatingText {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 44 |     pub pos: Vector2,
[INFO] [stdout] 45 |     pub vel: Vector2,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FloatingText` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `vel` and `rot_speed` are never read
[INFO] [stdout]   --> src/structures/stats.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Particle {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 55 |     pub pos: Vector2,
[INFO] [stdout] 56 |     pub vel: Vector2,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub rot_speed: f32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Particle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/structures/stats.rs:68:9
[INFO] [stdout]     |
[INFO] [stdout]  66 | pub struct BaseModifiers {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout]  67 |     pub level: i32,
[INFO] [stdout]  68 |     pub xp: i32,
[INFO] [stdout]     |         ^^
[INFO] [stdout]  69 |     pub xp_target: i32,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub ante: i32,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]  73 |     pub enemies_defeated: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]  74 |     pub round_won: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  91 |     pub is_crit_active: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub hand_rank: Option<HandRank>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub enemy_damage: i32,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     pub consumables: Vec<Consumable>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 103 |     pub heirlooms: Vec<Heirloom>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub previous_state: GameState,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub score_index: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub discard_timer: f32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 125 |     pub score_delay: f32,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BaseModifiers` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_trauma`, `update_vfx`, `decrement_hands`, `decrement_discards`, and `add_money` are never used
[INFO] [stdout]    --> src/structures/stats.rs:222:12
[INFO] [stdout]     |
[INFO] [stdout] 221 | impl BaseModifiers {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 222 |     pub fn add_trauma(&mut self, amount: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn update_vfx(&mut self, dt: f32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     pub fn decrement_hands(&mut self, amount: i32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn decrement_discards(&mut self, amount: i32) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     pub fn add_money(&mut self, amount: i32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_floating_text` is never used
[INFO] [stdout]    --> src/structures/stats.rs:297:8
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub fn spawn_floating_text(stats: &mut BaseModifiers, text: String, pos: Vector2, color: Color) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `spawn_particle_burst` is never used
[INFO] [stdout]    --> src/structures/stats.rs:309:8
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub fn spawn_particle_burst(stats: &mut BaseModifiers, pos: Vector2, color: Color) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_card_chip_value` is never used
[INFO] [stdout]   --> src/poker.rs:56:8
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub fn get_card_chip_value(card: &Card) -> i32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_relic_bonuses` is never used
[INFO] [stdout]    --> src/poker.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub fn apply_relic_bonuses(stats: &mut BaseModifiers, hand: &[Card]) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_scoring_ids` is never used
[INFO] [stdout]    --> src/poker.rs:150:8
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub fn get_scoring_ids(hand: &[Card], stats: &BaseModifiers) -> Vec<i32> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ease_out_cubic` is never used
[INFO] [stdout]  --> src/utils/easing.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn ease_out_cubic(t: f32) -> f32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `chips` and `mult` are never read
[INFO] [stdout]  --> src/score_manager.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ScoreResult {
[INFO] [stdout]   |            ----------- fields in this struct
[INFO] [stdout] 5 |     pub chips: i32,
[INFO] [stdout]   |         ^^^^^
[INFO] [stdout] 6 |     pub mult: i32,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c909bb1091e9879a7fb63647386bcf689355825ad54172fb14ca8f96a96e73da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c909bb1091e9879a7fb63647386bcf689355825ad54172fb14ca8f96a96e73da", kill_on_drop: false }`
[INFO] [stdout] c909bb1091e9879a7fb63647386bcf689355825ad54172fb14ca8f96a96e73da
