[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, [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, // 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, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub enemy_damage: i32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub consumables: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 103 | pub heirlooms: Vec, [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 { [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, [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, // 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, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub enemy_damage: i32, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub consumables: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 103 | pub heirlooms: Vec, [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 { [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