[INFO] cloning repository https://github.com/koktel141/KOKTEL_TALES
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/koktel141/KOKTEL_TALES" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkoktel141%2FKOKTEL_TALES", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkoktel141%2FKOKTEL_TALES'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 3154f0d26d218512aff960f372c57201a30e381d
[INFO] testing koktel141/KOKTEL_TALES against 1.97.0-beta.6 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkoktel141%2FKOKTEL_TALES" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/koktel141/KOKTEL_TALES
[INFO] finished tweaking git repo https://github.com/koktel141/KOKTEL_TALES
[INFO] tweaked toml for git repo https://github.com/koktel141/KOKTEL_TALES written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/koktel141/KOKTEL_TALES on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/koktel141/KOKTEL_TALES 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" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quad-rand v0.2.3
[INFO] [stderr]   Downloaded objc-rs v0.2.8
[INFO] [stderr]   Downloaded macroquad_macro v0.1.8
[INFO] [stderr]   Downloaded miniquad v0.4.10
[INFO] [stderr]   Downloaded fontdue v0.9.3
[INFO] [stderr]   Downloaded ttf-parser v0.21.1
[INFO] [stderr]   Downloaded macroquad v0.4.15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 51722961ab27ac976d58e98dcbd444d30d3b36f9e26fd44db3689104580c7d45
[INFO] running `Command { std: "docker" "start" "51722961ab27ac976d58e98dcbd444d30d3b36f9e26fd44db3689104580c7d45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "51722961ab27ac976d58e98dcbd444d30d3b36f9e26fd44db3689104580c7d45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "51722961ab27ac976d58e98dcbd444d30d3b36f9e26fd44db3689104580c7d45" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "51722961ab27ac976d58e98dcbd444d30d3b36f9e26fd44db3689104580c7d45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "51722961ab27ac976d58e98dcbd444d30d3b36f9e26fd44db3689104580c7d45" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling miniquad v0.4.10
[INFO] [stderr]    Compiling bytemuck v1.25.0
[INFO] [stderr]    Compiling ttf-parser v0.21.1
[INFO] [stderr]    Compiling color_quant v1.1.0
[INFO] [stderr]    Compiling glam v0.27.0
[INFO] [stderr]    Compiling quad-rand v0.2.3
[INFO] [stderr]    Compiling macroquad_macro v0.1.8
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling png v0.17.16
[INFO] [stderr]    Compiling image v0.24.9
[INFO] [stderr]    Compiling fontdue v0.9.3
[INFO] [stderr]    Compiling macroquad v0.4.15
[INFO] [stderr]    Compiling demo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variants `AddBlockChance`, `AddBlockValue`, `AddHpRegen`, `AddManaRegen`, and `NoEffect` are never constructed
[INFO] [stdout]   --> src/mechanics.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum StatModifier {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 14 |     AddBlockChance(f64), // 0.05 = +5%
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     AddBlockValue(f64),  // flat damage absorbed per block
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 16 |     AddCritChance(f64),  // 0.10 = +10%
[INFO] [stdout] 17 |     AddHpRegen(f64),     // HP per turn
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 18 |     AddManaRegen(f64),   // Mana per turn
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 19 |     NoEffect,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StatModifier` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `OneHandedShield` is never constructed
[INFO] [stdout]   --> src/mechanics.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum WeaponStyle {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 31 |     TwoHanded,
[INFO] [stdout] 32 |     OneHandedShield,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WeaponStyle` 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: variant `MageHealer` is never constructed
[INFO] [stdout]   --> src/mechanics.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub enum PlayerSpec {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 77 |     MageHealer,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PlayerSpec` 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: multiple methods are never used
[INFO] [stdout]    --> src/mechanics.rs:291:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | impl Player {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 291 |     pub fn apply_warrior_passives(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     pub fn defeat_enemy(&mut self, enemy: &Enemy) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 692 | pub fn cast_mage_spell(&mut self, spell_name: &str, enemy: &mut Enemy) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 883 |     pub fn apply_modifier(&mut self, modifier: &StatModifier) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 911 |     pub fn set_weapon_style(&mut self, style: WeaponStyle) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 989 |     pub fn regen_per_turn(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 996 |     pub fn print_stats(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MageElement` is never used
[INFO] [stdout]   --> src/talents.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum MageElement {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `arcane_barrier_lvl`, `true_bulwark_unlocked`, and `undying_rage_unlocked` are never read
[INFO] [stdout]   --> src/talents.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct WarriorTalents {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub arcane_barrier_lvl: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub true_bulwark_unlocked: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub undying_rage_unlocked: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WarriorTalents` 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 `resistance_shred_lvl`, `blade_dance_lvl`, and `perfect_defense_unlocked` are never read
[INFO] [stdout]   --> src/talents.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct RogueTalents {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub resistance_shred_lvl: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub blade_dance_lvl: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     pub perfect_defense_unlocked: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RogueTalents` 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 `holy_shield`, `aura_of_resilience`, `class_synergy`, `holy_heal`, `resurrection`, and `heal_amplification` are never read
[INFO] [stdout]   --> src/talents.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct MageTalents {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 58 |     // Healer Branch
[INFO] [stdout] 59 |     pub holy_shield: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 60 |     pub aura_of_resilience: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     pub class_synergy: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 62 |     pub holy_heal: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 63 |     pub resurrection: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 64 |     pub heal_amplification: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MageTalents` 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 `reality_fracture`, `null_field`, and `entropy_stacks` are never read
[INFO] [stdout]   --> src/talents.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct VoidBranch {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 70 |     pub void_bolt: u32,
[INFO] [stdout] 71 |     pub reality_fracture: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 72 |     pub void_drain: u32,
[INFO] [stdout] 73 |     pub null_field: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 74 |     pub entropy_stacks: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VoidBranch` 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 `fire_mastery` and `melt_armor` are never read
[INFO] [stdout]   --> src/talents.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct FireBranch {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fire_mastery: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 82 |     pub melt_armor: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FireBranch` 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 `shatter` and `blizzard` are never read
[INFO] [stdout]   --> src/talents.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct IceBranch {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub shatter: u32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 92 |     pub blizzard: u32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IceBranch` 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 `weaken` and `plague_carrier` are never read
[INFO] [stdout]    --> src/talents.rs:99:9
[INFO] [stdout]     |
[INFO] [stdout]  96 | pub struct PoisonBranch {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub weaken: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 100 |     pub plague_carrier: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PoisonBranch` 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: method `take_true_damage` is never used
[INFO] [stdout]   --> src/combat.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Enemy {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn take_true_damage(&mut self, amount: f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `waves_until_next_boss` and `spawn_wave_enemy` are never used
[INFO] [stdout]   --> src/wave_manager.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl WaveManager {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn waves_until_next_boss(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn spawn_wave_enemy(&self) -> Enemy {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `class_restriction` and `price` are never read
[INFO] [stdout]   --> src/inventory.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Item {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout]  5 |     pub name: String,
[INFO] [stdout]  6 |     pub class_restriction: PlayerClass,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub price: u32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Item` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.36s
[INFO] running `Command { std: "docker" "inspect" "51722961ab27ac976d58e98dcbd444d30d3b36f9e26fd44db3689104580c7d45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "51722961ab27ac976d58e98dcbd444d30d3b36f9e26fd44db3689104580c7d45" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling demo v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variants `AddBlockChance`, `AddBlockValue`, `AddHpRegen`, `AddManaRegen`, and `NoEffect` are never constructed
[INFO] [stdout]   --> src/mechanics.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum StatModifier {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 14 |     AddBlockChance(f64), // 0.05 = +5%
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     AddBlockValue(f64),  // flat damage absorbed per block
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 16 |     AddCritChance(f64),  // 0.10 = +10%
[INFO] [stdout] 17 |     AddHpRegen(f64),     // HP per turn
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 18 |     AddManaRegen(f64),   // Mana per turn
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 19 |     NoEffect,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StatModifier` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `OneHandedShield` is never constructed
[INFO] [stdout]   --> src/mechanics.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum WeaponStyle {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] 31 |     TwoHanded,
[INFO] [stdout] 32 |     OneHandedShield,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WeaponStyle` 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: variant `MageHealer` is never constructed
[INFO] [stdout]   --> src/mechanics.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub enum PlayerSpec {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 77 |     MageHealer,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PlayerSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `apply_warrior_passives`, `cast_mage_spell`, `apply_modifier`, `set_weapon_style`, `regen_per_turn`, and `print_stats` are never used
[INFO] [stdout]    --> src/mechanics.rs:291:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | impl Player {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 291 |     pub fn apply_warrior_passives(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 692 | pub fn cast_mage_spell(&mut self, spell_name: &str, enemy: &mut Enemy) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 883 |     pub fn apply_modifier(&mut self, modifier: &StatModifier) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 911 |     pub fn set_weapon_style(&mut self, style: WeaponStyle) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 989 |     pub fn regen_per_turn(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 996 |     pub fn print_stats(&self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MageElement` is never used
[INFO] [stdout]   --> src/talents.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum MageElement {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `arcane_barrier_lvl`, `true_bulwark_unlocked`, and `undying_rage_unlocked` are never read
[INFO] [stdout]   --> src/talents.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct WarriorTalents {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub arcane_barrier_lvl: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub true_bulwark_unlocked: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub undying_rage_unlocked: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WarriorTalents` 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 `resistance_shred_lvl`, `blade_dance_lvl`, and `perfect_defense_unlocked` are never read
[INFO] [stdout]   --> src/talents.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct RogueTalents {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub resistance_shred_lvl: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub blade_dance_lvl: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 52 |     pub perfect_defense_unlocked: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RogueTalents` 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 `holy_shield`, `aura_of_resilience`, `class_synergy`, `holy_heal`, `resurrection`, and `heal_amplification` are never read
[INFO] [stdout]   --> src/talents.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct MageTalents {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 58 |     // Healer Branch
[INFO] [stdout] 59 |     pub holy_shield: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 60 |     pub aura_of_resilience: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     pub class_synergy: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 62 |     pub holy_heal: u32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 63 |     pub resurrection: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 64 |     pub heal_amplification: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MageTalents` 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 `reality_fracture`, `null_field`, and `entropy_stacks` are never read
[INFO] [stdout]   --> src/talents.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct VoidBranch {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 70 |     pub void_bolt: u32,
[INFO] [stdout] 71 |     pub reality_fracture: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 72 |     pub void_drain: u32,
[INFO] [stdout] 73 |     pub null_field: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 74 |     pub entropy_stacks: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VoidBranch` 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 `fire_mastery` and `melt_armor` are never read
[INFO] [stdout]   --> src/talents.rs:81:9
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub struct FireBranch {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fire_mastery: u32,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 82 |     pub melt_armor: u32,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FireBranch` 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 `shatter` and `blizzard` are never read
[INFO] [stdout]   --> src/talents.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub struct IceBranch {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub shatter: u32,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 92 |     pub blizzard: u32,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IceBranch` 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 `weaken` and `plague_carrier` are never read
[INFO] [stdout]    --> src/talents.rs:99:9
[INFO] [stdout]     |
[INFO] [stdout]  96 | pub struct PoisonBranch {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub weaken: u32,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 100 |     pub plague_carrier: u32,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PoisonBranch` 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: method `take_true_damage` is never used
[INFO] [stdout]   --> src/combat.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Enemy {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn take_true_damage(&mut self, amount: f64) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `waves_until_next_boss` and `spawn_wave_enemy` are never used
[INFO] [stdout]   --> src/wave_manager.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl WaveManager {
[INFO] [stdout]    | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn waves_until_next_boss(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn spawn_wave_enemy(&self) -> Enemy {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `class_restriction` and `price` are never read
[INFO] [stdout]   --> src/inventory.rs:6:9
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub struct Item {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout]  5 |     pub name: String,
[INFO] [stdout]  6 |     pub class_restriction: PlayerClass,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 11 |     pub price: u32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Item` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.56s
[INFO] running `Command { std: "docker" "inspect" "51722961ab27ac976d58e98dcbd444d30d3b36f9e26fd44db3689104580c7d45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "51722961ab27ac976d58e98dcbd444d30d3b36f9e26fd44db3689104580c7d45" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: variants `AddBlockChance`, `AddBlockValue`, `AddHpRegen`, `AddManaRegen`, and `NoEffect` are never constructed
[INFO] [stderr]   --> src/mechanics.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr]  7 | pub enum StatModifier {
[INFO] [stderr]    |          ------------ variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 14 |     AddBlockChance(f64), // 0.05 = +5%
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 15 |     AddBlockValue(f64),  // flat damage absorbed per block
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 16 |     AddCritChance(f64),  // 0.10 = +10%
[INFO] [stderr] 17 |     AddHpRegen(f64),     // HP per turn
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 18 |     AddManaRegen(f64),   // Mana per turn
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 19 |     NoEffect,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `StatModifier` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `OneHandedShield` is never constructed
[INFO] [stderr]   --> src/mechanics.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub enum WeaponStyle {
[INFO] [stderr]    |          ----------- variant in this enum
[INFO] [stderr] 31 |     TwoHanded,
[INFO] [stderr] 32 |     OneHandedShield,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `WeaponStyle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `MageHealer` is never constructed
[INFO] [stderr]   --> src/mechanics.rs:77:5
[INFO] [stderr]    |
[INFO] [stderr] 72 | pub enum PlayerSpec {
[INFO] [stderr]    |          ---------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 77 |     MageHealer,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PlayerSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `apply_warrior_passives`, `cast_mage_spell`, `apply_modifier`, `set_weapon_style`, `regen_per_turn`, and `print_stats` are never used
[INFO] [stderr]    --> src/mechanics.rs:291:12
[INFO] [stderr]     |
[INFO] [stderr] 210 | impl Player {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 291 |     pub fn apply_warrior_passives(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 692 | pub fn cast_mage_spell(&mut self, spell_name: &str, enemy: &mut Enemy) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 883 |     pub fn apply_modifier(&mut self, modifier: &StatModifier) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 911 |     pub fn set_weapon_style(&mut self, style: WeaponStyle) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 989 |     pub fn regen_per_turn(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 996 |     pub fn print_stats(&self) {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `MageElement` is never used
[INFO] [stderr]   --> src/talents.rs:11:10
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub enum MageElement {
[INFO] [stderr]    |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `arcane_barrier_lvl`, `true_bulwark_unlocked`, and `undying_rage_unlocked` are never read
[INFO] [stderr]   --> src/talents.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 20 | pub struct WarriorTalents {
[INFO] [stderr]    |            -------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 23 |     pub arcane_barrier_lvl: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub true_bulwark_unlocked: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 33 |     pub undying_rage_unlocked: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `WarriorTalents` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `resistance_shred_lvl`, `blade_dance_lvl`, and `perfect_defense_unlocked` are never read
[INFO] [stderr]   --> src/talents.rs:42:9
[INFO] [stderr]    |
[INFO] [stderr] 38 | pub struct RogueTalents {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 42 |     pub resistance_shred_lvl: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 51 |     pub blade_dance_lvl: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 52 |     pub perfect_defense_unlocked: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `RogueTalents` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `holy_shield`, `aura_of_resilience`, `class_synergy`, `holy_heal`, `resurrection`, and `heal_amplification` are never read
[INFO] [stderr]   --> src/talents.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub struct MageTalents {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 58 |     // Healer Branch
[INFO] [stderr] 59 |     pub holy_shield: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 60 |     pub aura_of_resilience: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 61 |     pub class_synergy: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 62 |     pub holy_heal: u32,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 63 |     pub resurrection: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 64 |     pub heal_amplification: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MageTalents` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `reality_fracture`, `null_field`, and `entropy_stacks` are never read
[INFO] [stderr]   --> src/talents.rs:71:9
[INFO] [stderr]    |
[INFO] [stderr] 69 | pub struct VoidBranch {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 70 |     pub void_bolt: u32,
[INFO] [stderr] 71 |     pub reality_fracture: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 72 |     pub void_drain: u32,
[INFO] [stderr] 73 |     pub null_field: u32,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 74 |     pub entropy_stacks: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `VoidBranch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `fire_mastery` and `melt_armor` are never read
[INFO] [stderr]   --> src/talents.rs:81:9
[INFO] [stderr]    |
[INFO] [stderr] 78 | pub struct FireBranch {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 81 |     pub fire_mastery: u32,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 82 |     pub melt_armor: u32,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FireBranch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `shatter` and `blizzard` are never read
[INFO] [stderr]   --> src/talents.rs:91:9
[INFO] [stderr]    |
[INFO] [stderr] 87 | pub struct IceBranch {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 91 |     pub shatter: u32,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 92 |     pub blizzard: u32,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `IceBranch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `weaken` and `plague_carrier` are never read
[INFO] [stderr]    --> src/talents.rs:99:9
[INFO] [stderr]     |
[INFO] [stderr]  96 | pub struct PoisonBranch {
[INFO] [stderr]     |            ------------ fields in this struct
[INFO] [stderr] ...
[INFO] [stderr]  99 |     pub weaken: u32,
[INFO] [stderr]     |         ^^^^^^
[INFO] [stderr] 100 |     pub plague_carrier: u32,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PoisonBranch` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `take_true_damage` is never used
[INFO] [stderr]   --> src/combat.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl Enemy {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 50 |     pub fn take_true_damage(&mut self, amount: f64) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `waves_until_next_boss` and `spawn_wave_enemy` are never used
[INFO] [stderr]   --> src/wave_manager.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr]  8 | impl WaveManager {
[INFO] [stderr]    | ---------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 16 |     pub fn waves_until_next_boss(&self) -> u32 {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 24 |     pub fn spawn_wave_enemy(&self) -> Enemy {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `class_restriction` and `price` are never read
[INFO] [stderr]   --> src/inventory.rs:6:9
[INFO] [stderr]    |
[INFO] [stderr]  4 | pub struct Item {
[INFO] [stderr]    |            ---- fields in this struct
[INFO] [stderr]  5 |     pub name: String,
[INFO] [stderr]  6 |     pub class_restriction: PlayerClass,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 11 |     pub price: u32,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Item` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `demo` (bin "demo" test) generated 15 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/demo-a9bddaff1f8f4648)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test tests::test_basic_attack_deals_damage ... ok
[INFO] [stdout] test tests::test_frostbolt_cooldown ... ok
[INFO] [stdout] test tests::test_ice_lance_bonus_on_frozen ... ok
[INFO] [stdout] test tests::test_multi_level_up_loop ... ok
[INFO] [stdout] test tests::test_mana_costs_defined ... ok
[INFO] [stdout] test tests::test_frostbolt_deducts_mana ... ok
[INFO] [stdout] test tests::test_not_enough_mana_blocks_cast ... ok
[INFO] [stdout] test tests::test_tank_has_more_armor_than_dps ... ok
[INFO] [stdout] test tests::test_rogue_flurry_deals_more_than_single_hit ... ok
[INFO] [stdout] test tests::test_warrior_dps_base_stats ... ok
[INFO] [stdout] test tests::test_basic_attack_costs_no_mana ... ok
[INFO] [stdout] test tests::test_warrior_tank_base_stats ... ok
[INFO] [stdout] test tests::test_level_up_increases_stats ... ok
[INFO] [stdout] test tests::test_enemy_gold_and_exp_reward ... ok
[INFO] [stdout] test tests::test_level_up_grants_talent_point ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "51722961ab27ac976d58e98dcbd444d30d3b36f9e26fd44db3689104580c7d45", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "51722961ab27ac976d58e98dcbd444d30d3b36f9e26fd44db3689104580c7d45", kill_on_drop: false }`
[INFO] [stdout] 51722961ab27ac976d58e98dcbd444d30d3b36f9e26fd44db3689104580c7d45
