[INFO] cloning repository https://github.com/oliverwstein/pokemon-adventure [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/oliverwstein/pokemon-adventure" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foliverwstein%2Fpokemon-adventure", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foliverwstein%2Fpokemon-adventure'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5fd5a83c28e71d36c583769b275195a58cb906cf [INFO] checking oliverwstein/pokemon-adventure against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foliverwstein%2Fpokemon-adventure" "/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/oliverwstein/pokemon-adventure [INFO] finished tweaking git repo https://github.com/oliverwstein/pokemon-adventure [INFO] tweaked toml for git repo https://github.com/oliverwstein/pokemon-adventure written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/oliverwstein/pokemon-adventure on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/oliverwstein/pokemon-adventure 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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6796fcc5a87f6090f56335b34af879b404f84852c147320c59a40bb267805622 [INFO] running `Command { std: "docker" "start" "-a" "6796fcc5a87f6090f56335b34af879b404f84852c147320c59a40bb267805622", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6796fcc5a87f6090f56335b34af879b404f84852c147320c59a40bb267805622", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6796fcc5a87f6090f56335b34af879b404f84852c147320c59a40bb267805622", kill_on_drop: false }` [INFO] [stdout] 6796fcc5a87f6090f56335b34af879b404f84852c147320c59a40bb267805622 [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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d48b996686ef7d3ca713d2f17c5a1a9f38cb6ffdf6e16e0830e29d9db74e9ce2 [INFO] running `Command { std: "docker" "start" "-a" "d48b996686ef7d3ca713d2f17c5a1a9f38cb6ffdf6e16e0830e29d9db74e9ce2", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling libc v0.2.174 [INFO] [stderr] Compiling zerocopy v0.8.26 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Checking ron v0.8.1 [INFO] [stderr] Checking pokemon-adventure v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::species::Species` [INFO] [stdout] --> src/battle/turn_orchestrator.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::species::Species; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2102:16 [INFO] [stdout] | [INFO] [stdout] 2102 | if (type_adv_multiplier > 0.1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 2102 - if (type_adv_multiplier > 0.1) { [INFO] [stdout] 2102 + if type_adv_multiplier > 0.1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::species::Species` [INFO] [stdout] --> src/battle/turn_orchestrator.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::species::Species; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2102:16 [INFO] [stdout] | [INFO] [stdout] 2102 | if (type_adv_multiplier > 0.1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 2102 - if (type_adv_multiplier > 0.1) { [INFO] [stdout] 2102 + if type_adv_multiplier > 0.1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GameState` [INFO] [stdout] --> src/battle/tests/test_critical_hits.rs:3:58 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::battle::state::{BattleEvent, BattleState, GameState, TurnRng}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PlayerAction` [INFO] [stdout] --> src/battle/tests/test_critical_hits.rs:6:39 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::player::{BattlePlayer, PlayerAction}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::battle::turn_orchestrator::execute_end_turn_phase` [INFO] [stdout] --> src/battle/tests/test_end_of_turn.rs:4:9 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::battle::turn_orchestrator::execute_end_turn_phase; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/battle/tests/test_status_moves.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StatType` [INFO] [stdout] --> src/battle/tests/test_damage_effects.rs:6:39 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::player::{BattlePlayer, StatType}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GameState` [INFO] [stdout] --> src/battle/tests/test_special_moves.rs:3:58 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::battle::state::{BattleEvent, BattleState, GameState, TurnRng}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/battle/tests/test_special_moves.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collect_player_actions` [INFO] [stdout] --> src/battle/tests/test_nightmare.rs:4:44 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::battle::turn_orchestrator::{collect_player_actions, resolve_turn}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::battle::state::EventBus` [INFO] [stdout] --> src/battle/tests/test_team_condition_expiry.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::battle::state::EventBus; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `execute_end_turn_phase` [INFO] [stdout] --> src/battle/tests/test_team_condition_expiry.rs:5:44 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::battle::turn_orchestrator::{execute_end_turn_phase, resolve_turn}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/battle/stats.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 172 | attacker: &PokemonInst, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/battle/stats.rs:221:5 [INFO] [stdout] | [INFO] [stdout] 221 | attacker: &PokemonInst, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `defender` [INFO] [stdout] --> src/battle/stats.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | defender: &PokemonInst, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/battle/stats.rs:377:5 [INFO] [stdout] | [INFO] [stdout] 377 | attacker: &PokemonInst, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end_condition` [INFO] [stdout] --> src/battle/turn_orchestrator.rs:1586:51 [INFO] [stdout] | [INFO] [stdout] 1586 | crate::move_data::MoveEffect::Rampage(end_condition) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_condition` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status_changed` [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2643:33 [INFO] [stdout] | [INFO] [stdout] 2643 | let (status_damage, status_changed) = pokemon.deal_status_damage(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_status_changed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2632:5 [INFO] [stdout] | [INFO] [stdout] 2632 | rng: &mut TurnRng, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_hp` [INFO] [stdout] --> src/pokemon.rs:629:9 [INFO] [stdout] | [INFO] [stdout] 629 | curr_hp: Option, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_hp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GameState` is never used [INFO] [stdout] --> src/battle/state.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum GameState { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BattleEvent` is never used [INFO] [stdout] --> src/battle/state.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum BattleEvent { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ActionFailureReason` is never used [INFO] [stdout] --> src/battle/state.rs:141:10 [INFO] [stdout] | [INFO] [stdout] 141 | pub enum ActionFailureReason { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EventBus` is never constructed [INFO] [stdout] --> src/battle/state.rs:156:12 [INFO] [stdout] | [INFO] [stdout] 156 | pub struct EventBus { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, `events`, and `clear` are never used [INFO] [stdout] --> src/battle/state.rs:161:12 [INFO] [stdout] | [INFO] [stdout] 160 | impl EventBus { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 161 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn push(&mut self, event: BattleEvent) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn events(&self) -> &[BattleEvent] { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TurnRng` is never constructed [INFO] [stdout] --> src/battle/state.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 179 | pub struct TurnRng { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_for_test`, `new_random`, `next_outcome`, and `peek_outcome` are never used [INFO] [stdout] --> src/battle/state.rs:185:12 [INFO] [stdout] | [INFO] [stdout] 184 | impl TurnRng { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 185 | pub fn new_for_test(outcomes: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn new_random() -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn next_outcome(&mut self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn peek_outcome(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BattleState` is never constructed [INFO] [stdout] --> src/battle/state.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 215 | pub struct BattleState { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/battle/state.rs:224:12 [INFO] [stdout] | [INFO] [stdout] 223 | impl BattleState { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 224 | pub fn new(id: String, player1: BattlePlayer, player2: BattlePlayer) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `effective_attack` is never used [INFO] [stdout] --> src/battle/stats.rs:7:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn effective_attack(pokemon: &PokemonInst, player: &BattlePlayer, move_: Move) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `effective_defense` is never used [INFO] [stdout] --> src/battle/stats.rs:62:8 [INFO] [stdout] | [INFO] [stdout] 62 | pub fn effective_defense(pokemon: &PokemonInst, player: &BattlePlayer, move_: Move) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `effective_speed` is never used [INFO] [stdout] --> src/battle/stats.rs:139:8 [INFO] [stdout] | [INFO] [stdout] 139 | pub fn effective_speed(pokemon: &PokemonInst, player: &BattlePlayer) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `move_is_critical_hit` is never used [INFO] [stdout] --> src/battle/stats.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn move_is_critical_hit( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `move_hits` is never used [INFO] [stdout] --> src/battle/stats.rs:220:8 [INFO] [stdout] | [INFO] [stdout] 220 | pub fn move_hits( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_accuracy_stage_multiplier` is never used [INFO] [stdout] --> src/battle/stats.rs:260:4 [INFO] [stdout] | [INFO] [stdout] 260 | fn apply_accuracy_stage_multiplier(stage: i8) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_stat_stage_multiplier` is never used [INFO] [stdout] --> src/battle/stats.rs:283:4 [INFO] [stdout] | [INFO] [stdout] 283 | fn apply_stat_stage_multiplier(base_stat: u16, stage: i8) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_type_effectiveness` is never used [INFO] [stdout] --> src/battle/stats.rs:299:8 [INFO] [stdout] | [INFO] [stdout] 299 | pub fn get_type_effectiveness(attack_type: PokemonType, defense_types: &[PokemonType]) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_attack_damage` is never used [INFO] [stdout] --> src/battle/stats.rs:307:8 [INFO] [stdout] | [INFO] [stdout] 307 | pub fn calculate_attack_damage( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_special_attack_damage` is never used [INFO] [stdout] --> src/battle/stats.rs:375:8 [INFO] [stdout] | [INFO] [stdout] 375 | pub fn calculate_special_attack_damage( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BattleAction` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:15:10 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum BattleAction { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ActionStack` is never constructed [INFO] [stdout] --> src/battle/turn_orchestrator.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct ActionStack { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push_back`, `push_front`, `pop_front`, and `is_empty` are never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:46:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl ActionStack { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 46 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn push_back(&mut self, action: BattleAction) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn push_front(&mut self, action: BattleAction) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn pop_front(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_for_forced_action` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:71:4 [INFO] [stdout] | [INFO] [stdout] 71 | fn check_for_forced_action( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_player_actions` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:112:8 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn collect_player_actions(battle_state: &mut BattleState) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_deterministic_action` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:168:4 [INFO] [stdout] | [INFO] [stdout] 168 | fn generate_deterministic_action( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_replacement_action` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:196:4 [INFO] [stdout] | [INFO] [stdout] 196 | fn generate_replacement_action( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_player_action` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:213:8 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn set_player_action( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ready_for_turn_resolution` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:272:8 [INFO] [stdout] | [INFO] [stdout] 272 | pub fn ready_for_turn_resolution(battle_state: &BattleState) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_turn` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:289:8 [INFO] [stdout] | [INFO] [stdout] 289 | pub fn resolve_turn(battle_state: &mut BattleState, mut rng: TurnRng) -> EventBus { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `initialize_turn` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:319:4 [INFO] [stdout] | [INFO] [stdout] 319 | fn initialize_turn(battle_state: &mut BattleState, bus: &mut EventBus) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_initial_action_stack` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:327:4 [INFO] [stdout] | [INFO] [stdout] 327 | fn build_initial_action_stack(battle_state: &BattleState) -> ActionStack { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_player_action_to_battle_action` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:344:4 [INFO] [stdout] | [INFO] [stdout] 344 | fn convert_player_action_to_battle_action( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_battle_action` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:400:8 [INFO] [stdout] | [INFO] [stdout] 400 | pub fn execute_battle_action( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_forfeit` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:609:4 [INFO] [stdout] | [INFO] [stdout] 609 | fn execute_forfeit(player_index: usize, battle_state: &mut BattleState, bus: &mut EventBus) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_switch` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:624:4 [INFO] [stdout] | [INFO] [stdout] 624 | fn execute_switch( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_action_preventing_conditions` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:654:4 [INFO] [stdout] | [INFO] [stdout] 654 | fn check_action_preventing_conditions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_move_effects` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:824:4 [INFO] [stdout] | [INFO] [stdout] 824 | fn apply_move_effects( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_on_damage_effects` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:1342:4 [INFO] [stdout] | [INFO] [stdout] 1342 | fn apply_on_damage_effects( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `perform_special_move` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:1423:4 [INFO] [stdout] | [INFO] [stdout] 1423 | fn perform_special_move( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_attack_hit` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2028:8 [INFO] [stdout] | [INFO] [stdout] 2028 | pub fn execute_attack_hit( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `determine_action_order` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2394:8 [INFO] [stdout] | [INFO] [stdout] 2394 | pub fn determine_action_order(battle_state: &BattleState) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ActionPriority` is never constructed [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2431:8 [INFO] [stdout] | [INFO] [stdout] 2431 | struct ActionPriority { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_action_priority` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2437:4 [INFO] [stdout] | [INFO] [stdout] 2437 | fn calculate_action_priority( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_player_speed` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2520:4 [INFO] [stdout] | [INFO] [stdout] 2520 | fn get_player_speed(player_index: usize, battle_state: &BattleState) -> u16 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `apply_condition_damage` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2530:4 [INFO] [stdout] | [INFO] [stdout] 2530 | fn apply_condition_damage(battle_state: &mut BattleState, bus: &mut EventBus) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_end_turn_phase` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2629:8 [INFO] [stdout] | [INFO] [stdout] 2629 | pub fn execute_end_turn_phase( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `finalize_turn` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2683:4 [INFO] [stdout] | [INFO] [stdout] 2683 | fn finalize_turn(battle_state: &mut BattleState, bus: &mut EventBus) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_for_pending_replacements` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2712:4 [INFO] [stdout] | [INFO] [stdout] 2712 | fn check_for_pending_replacements(battle_state: &mut BattleState) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `has_non_fainted_pokemon` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2745:4 [INFO] [stdout] | [INFO] [stdout] 2745 | fn has_non_fainted_pokemon(player: &crate::player::BattlePlayer) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check_win_conditions` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2756:4 [INFO] [stdout] | [INFO] [stdout] 2756 | fn check_win_conditions(battle_state: &mut BattleState, bus: &mut EventBus) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_move_data` is never used [INFO] [stdout] --> src/move_data.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 156 | impl MoveData { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn get_move_data(move_: Move, move_map: &HashMap) -> Option<&MoveData> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PlayerAction` is never used [INFO] [stdout] --> src/player.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum PlayerAction { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/player.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 120 | impl BattlePlayer { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn active_pokemon(&self) -> Option<&PokemonInst> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 149 | pub fn active_pokemon_mut(&mut self) -> Option<&mut PokemonInst> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn has_condition(&self, condition: &PokemonCondition) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn add_condition(&mut self, condition: PokemonCondition) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn remove_condition(&mut self, condition: &PokemonCondition) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn get_condition(&self, condition: &PokemonCondition) -> Option<&PokemonCondition> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn get_condition_mut( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn has_team_condition(&self, condition: &TeamCondition) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn add_team_condition(&mut self, condition: TeamCondition, turns_remaining: u8) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn remove_team_condition(&mut self, condition: &TeamCondition) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn get_team_condition_turns(&self, condition: &TeamCondition) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | pub fn tick_team_conditions(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn has_stat_stage(&self, stat: StatType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub fn tick_active_conditions(&mut self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 404 | pub fn get_ante(&self) -> u32 { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 409 | pub fn add_ante(&mut self, amount: u32) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `type_effectiveness` is never used [INFO] [stdout] --> src/pokemon.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 207 | impl PokemonType { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn type_effectiveness(attacking: PokemonType, defending: PokemonType) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `UseMoveError` is never used [INFO] [stdout] --> src/pokemon.rs:328:10 [INFO] [stdout] | [INFO] [stdout] 328 | pub enum UseMoveError { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `learns_at_level` and `can_learn_move` are never used [INFO] [stdout] --> src/pokemon.rs:413:12 [INFO] [stdout] | [INFO] [stdout] 412 | impl Learnset { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 413 | pub fn learns_at_level(&self, level: u8) -> Option<&Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 417 | pub fn can_learn_move(&self, move_: Move) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load_by_name` is never used [INFO] [stdout] --> src/pokemon.rs:467:12 [INFO] [stdout] | [INFO] [stdout] 433 | impl PokemonSpecies { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 467 | pub fn load_by_name( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `max_pp`, `use_move`, and `restore_pp` are never used [INFO] [stdout] --> src/pokemon.rs:589:12 [INFO] [stdout] | [INFO] [stdout] 580 | impl MoveInstance { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 589 | pub fn max_pp(&self) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 594 | pub fn use_move(&mut self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 604 | pub fn restore_pp(&mut self, amount: u8) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/pokemon.rs:671:12 [INFO] [stdout] | [INFO] [stdout] 610 | impl PokemonInst { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 671 | pub fn new_for_test( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 747 | pub fn use_move(&mut self, move_to_use: Move) -> Result<(), UseMoveError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 763 | pub fn get_species_data(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 768 | pub fn get_current_types(&self, player: &crate::player::BattlePlayer) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 797 | pub fn is_fainted(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 802 | pub fn current_hp(&self) -> u16 { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 812 | pub fn set_hp(&mut self, hp: u16) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 823 | pub fn restore_fully(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 830 | pub fn take_damage(&mut self, damage: u16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 841 | pub fn heal(&mut self, heal_amount: u16) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 850 | pub fn revive(&mut self, hp_amount: u16) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 861 | pub fn update_status_progress(&mut self) -> (bool, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 893 | pub fn deal_status_damage(&mut self) -> (u16, bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/battle/stats.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 172 | attacker: &PokemonInst, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/battle/stats.rs:221:5 [INFO] [stdout] | [INFO] [stdout] 221 | attacker: &PokemonInst, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `defender` [INFO] [stdout] --> src/battle/stats.rs:222:5 [INFO] [stdout] | [INFO] [stdout] 222 | defender: &PokemonInst, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_defender` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/battle/stats.rs:377:5 [INFO] [stdout] | [INFO] [stdout] 377 | attacker: &PokemonInst, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end_condition` [INFO] [stdout] --> src/battle/turn_orchestrator.rs:1586:51 [INFO] [stdout] | [INFO] [stdout] 1586 | crate::move_data::MoveEffect::Rampage(end_condition) => { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_condition` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status_changed` [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2643:33 [INFO] [stdout] | [INFO] [stdout] 2643 | let (status_damage, status_changed) = pokemon.deal_status_damage(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_status_changed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rng` [INFO] [stdout] --> src/battle/turn_orchestrator.rs:2632:5 [INFO] [stdout] | [INFO] [stdout] 2632 | rng: &mut TurnRng, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rng` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/battle/tests/test_fainting.rs:322:13 [INFO] [stdout] | [INFO] [stdout] 322 | let mut player1 = BattlePlayer { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/battle/tests/test_fainting.rs:450:13 [INFO] [stdout] | [INFO] [stdout] 450 | let mut player1 = BattlePlayer { [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status_changed` [INFO] [stdout] --> src/battle/tests/test_end_of_turn.rs:142:22 [INFO] [stdout] | [INFO] [stdout] 142 | let (damage, status_changed) = pokemon.deal_status_damage(); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_status_changed` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/battle/tests/test_status_moves.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | let mut pokemon1 = create_test_pokemon(Species::Metapod, vec![Move::Harden, Move::Tackle]); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_attacker_hp` [INFO] [stdout] --> src/battle/tests/test_damage_effects.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | let initial_attacker_hp = attacker.current_hp(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_attacker_hp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `final_attacker_hp` [INFO] [stdout] --> src/battle/tests/test_damage_effects.rs:208:13 [INFO] [stdout] | [INFO] [stdout] 208 | let final_attacker_hp = attacker_in_battle.current_hp(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_attacker_hp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expected_healing` [INFO] [stdout] --> src/battle/tests/test_damage_effects.rs:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | let expected_healing = damage_dealt / 2; // Mega Drain has 50% drain [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_healing` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_p2_hp` [INFO] [stdout] --> src/battle/tests/test_condition_damage.rs:638:13 [INFO] [stdout] | [INFO] [stdout] 638 | let initial_p2_hp = player2.active_pokemon().unwrap().current_hp(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_p2_hp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_bus` [INFO] [stdout] --> src/battle/tests/test_special_moves.rs:59:13 [INFO] [stdout] | [INFO] [stdout] 59 | let event_bus = resolve_turn(&mut battle_state, test_rng); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_bus2` [INFO] [stdout] --> src/battle/tests/test_special_moves.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | let event_bus2 = resolve_turn(&mut battle_state, test_rng2); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_bus2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_bus` [INFO] [stdout] --> src/battle/tests/test_special_moves.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 105 | let event_bus = resolve_turn(&mut battle_state, test_rng); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_bus` [INFO] [stdout] --> src/battle/tests/test_special_moves.rs:143:13 [INFO] [stdout] | [INFO] [stdout] 143 | let event_bus = resolve_turn(&mut battle_state, test_rng); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_bus` [INFO] [stdout] --> src/battle/tests/test_special_moves.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | let event_bus = resolve_turn(&mut battle_state, test_rng); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_bus` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_hp_p1` [INFO] [stdout] --> src/battle/tests/test_special_moves.rs:359:13 [INFO] [stdout] | [INFO] [stdout] 359 | let initial_hp_p1 = battle_state.players[0] [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_hp_p1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_hp_p2` [INFO] [stdout] --> src/battle/tests/test_special_moves.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | let initial_hp_p2 = battle_state.players[1] [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_hp_p2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `final_hp_p2` [INFO] [stdout] --> src/battle/tests/test_special_moves.rs:382:13 [INFO] [stdout] | [INFO] [stdout] 382 | let final_hp_p2 = battle_state.players[1] [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_hp_p2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_hp` [INFO] [stdout] --> src/battle/tests/test_special_moves.rs:472:13 [INFO] [stdout] | [INFO] [stdout] 472 | let initial_hp = battle_state.players[1] [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_hp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/battle/tests/test_special_moves.rs:588:13 [INFO] [stdout] | [INFO] [stdout] 588 | let mut battle_state = BattleState::new("test_battle".to_string(), player1, player2); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `initial_hp_p2` [INFO] [stdout] --> src/battle/tests/test_special_moves.rs:1214:13 [INFO] [stdout] | [INFO] [stdout] 1214 | let initial_hp_p2 = battle_state.players[1] [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_hp_p2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `heal_events` [INFO] [stdout] --> src/battle/tests/test_heal.rs:159:13 [INFO] [stdout] | [INFO] [stdout] 159 | let heal_events: Vec<_> = event_bus [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_heal_events` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `final_hp` [INFO] [stdout] --> src/battle/tests/test_reckless.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | let final_hp = battle_state.players[0] [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_hp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `final_hp` [INFO] [stdout] --> src/battle/tests/test_reckless.rs:441:13 [INFO] [stdout] | [INFO] [stdout] 441 | let final_hp = battle_state.players[0] [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_hp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/battle/tests/test_team_condition_expiry.rs:43:13 [INFO] [stdout] | [INFO] [stdout] 43 | let mut player1 = BattlePlayer::new( [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/battle/tests/test_team_condition_expiry.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | let mut player1 = BattlePlayer::new( [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/battle/tests/test_team_condition_expiry.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | let mut player1 = BattlePlayer::new( [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_bus1` [INFO] [stdout] --> src/battle/tests/test_mist.rs:344:13 [INFO] [stdout] | [INFO] [stdout] 344 | let event_bus1 = resolve_turn(&mut battle_state, test_rng1); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_bus1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_hp` [INFO] [stdout] --> src/pokemon.rs:629:9 [INFO] [stdout] | [INFO] [stdout] 629 | curr_hp: Option, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_hp` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clear` is never used [INFO] [stdout] --> src/battle/state.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 160 | impl EventBus { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_random` and `peek_outcome` are never used [INFO] [stdout] --> src/battle/state.rs:189:12 [INFO] [stdout] | [INFO] [stdout] 184 | impl TurnRng { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn new_random() -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn peek_outcome(&self) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UseItem` is never constructed [INFO] [stdout] --> src/battle/turn_orchestrator.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub enum BattleAction { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 26 | UseItem { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BattleAction` 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 `is_empty` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:64:8 [INFO] [stdout] | [INFO] [stdout] 45 | impl ActionStack { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 64 | fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `set_player_action` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:213:8 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn set_player_action( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ready_for_turn_resolution` is never used [INFO] [stdout] --> src/battle/turn_orchestrator.rs:272:8 [INFO] [stdout] | [INFO] [stdout] 272 | pub fn ready_for_turn_resolution(battle_state: &BattleState) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_move_data` is never used [INFO] [stdout] --> src/move_data.rs:216:12 [INFO] [stdout] | [INFO] [stdout] 156 | impl MoveData { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 216 | pub fn get_move_data(move_: Move, move_map: &HashMap) -> Option<&MoveData> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_condition_mut`, `remove_team_condition`, and `has_stat_stage` are never used [INFO] [stdout] --> src/player.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 120 | impl BattlePlayer { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 177 | pub fn get_condition_mut( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 209 | pub fn remove_team_condition(&mut self, condition: &TeamCondition) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn has_stat_stage(&self, stat: StatType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `learns_at_level` and `can_learn_move` are never used [INFO] [stdout] --> src/pokemon.rs:413:12 [INFO] [stdout] | [INFO] [stdout] 412 | impl Learnset { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 413 | pub fn learns_at_level(&self, level: u8) -> Option<&Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 417 | pub fn can_learn_move(&self, move_: Move) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `load_by_name` is never used [INFO] [stdout] --> src/pokemon.rs:467:12 [INFO] [stdout] | [INFO] [stdout] 433 | impl PokemonSpecies { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 467 | pub fn load_by_name( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `max_pp` and `restore_pp` are never used [INFO] [stdout] --> src/pokemon.rs:589:12 [INFO] [stdout] | [INFO] [stdout] 580 | impl MoveInstance { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 589 | pub fn max_pp(&self) -> u8 { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 604 | pub fn restore_pp(&mut self, amount: u8) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `restore_fully` is never used [INFO] [stdout] --> src/pokemon.rs:823:12 [INFO] [stdout] | [INFO] [stdout] 610 | impl PokemonInst { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 823 | pub fn restore_fully(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.69s [INFO] running `Command { std: "docker" "inspect" "d48b996686ef7d3ca713d2f17c5a1a9f38cb6ffdf6e16e0830e29d9db74e9ce2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d48b996686ef7d3ca713d2f17c5a1a9f38cb6ffdf6e16e0830e29d9db74e9ce2", kill_on_drop: false }` [INFO] [stdout] d48b996686ef7d3ca713d2f17c5a1a9f38cb6ffdf6e16e0830e29d9db74e9ce2