[INFO] cloning repository https://github.com/mingu600/tapu-simu [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mingu600/tapu-simu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmingu600%2Ftapu-simu", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmingu600%2Ftapu-simu'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 059d147f093a12c2e71785b1df39b25350735e5e [INFO] checking mingu600/tapu-simu against master#8f21a5c92ea55c348c275a1bc4fedbdf181e0d64 for pr-143011 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmingu600%2Ftapu-simu" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/mingu600/tapu-simu [INFO] finished tweaking git repo https://github.com/mingu600/tapu-simu [INFO] tweaked toml for git repo https://github.com/mingu600/tapu-simu written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/mingu600/tapu-simu on toolchain 8f21a5c92ea55c348c275a1bc4fedbdf181e0d64 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/mingu600/tapu-simu 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" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 674267b375d92a3eb582ca8aa601daf9eb2c6167e401342b56f93ff92aa88def [INFO] running `Command { std: "docker" "start" "-a" "674267b375d92a3eb582ca8aa601daf9eb2c6167e401342b56f93ff92aa88def", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "674267b375d92a3eb582ca8aa601daf9eb2c6167e401342b56f93ff92aa88def", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "674267b375d92a3eb582ca8aa601daf9eb2c6167e401342b56f93ff92aa88def", kill_on_drop: false }` [INFO] [stdout] 674267b375d92a3eb582ca8aa601daf9eb2c6167e401342b56f93ff92aa88def [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8f21a5c92ea55c348c275a1bc4fedbdf181e0d64" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6400c28c4435149555d8d82c7a314dca0a827b13c70e721593c02c66f0e622e7 [INFO] running `Command { std: "docker" "start" "-a" "6400c28c4435149555d8d82c7a314dca0a827b13c70e721593c02c66f0e622e7", 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.173 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Checking cfg-if v1.0.1 [INFO] [stderr] Compiling zerocopy v0.8.25 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking anstyle-query v1.1.3 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking anstyle-parse v0.2.7 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking colorchoice v1.0.4 [INFO] [stderr] Checking clap_lex v0.7.5 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking anstream v0.6.19 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking clap_builder v4.5.40 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Compiling syn v2.0.103 [INFO] [stderr] Checking deunicode v1.6.2 [INFO] [stderr] Checking colored v3.0.0 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking bitflags v2.9.1 [INFO] [stderr] Checking linux-raw-sys v0.9.4 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking fastrand v2.3.0 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking tempfile v3.20.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling clap_derive v4.5.40 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Checking clap v4.5.40 [INFO] [stderr] Checking tapu-simu v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/damage/generations/gen1.rs:201:19 [INFO] [stdout] | [INFO] [stdout] 201 | base_damage = (base_damage.min(997.0) + 2.0); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 201 - base_damage = (base_damage.min(997.0) + 2.0); [INFO] [stdout] 201 + base_damage = base_damage.min(997.0) + 2.0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/engine/combat/damage/generations/modern.rs:334:12 [INFO] [stdout] | [INFO] [stdout] 334 | if (move_type == PokemonType::Normal || move_type == PokemonType::Fighting) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 334 - if (move_type == PokemonType::Normal || move_type == PokemonType::Fighting) { [INFO] [stdout] 334 + if move_type == PokemonType::Normal || move_type == PokemonType::Fighting { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::battle_state::BattleState` [INFO] [stdout] --> src/engine/combat/damage_context.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::core::battle_state::BattleState; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/engine/combat/damage_context.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MoveCategory` [INFO] [stdout] --> src/engine/combat/move_effects.rs:18:42 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::core::battle_state::{Pokemon, MoveCategory}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PokemonStatus`, `SideCondition`, `Stat`, `Terrain`, `VolatileStatus`, and `Weather` [INFO] [stdout] --> src/engine/combat/move_effects.rs:20:33 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::core::instructions::{PokemonStatus, VolatileStatus, Stat, Weather, SideCondition, Terrain}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleInstruction`, `FieldInstruction`, `PokemonInstruction`, `StatsInstruction`, and `StatusInstruction` [INFO] [stdout] --> src/engine/combat/move_effects.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | BattleInstruction, BattleInstructions, StatusInstruction, PokemonInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | FieldInstruction, StatsInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SideReference` [INFO] [stdout] --> src/engine/combat/move_effects.rs:26:50 [INFO] [stdout] | [INFO] [stdout] 26 | use crate::core::battle_format::{BattlePosition, SideReference}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::combat::type_effectiveness::TypeChart` [INFO] [stdout] --> src/engine/combat/move_effects.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::engine::combat::type_effectiveness::TypeChart; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::PokemonType` [INFO] [stdout] --> src/engine/combat/move_effects.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use crate::types::PokemonType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> src/engine/combat/move_effects.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use crate::engine::combat::moves::MoveContext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `MoveContext` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> src/engine/combat/move_effects.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use crate::engine::combat::moves::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> src/engine/combat/move_effects.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use crate::engine::combat::moves::MoveContext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(hidden_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleError` and `BattleResult` [INFO] [stdout] --> src/engine/combat/move_effects.rs:31:20 [INFO] [stdout] | [INFO] [stdout] 31 | use crate::types::{BattleError, BattleResult}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/combat/move_effects.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PokemonStatus` [INFO] [stdout] --> src/engine/combat/moves/status/status_effects.rs:7:53 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::core::instructions::{BattleInstructions, PokemonStatus}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | /// Apply Swords Dance - raises Attack by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | /// Apply Dragon Dance - raises Attack and Speed by 1 stage each [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | /// Apply Nasty Plot - raises Special Attack by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:71:1 [INFO] [stdout] | [INFO] [stdout] 71 | /// Apply Calm Mind - raises Special Attack and Special Defense by 1 stage each [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | /// Apply Iron Defense - raises Defense by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:77:1 [INFO] [stdout] | [INFO] [stdout] 77 | /// Apply Amnesia - raises Special Defense by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:80:1 [INFO] [stdout] | [INFO] [stdout] 80 | /// Apply Agility - raises Speed by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:83:1 [INFO] [stdout] | [INFO] [stdout] 83 | /// Apply Bulk Up - raises Attack and Defense by 1 stage each [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | /// Apply Rock Polish - raises Speed by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:89:1 [INFO] [stdout] | [INFO] [stdout] 89 | /// Apply Hone Claws - raises Attack and Accuracy by 1 stage each [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:92:1 [INFO] [stdout] | [INFO] [stdout] 92 | /// Apply Curse (when used by non-Ghost type) - raises Attack and Defense, lowers Speed [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:99:1 [INFO] [stdout] | [INFO] [stdout] 99 | /// Apply Growl - lowers target's Attack by 1 stage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:102:1 [INFO] [stdout] | [INFO] [stdout] 102 | /// Apply Leer - lowers target's Defense by 1 stage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:105:1 [INFO] [stdout] | [INFO] [stdout] 105 | /// Apply Tail Whip - lowers target's Defense by 1 stage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | /// Apply String Shot - lowers target's Speed by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:111:1 [INFO] [stdout] | [INFO] [stdout] 111 | /// Apply Charm - lowers target's Attack by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:114:1 [INFO] [stdout] | [INFO] [stdout] 114 | /// Apply Screech - lowers target's Defense by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:117:1 [INFO] [stdout] | [INFO] [stdout] 117 | /// Apply Sweet Scent - lowers target's Evasion by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:120:1 [INFO] [stdout] | [INFO] [stdout] 120 | /// Apply Sand Attack - lowers target's Accuracy by 1 stage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:123:1 [INFO] [stdout] | [INFO] [stdout] 123 | /// Apply Smokescreen - lowers target's Accuracy by 1 stage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:126:1 [INFO] [stdout] | [INFO] [stdout] 126 | /// Apply Intimidate (ability) - lowers target's Attack by 1 stage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BattleInstruction` [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:9:33 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::core::instructions::{BattleInstruction, BattleInstructions, Stat, Weather}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/healing.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | /// Apply Recover - restores 50% of max HP [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/healing.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | /// Apply Roost - restores 50% of max HP [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/healing.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | /// Apply Slack Off - restores 50% of max HP [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/healing.rs:52:1 [INFO] [stdout] | [INFO] [stdout] 52 | /// Apply Soft Boiled - restores 50% of max HP [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/healing.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | /// Apply Milk Drink - restores 50% of max HP [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::battle_format::SideReference` [INFO] [stdout] --> src/engine/combat/moves/status/healing.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | use crate::core::battle_format::SideReference; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/status/item_interaction.rs:204:40 [INFO] [stdout] | [INFO] [stdout] 204 | modified_move.base_power = (fling_power as u16); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 204 - modified_move.base_power = (fling_power as u16); [INFO] [stdout] 204 + modified_move.base_power = fling_power as u16; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/status/item_interaction.rs:370:36 [INFO] [stdout] | [INFO] [stdout] 370 | modified_move.base_power = ((modified_move.base_power as f32 * power_multiplier) as u16); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 370 - modified_move.base_power = ((modified_move.base_power as f32 * power_multiplier) as u16); [INFO] [stdout] 370 + modified_move.base_power = (modified_move.base_power as f32 * power_multiplier) as u16; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/engine/combat/moves/mod.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | pub use status::healing::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ the name `apply_pain_split` in the value namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 146 | pub use simple::*; [INFO] [stdout] | --------- but the name `apply_pain_split` in the value namespace is also re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/engine/combat/moves/mod.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | pub use status::healing::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ the name `apply_heal_bell` in the value namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 134 | pub use special::utility::*; [INFO] [stdout] | ------------------- but the name `apply_heal_bell` in the value namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/engine/combat/moves/mod.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | pub use status::healing::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ the name `apply_aromatherapy` in the value namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 134 | pub use special::utility::*; [INFO] [stdout] | ------------------- but the name `apply_aromatherapy` in the value namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | /// Apply Sunny Day - sets sun weather [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | /// Apply Rain Dance - sets rain weather [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:42:1 [INFO] [stdout] | [INFO] [stdout] 42 | /// Apply Sandstorm - sets sandstorm weather [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | /// Apply Hail - sets hail weather [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | /// Apply Snow - sets snow weather (Gen 9) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | /// Apply Primordial Sea - sets heavy rain (primal weather) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:58:1 [INFO] [stdout] | [INFO] [stdout] 58 | /// Apply Desolate Land - sets harsh sun (primal weather) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:61:1 [INFO] [stdout] | [INFO] [stdout] 61 | /// Apply Delta Stream - sets strong winds (primal weather) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | /// Apply Clear Skies - removes all weather [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BattleInstruction` [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:9:33 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::core::instructions::{BattleInstruction, BattleInstructions, Weather}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::instructions::Weather` [INFO] [stdout] --> src/engine/combat/moves/field/weather_accuracy.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::core::instructions::Weather; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/field/terrain_dependent.rs:223:36 [INFO] [stdout] | [INFO] [stdout] 223 | modified_move.base_power = ((modified_move.base_power as f32 * power_multiplier) as u16); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 223 - modified_move.base_power = ((modified_move.base_power as f32 * power_multiplier) as u16); [INFO] [stdout] 223 + modified_move.base_power = (modified_move.base_power as f32 * power_multiplier) as u16; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/hazards.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | /// Apply Spikes - sets entry hazard that damages grounded Pokemon [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/hazards.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | /// Apply Stealth Rock - sets entry hazard based on type effectiveness [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/hazards.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | /// Apply Toxic Spikes - sets entry hazard that poisons switching Pokemon [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/hazards.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | /// Apply Sticky Web - sets entry hazard that lowers Speed of switching Pokemon [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BattleInstruction` [INFO] [stdout] --> src/engine/combat/moves/field/hazards.rs:9:33 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::core::instructions::{BattleInstruction, BattleInstructions}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HazardRemovalType` and `hazard_removal_move` [INFO] [stdout] --> src/engine/combat/moves/field/hazards.rs:13:61 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::engine::combat::core::field_system::{HazardType, HazardRemovalType, hazard_removal_move}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/screens.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | /// Apply Reflect - reduces physical damage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/screens.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | /// Apply Light Screen - reduces special damage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/screens.rs:61:1 [INFO] [stdout] | [INFO] [stdout] 61 | /// Apply Safeguard - prevents status conditions [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/screens.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | /// Apply Mist - prevents stat reduction [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/screens.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | /// Apply Lucky Chant - prevents critical hits against the team [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BattleInstruction` [INFO] [stdout] --> src/engine/combat/moves/field/screens.rs:9:33 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::core::instructions::{BattleInstruction, BattleInstructions, Weather}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SideCondition` and `Stat` [INFO] [stdout] --> src/engine/combat/moves/field/field_manipulation.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::core::instructions::{SideCondition, VolatileStatus, Stat, Weather}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StatsInstruction` [INFO] [stdout] --> src/engine/combat/moves/field/field_manipulation.rs:9:81 [INFO] [stdout] | [INFO] [stdout] 9 | BattleInstruction, BattleInstructions, FieldInstruction, StatusInstruction, StatsInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SideReference` [INFO] [stdout] --> src/engine/combat/moves/field/field_manipulation.rs:11:50 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::core::battle_format::{BattlePosition, SideReference}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/combat/moves/field/field_manipulation.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DamageModifiers` and `simple_damage_move` [INFO] [stdout] --> src/engine/combat/moves/damage/fixed_damage.rs:14:54 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::engine::combat::composers::damage_moves::{simple_damage_move, DamageModifiers}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::data::showdown_types::MoveData` [INFO] [stdout] --> src/engine/combat/moves/damage/fixed_damage.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::data::showdown_types::MoveData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SideReference` [INFO] [stdout] --> src/engine/combat/moves/damage/multi_hit.rs:8:50 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::core::battle_format::{BattlePosition, SideReference}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DamageModifiers` and `simple_damage_move` [INFO] [stdout] --> src/engine/combat/moves/damage/multi_hit.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | simple_damage_move, DamageModifiers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HitCountCalculator` [INFO] [stdout] --> src/engine/combat/moves/damage/multi_hit.rs:170:63 [INFO] [stdout] | [INFO] [stdout] 170 | DamageCalculationContext, execute_multi_hit_sequence, HitCountCalculator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MoveCategory` [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:10:46 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::core::battle_state::{BattleState, MoveCategory, Pokemon}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FieldInstruction`, `SideCondition`, `StatusInstruction`, `Terrain`, and `VolatileStatus` [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:12:44 [INFO] [stdout] | [INFO] [stdout] 12 | BattleInstruction, BattleInstructions, FieldInstruction, PokemonInstruction, PokemonStatus, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | SideCondition, Stat, StatsInstruction, StatusInstruction, Terrain, VolatileStatus, Weather, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `simple` [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:16:36 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::engine::combat::moves::{simple, MoveContext}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:1030:45 [INFO] [stdout] | [INFO] [stdout] 1030 | modified_move_data.base_power = (power as u16); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1030 - modified_move_data.base_power = (power as u16); [INFO] [stdout] 1030 + modified_move_data.base_power = power as u16; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:1098:37 [INFO] [stdout] | [INFO] [stdout] 1098 | modified_move_data.base_power = (power.min(250) as u16); // Cap at reasonable power [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1098 - modified_move_data.base_power = (power.min(250) as u16); // Cap at reasonable power [INFO] [stdout] 1098 + modified_move_data.base_power = power.min(250) as u16; // Cap at reasonable power [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:1206:41 [INFO] [stdout] | [INFO] [stdout] 1206 | modified_move_data.base_power = (power.min(250) as u16); // Cap at reasonable power [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1206 - modified_move_data.base_power = (power.min(250) as u16); // Cap at reasonable power [INFO] [stdout] 1206 + modified_move_data.base_power = power.min(250) as u16; // Cap at reasonable power [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:1412:41 [INFO] [stdout] | [INFO] [stdout] 1412 | modified_move_data.base_power = (65); // Increased from base 40 power [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1412 - modified_move_data.base_power = (65); // Increased from base 40 power [INFO] [stdout] 1412 + modified_move_data.base_power = 65; // Increased from base 40 power [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/engine/combat/moves/mod.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | pub use damage::variable_power::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ the name `apply_freeze_dry` in the value namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 153 | pub use secondary_effects::*; [INFO] [stdout] | -------------------- but the name `apply_freeze_dry` in the value namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PokemonInstruction` [INFO] [stdout] --> src/engine/combat/moves/special/two_turn.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | PokemonInstruction, FieldInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/special/form_dependent.rs:110:49 [INFO] [stdout] | [INFO] [stdout] 110 | modified_move_data.base_power = ((modified_move_data.base_power as f32 * power_multiplier) as u16); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 110 - modified_move_data.base_power = ((modified_move_data.base_power as f32 * power_multiplier) as u16); [INFO] [stdout] 110 + modified_move_data.base_power = (modified_move_data.base_power as f32 * power_multiplier) as u16; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MoveCategory` and `Pokemon` [INFO] [stdout] --> src/engine/combat/moves/special/complex.rs:6:33 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::core::battle_state::{Pokemon, MoveCategory}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SideCondition`, `Terrain`, and `Weather` [INFO] [stdout] --> src/engine/combat/moves/special/complex.rs:8:70 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::core::instructions::{PokemonStatus, VolatileStatus, Stat, Weather, SideCondition, Terrain}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::combat::type_effectiveness::TypeChart` [INFO] [stdout] --> src/engine/combat/moves/special/complex.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::engine::combat::type_effectiveness::TypeChart; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MoveCategory` and `Pokemon` [INFO] [stdout] --> src/engine/combat/moves/special/substitute.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::core::battle_state::{Pokemon, MoveCategory}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PokemonStatus`, `SideCondition`, `Stat`, `Terrain`, and `Weather` [INFO] [stdout] --> src/engine/combat/moves/special/substitute.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::core::instructions::{PokemonStatus, VolatileStatus, Stat, Weather, SideCondition, Terrain}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FieldInstruction` and `StatsInstruction` [INFO] [stdout] --> src/engine/combat/moves/special/substitute.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | FieldInstruction, StatsInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SideReference` [INFO] [stdout] --> src/engine/combat/moves/special/substitute.rs:12:50 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::core::battle_format::{BattlePosition, SideReference}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::combat::type_effectiveness::TypeChart` [INFO] [stdout] --> src/engine/combat/moves/special/substitute.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::engine::combat::type_effectiveness::TypeChart; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::PokemonType` [INFO] [stdout] --> src/engine/combat/moves/special/substitute.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::types::PokemonType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/combat/moves/special/substitute.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleInstruction` and `PokemonInstruction` [INFO] [stdout] --> src/engine/combat/moves/special/type_changing.rs:8:53 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::core::instructions::{BattleInstructions, BattleInstruction, PokemonInstruction}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stat` [INFO] [stdout] --> src/engine/combat/moves/special/utility.rs:6:64 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::core::instructions::{PokemonStatus, VolatileStatus, Stat}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/engine/combat/moves/mod.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | pub use field::weather_accuracy::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the name `apply_blizzard` in the value namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 153 | pub use secondary_effects::*; [INFO] [stdout] | -------------------- but the name `apply_blizzard` in the value namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/engine/combat/moves/mod.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | pub use field::weather_accuracy::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the name `apply_thunder` in the value namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 153 | pub use secondary_effects::*; [INFO] [stdout] | -------------------- but the name `apply_thunder` in the value namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/combat/moves/simple.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SideReference` [INFO] [stdout] --> src/engine/combat/moves/simple.rs:7:50 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::core::battle_format::{BattlePosition, SideReference}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MoveCategory` and `Pokemon` [INFO] [stdout] --> src/engine/combat/moves/simple.rs:8:46 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::core::battle_state::{BattleState, MoveCategory, Pokemon}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PokemonStatus`, `StatsInstruction`, `Terrain`, and `Weather` [INFO] [stdout] --> src/engine/combat/moves/simple.rs:10:82 [INFO] [stdout] | [INFO] [stdout] 10 | BattleInstruction, BattleInstructions, FieldInstruction, PokemonInstruction, PokemonStatus, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | SideCondition, Stat, StatusInstruction, StatsInstruction, Terrain, VolatileStatus, Weather, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::combat::type_effectiveness::TypeChart` [INFO] [stdout] --> src/engine/combat/moves/simple.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::engine::combat::type_effectiveness::TypeChart; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::PokemonType` [INFO] [stdout] --> src/engine/combat/moves/simple.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::types::PokemonType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DamageRolls`, `calculate_damage_with_positions`, and `critical_hit_probability` [INFO] [stdout] --> src/engine/combat/moves/special_combat.rs:14:37 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::engine::combat::damage::{calculate_damage_with_positions, DamageRolls, critical_hit_probability}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BattleInstruction` [INFO] [stdout] --> src/engine/combat/moves/secondary_effects.rs:11:33 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::core::instructions::{BattleInstruction, BattleInstructions, PokemonStatus, Stat, VolatileStatus}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Gender`, `MoveCategory`, `Move`, and `Pokemon` [INFO] [stdout] --> src/engine/combat/moves/registry.rs:8:46 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::core::battle_state::{BattleState, Pokemon, Move, Gender, MoveCategory}; [INFO] [stdout] | ^^^^^^^ ^^^^ ^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `apply_barrage`, `apply_bullet_seed`, `apply_comet_punch`, `apply_double_slap`, `apply_fury_attack`, `apply_pin_missile`, `apply_rock_blast`, `apply_scale_shot`, `apply_spike_cannon`, and `apply_tail_slap` [INFO] [stdout] --> src/engine/combat/moves/registry.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | apply_double_slap, apply_fury_attack, apply_pin_missile, apply_spike_cannon, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 52 | apply_barrage, apply_comet_punch, apply_bullet_seed, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 53 | apply_rock_blast, apply_tail_slap, apply_scale_shot [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `complex` [INFO] [stdout] --> src/engine/combat/moves/registry.rs:65:22 [INFO] [stdout] | [INFO] [stdout] 65 | use super::special::{complex, counter}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DamageRolls` and `calculate_damage_with_positions` [INFO] [stdout] --> src/engine/combat/moves/mod.rs:247:41 [INFO] [stdout] | [INFO] [stdout] 247 | use crate::engine::combat::damage::{calculate_damage_with_positions, critical_hit_probability, DamageRolls}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/mod.rs:381:27 [INFO] [stdout] | [INFO] [stdout] 381 | let normal_hit_prob = (1.0 - crit_chance); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 381 - let normal_hit_prob = (1.0 - crit_chance); [INFO] [stdout] 381 + let normal_hit_prob = 1.0 - crit_chance; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PokemonInstruction` [INFO] [stdout] --> src/engine/combat/moves/mod.rs:552:56 [INFO] [stdout] | [INFO] [stdout] 552 | use crate::core::instructions::{BattleInstruction, PokemonInstruction, StatsInstruction, StatusInstruction, Stat, PokemonStatus}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/engine/combat/type_effectiveness.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TypeId` [INFO] [stdout] --> src/engine/combat/type_effectiveness.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::types::identifiers::{MoveId, TypeId}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EffectType`, `get_effect_type_for_status_instruction`, and `should_block_effect` [INFO] [stdout] --> src/engine/combat/composers/damage_moves.rs:18:29 [INFO] [stdout] | [INFO] [stdout] 18 | substitute_protection::{EffectType, should_block_effect, get_effect_type_for_status_instruction}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StatusInstruction` and `VolatileStatus` [INFO] [stdout] --> src/engine/combat/composers/damage_moves.rs:21:33 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::core::instructions::{StatusInstruction, VolatileStatus}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::data::showdown_types::MoveData` [INFO] [stdout] --> src/engine/combat/composers/status_moves.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::data::showdown_types::MoveData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `apply_multiple_status_effects` [INFO] [stdout] --> src/engine/combat/composers/status_moves.rs:11:24 [INFO] [stdout] | [INFO] [stdout] 11 | StatusApplication, apply_multiple_status_effects, simple_status_move, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MoveCategory` [INFO] [stdout] --> src/engine/combat/core/damage_system.rs:9:72 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::core::instructions::{BattleInstruction, PokemonInstruction, MoveCategory, Stat}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DamageContext` [INFO] [stdout] --> src/engine/combat/core/damage_system.rs:12:45 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::engine::combat::damage_context::{DamageContext, DamageResult}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/engine/combat/core/damage_system.rs:325:9 [INFO] [stdout] | [INFO] [stdout] 325 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::PokemonType` [INFO] [stdout] --> src/engine/combat/core/damage_system.rs:367:9 [INFO] [stdout] | [INFO] [stdout] 367 | use crate::types::PokemonType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/engine/combat/core/damage_system.rs:368:9 [INFO] [stdout] | [INFO] [stdout] 368 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::data::showdown_types::MoveData` [INFO] [stdout] --> src/engine/combat/core/status_system.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::data::showdown_types::MoveData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StatusInstruction` [INFO] [stdout] --> src/engine/combat/core/contact_effects.rs:9:87 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::core::instructions::{BattleInstruction, PokemonInstruction, PokemonStatus, StatusInstruction, StatsInstruction, Stat}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattlePosition` and `SideReference` [INFO] [stdout] --> src/engine/combat/core/end_of_turn.rs:12:34 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::core::battle_format::{BattlePosition, SideReference}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/combat/core/end_of_turn.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleInstructions` and `VolatileStatus` [INFO] [stdout] --> src/engine/combat/core/ability_triggers.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | BattleInstruction, BattleInstructions, PokemonInstruction, StatusInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | StatsInstruction, PokemonStatus, VolatileStatus, Stat [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::battle_state::Pokemon` [INFO] [stdout] --> src/engine/mechanics/abilities.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::core::battle_state::Pokemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::combat::damage_context::DamageContext` [INFO] [stdout] --> src/engine/mechanics/abilities.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::engine::combat::damage_context::DamageContext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::battle_format::BattlePosition` [INFO] [stdout] --> src/engine/mechanics/abilities.rs:544:9 [INFO] [stdout] | [INFO] [stdout] 544 | use crate::core::battle_format::BattlePosition; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StatBoosts` [INFO] [stdout] --> src/engine/mechanics/items/choice_items.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use super::{ItemModifier, StatBoosts}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/mechanics/items/stat_boosting_items.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PokemonStatus`, `Stat`, `StatsInstruction`, and `StatusInstruction` [INFO] [stdout] --> src/engine/mechanics/items/stat_boosting_items.rs:11:64 [INFO] [stdout] | [INFO] [stdout] 11 | BattleInstruction, BattleInstructions, PokemonInstruction, PokemonStatus, Stat, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^ [INFO] [stdout] 12 | StatusInstruction, StatsInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PokemonRepository` [INFO] [stdout] --> src/engine/mechanics/items/stat_boosting_items.rs:14:53 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::data::repositories::{GameDataRepository, PokemonRepository}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PokemonStatus` and `StatusInstruction` [INFO] [stdout] --> src/engine/mechanics/items/utility_items.rs:11:64 [INFO] [stdout] | [INFO] [stdout] 11 | BattleInstruction, BattleInstructions, PokemonInstruction, PokemonStatus, Stat, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 12 | StatusInstruction, StatsInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GenerationMechanics` [INFO] [stdout] --> src/engine/mechanics/items/mod.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::generation::{GenerationMechanics, GenerationBattleMechanics}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PokemonStatus` and `Stat` [INFO] [stdout] --> src/engine/mechanics/items/mod.rs:27:33 [INFO] [stdout] | [INFO] [stdout] 27 | use crate::core::instructions::{Stat, PokemonStatus}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleInstruction`, `PokemonInstruction`, `StatsInstruction`, and `StatusInstruction` [INFO] [stdout] --> src/engine/mechanics/items/mod.rs:28:33 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::core::instructions::{BattleInstruction, BattleInstructions, StatusInstruction, PokemonInstruction, StatsInstruction}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/mechanics/items/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/turn.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PokemonStatus` and `Weather` [INFO] [stdout] --> src/engine/turn.rs:38:37 [INFO] [stdout] | [INFO] [stdout] 38 | use crate::core::instructions::{PokemonStatus, Weather}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleInstruction` and `PokemonInstruction` [INFO] [stdout] --> src/engine/turn.rs:39:37 [INFO] [stdout] | [INFO] [stdout] 39 | use crate::core::instructions::{BattleInstruction, BattleInstructions, PokemonInstruction}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::battle_format::BattlePosition` [INFO] [stdout] --> src/engine/turn.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | use crate::core::battle_format::BattlePosition; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::generation::GenerationMechanics` [INFO] [stdout] --> src/engine/turn.rs:1032:9 [INFO] [stdout] | [INFO] [stdout] 1032 | use crate::generation::GenerationMechanics; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MoveCategory` [INFO] [stdout] --> src/data/generation_loader.rs:6:39 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::core::battle_state::{Move, MoveCategory}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::target_from_string` [INFO] [stdout] --> src/data/generation_loader.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::utils::target_from_string; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TypeId` [INFO] [stdout] --> src/data/showdown_types.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::types::{AbilityId, TypeId, PokemonType}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DataError` [INFO] [stdout] --> src/simulator.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::types::errors::{BattleError, DataError, SimulatorError}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/damage/generations/gen1.rs:201:19 [INFO] [stdout] | [INFO] [stdout] 201 | base_damage = (base_damage.min(997.0) + 2.0); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 201 - base_damage = (base_damage.min(997.0) + 2.0); [INFO] [stdout] 201 + base_damage = base_damage.min(997.0) + 2.0; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/engine/combat/damage/generations/modern.rs:334:12 [INFO] [stdout] | [INFO] [stdout] 334 | if (move_type == PokemonType::Normal || move_type == PokemonType::Fighting) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 334 - if (move_type == PokemonType::Normal || move_type == PokemonType::Fighting) { [INFO] [stdout] 334 + if move_type == PokemonType::Normal || move_type == PokemonType::Fighting { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::battle_state::BattleState` [INFO] [stdout] --> src/engine/combat/damage_context.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::core::battle_state::BattleState; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/engine/combat/damage_context.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MoveCategory` [INFO] [stdout] --> src/engine/combat/move_effects.rs:18:42 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::core::battle_state::{Pokemon, MoveCategory}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PokemonStatus`, `SideCondition`, `Stat`, `Terrain`, `VolatileStatus`, and `Weather` [INFO] [stdout] --> src/engine/combat/move_effects.rs:20:33 [INFO] [stdout] | [INFO] [stdout] 20 | use crate::core::instructions::{PokemonStatus, VolatileStatus, Stat, Weather, SideCondition, Terrain}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleInstruction`, `FieldInstruction`, `PokemonInstruction`, `StatsInstruction`, and `StatusInstruction` [INFO] [stdout] --> src/engine/combat/move_effects.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | BattleInstruction, BattleInstructions, StatusInstruction, PokemonInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | FieldInstruction, StatsInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SideReference` [INFO] [stdout] --> src/engine/combat/move_effects.rs:26:50 [INFO] [stdout] | [INFO] [stdout] 26 | use crate::core::battle_format::{BattlePosition, SideReference}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::combat::type_effectiveness::TypeChart` [INFO] [stdout] --> src/engine/combat/move_effects.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::engine::combat::type_effectiveness::TypeChart; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::PokemonType` [INFO] [stdout] --> src/engine/combat/move_effects.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use crate::types::PokemonType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: private item shadows public glob re-export [INFO] [stdout] --> src/engine/combat/move_effects.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use crate::engine::combat::moves::MoveContext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the name `MoveContext` in the type namespace is supposed to be publicly re-exported here [INFO] [stdout] --> src/engine/combat/move_effects.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use crate::engine::combat::moves::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] note: but the private item here shadows it [INFO] [stdout] --> src/engine/combat/move_effects.rs:30:5 [INFO] [stdout] | [INFO] [stdout] 30 | use crate::engine::combat::moves::MoveContext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(hidden_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleError` and `BattleResult` [INFO] [stdout] --> src/engine/combat/move_effects.rs:31:20 [INFO] [stdout] | [INFO] [stdout] 31 | use crate::types::{BattleError, BattleResult}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/combat/move_effects.rs:32:5 [INFO] [stdout] | [INFO] [stdout] 32 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PokemonStatus` [INFO] [stdout] --> src/engine/combat/moves/status/status_effects.rs:7:53 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::core::instructions::{BattleInstructions, PokemonStatus}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | /// Apply Swords Dance - raises Attack by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | /// Apply Dragon Dance - raises Attack and Speed by 1 stage each [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | /// Apply Nasty Plot - raises Special Attack by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:71:1 [INFO] [stdout] | [INFO] [stdout] 71 | /// Apply Calm Mind - raises Special Attack and Special Defense by 1 stage each [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | /// Apply Iron Defense - raises Defense by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:77:1 [INFO] [stdout] | [INFO] [stdout] 77 | /// Apply Amnesia - raises Special Defense by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:80:1 [INFO] [stdout] | [INFO] [stdout] 80 | /// Apply Agility - raises Speed by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:83:1 [INFO] [stdout] | [INFO] [stdout] 83 | /// Apply Bulk Up - raises Attack and Defense by 1 stage each [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:86:1 [INFO] [stdout] | [INFO] [stdout] 86 | /// Apply Rock Polish - raises Speed by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:89:1 [INFO] [stdout] | [INFO] [stdout] 89 | /// Apply Hone Claws - raises Attack and Accuracy by 1 stage each [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:92:1 [INFO] [stdout] | [INFO] [stdout] 92 | /// Apply Curse (when used by non-Ghost type) - raises Attack and Defense, lowers Speed [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:99:1 [INFO] [stdout] | [INFO] [stdout] 99 | /// Apply Growl - lowers target's Attack by 1 stage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:102:1 [INFO] [stdout] | [INFO] [stdout] 102 | /// Apply Leer - lowers target's Defense by 1 stage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:105:1 [INFO] [stdout] | [INFO] [stdout] 105 | /// Apply Tail Whip - lowers target's Defense by 1 stage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:108:1 [INFO] [stdout] | [INFO] [stdout] 108 | /// Apply String Shot - lowers target's Speed by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:111:1 [INFO] [stdout] | [INFO] [stdout] 111 | /// Apply Charm - lowers target's Attack by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:114:1 [INFO] [stdout] | [INFO] [stdout] 114 | /// Apply Screech - lowers target's Defense by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:117:1 [INFO] [stdout] | [INFO] [stdout] 117 | /// Apply Sweet Scent - lowers target's Evasion by 2 stages [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:120:1 [INFO] [stdout] | [INFO] [stdout] 120 | /// Apply Sand Attack - lowers target's Accuracy by 1 stage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:123:1 [INFO] [stdout] | [INFO] [stdout] 123 | /// Apply Smokescreen - lowers target's Accuracy by 1 stage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:126:1 [INFO] [stdout] | [INFO] [stdout] 126 | /// Apply Intimidate (ability) - lowers target's Attack by 1 stage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BattleInstruction` [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:9:33 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::core::instructions::{BattleInstruction, BattleInstructions, Stat, Weather}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/healing.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | /// Apply Recover - restores 50% of max HP [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/healing.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | /// Apply Roost - restores 50% of max HP [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/healing.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 49 | /// Apply Slack Off - restores 50% of max HP [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/healing.rs:52:1 [INFO] [stdout] | [INFO] [stdout] 52 | /// Apply Soft Boiled - restores 50% of max HP [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/status/healing.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | /// Apply Milk Drink - restores 50% of max HP [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::battle_format::SideReference` [INFO] [stdout] --> src/engine/combat/moves/status/healing.rs:239:9 [INFO] [stdout] | [INFO] [stdout] 239 | use crate::core::battle_format::SideReference; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/status/item_interaction.rs:204:40 [INFO] [stdout] | [INFO] [stdout] 204 | modified_move.base_power = (fling_power as u16); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 204 - modified_move.base_power = (fling_power as u16); [INFO] [stdout] 204 + modified_move.base_power = fling_power as u16; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/status/item_interaction.rs:370:36 [INFO] [stdout] | [INFO] [stdout] 370 | modified_move.base_power = ((modified_move.base_power as f32 * power_multiplier) as u16); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 370 - modified_move.base_power = ((modified_move.base_power as f32 * power_multiplier) as u16); [INFO] [stdout] 370 + modified_move.base_power = (modified_move.base_power as f32 * power_multiplier) as u16; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/engine/combat/moves/mod.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | pub use status::healing::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ the name `apply_pain_split` in the value namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 146 | pub use simple::*; [INFO] [stdout] | --------- but the name `apply_pain_split` in the value namespace is also re-exported here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ambiguous_glob_reexports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/engine/combat/moves/mod.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | pub use status::healing::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ the name `apply_heal_bell` in the value namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 134 | pub use special::utility::*; [INFO] [stdout] | ------------------- but the name `apply_heal_bell` in the value namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/engine/combat/moves/mod.rs:109:9 [INFO] [stdout] | [INFO] [stdout] 109 | pub use status::healing::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ the name `apply_aromatherapy` in the value namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 134 | pub use special::utility::*; [INFO] [stdout] | ------------------- but the name `apply_aromatherapy` in the value namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:36:1 [INFO] [stdout] | [INFO] [stdout] 36 | /// Apply Sunny Day - sets sun weather [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:39:1 [INFO] [stdout] | [INFO] [stdout] 39 | /// Apply Rain Dance - sets rain weather [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:42:1 [INFO] [stdout] | [INFO] [stdout] 42 | /// Apply Sandstorm - sets sandstorm weather [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:45:1 [INFO] [stdout] | [INFO] [stdout] 45 | /// Apply Hail - sets hail weather [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:48:1 [INFO] [stdout] | [INFO] [stdout] 48 | /// Apply Snow - sets snow weather (Gen 9) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | /// Apply Primordial Sea - sets heavy rain (primal weather) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:58:1 [INFO] [stdout] | [INFO] [stdout] 58 | /// Apply Desolate Land - sets harsh sun (primal weather) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:61:1 [INFO] [stdout] | [INFO] [stdout] 61 | /// Apply Delta Stream - sets strong winds (primal weather) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | /// Apply Clear Skies - removes all weather [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BattleInstruction` [INFO] [stdout] --> src/engine/combat/moves/field/weather.rs:9:33 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::core::instructions::{BattleInstruction, BattleInstructions, Weather}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::instructions::Weather` [INFO] [stdout] --> src/engine/combat/moves/field/weather_accuracy.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::core::instructions::Weather; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/field/terrain_dependent.rs:223:36 [INFO] [stdout] | [INFO] [stdout] 223 | modified_move.base_power = ((modified_move.base_power as f32 * power_multiplier) as u16); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 223 - modified_move.base_power = ((modified_move.base_power as f32 * power_multiplier) as u16); [INFO] [stdout] 223 + modified_move.base_power = (modified_move.base_power as f32 * power_multiplier) as u16; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/hazards.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | /// Apply Spikes - sets entry hazard that damages grounded Pokemon [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/hazards.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | /// Apply Stealth Rock - sets entry hazard based on type effectiveness [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/hazards.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | /// Apply Toxic Spikes - sets entry hazard that poisons switching Pokemon [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/hazards.rs:46:1 [INFO] [stdout] | [INFO] [stdout] 46 | /// Apply Sticky Web - sets entry hazard that lowers Speed of switching Pokemon [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BattleInstruction` [INFO] [stdout] --> src/engine/combat/moves/field/hazards.rs:9:33 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::core::instructions::{BattleInstruction, BattleInstructions}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HazardRemovalType` and `hazard_removal_move` [INFO] [stdout] --> src/engine/combat/moves/field/hazards.rs:13:61 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::engine::combat::core::field_system::{HazardType, HazardRemovalType, hazard_removal_move}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/screens.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | /// Apply Reflect - reduces physical damage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/screens.rs:40:1 [INFO] [stdout] | [INFO] [stdout] 40 | /// Apply Light Screen - reduces special damage [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/screens.rs:61:1 [INFO] [stdout] | [INFO] [stdout] 61 | /// Apply Safeguard - prevents status conditions [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/screens.rs:64:1 [INFO] [stdout] | [INFO] [stdout] 64 | /// Apply Mist - prevents stat reduction [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/engine/combat/moves/field/screens.rs:67:1 [INFO] [stdout] | [INFO] [stdout] 67 | /// Apply Lucky Chant - prevents critical hits against the team [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BattleInstruction` [INFO] [stdout] --> src/engine/combat/moves/field/screens.rs:9:33 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::core::instructions::{BattleInstruction, BattleInstructions, Weather}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SideCondition` and `Stat` [INFO] [stdout] --> src/engine/combat/moves/field/field_manipulation.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::core::instructions::{SideCondition, VolatileStatus, Stat, Weather}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StatsInstruction` [INFO] [stdout] --> src/engine/combat/moves/field/field_manipulation.rs:9:81 [INFO] [stdout] | [INFO] [stdout] 9 | BattleInstruction, BattleInstructions, FieldInstruction, StatusInstruction, StatsInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SideReference` [INFO] [stdout] --> src/engine/combat/moves/field/field_manipulation.rs:11:50 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::core::battle_format::{BattlePosition, SideReference}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/combat/moves/field/field_manipulation.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DamageModifiers` and `simple_damage_move` [INFO] [stdout] --> src/engine/combat/moves/damage/fixed_damage.rs:14:54 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::engine::combat::composers::damage_moves::{simple_damage_move, DamageModifiers}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::data::showdown_types::MoveData` [INFO] [stdout] --> src/engine/combat/moves/damage/fixed_damage.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::data::showdown_types::MoveData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SideReference` [INFO] [stdout] --> src/engine/combat/moves/damage/multi_hit.rs:8:50 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::core::battle_format::{BattlePosition, SideReference}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DamageModifiers` and `simple_damage_move` [INFO] [stdout] --> src/engine/combat/moves/damage/multi_hit.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | simple_damage_move, DamageModifiers, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HitCountCalculator` [INFO] [stdout] --> src/engine/combat/moves/damage/multi_hit.rs:170:63 [INFO] [stdout] | [INFO] [stdout] 170 | DamageCalculationContext, execute_multi_hit_sequence, HitCountCalculator, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MoveCategory` [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:10:46 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::core::battle_state::{BattleState, MoveCategory, Pokemon}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FieldInstruction`, `SideCondition`, `StatusInstruction`, `Terrain`, and `VolatileStatus` [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:12:44 [INFO] [stdout] | [INFO] [stdout] 12 | BattleInstruction, BattleInstructions, FieldInstruction, PokemonInstruction, PokemonStatus, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 13 | SideCondition, Stat, StatsInstruction, StatusInstruction, Terrain, VolatileStatus, Weather, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `simple` [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:16:36 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::engine::combat::moves::{simple, MoveContext}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:1030:45 [INFO] [stdout] | [INFO] [stdout] 1030 | modified_move_data.base_power = (power as u16); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1030 - modified_move_data.base_power = (power as u16); [INFO] [stdout] 1030 + modified_move_data.base_power = power as u16; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:1098:37 [INFO] [stdout] | [INFO] [stdout] 1098 | modified_move_data.base_power = (power.min(250) as u16); // Cap at reasonable power [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1098 - modified_move_data.base_power = (power.min(250) as u16); // Cap at reasonable power [INFO] [stdout] 1098 + modified_move_data.base_power = power.min(250) as u16; // Cap at reasonable power [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:1206:41 [INFO] [stdout] | [INFO] [stdout] 1206 | modified_move_data.base_power = (power.min(250) as u16); // Cap at reasonable power [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1206 - modified_move_data.base_power = (power.min(250) as u16); // Cap at reasonable power [INFO] [stdout] 1206 + modified_move_data.base_power = power.min(250) as u16; // Cap at reasonable power [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:1412:41 [INFO] [stdout] | [INFO] [stdout] 1412 | modified_move_data.base_power = (65); // Increased from base 40 power [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 1412 - modified_move_data.base_power = (65); // Increased from base 40 power [INFO] [stdout] 1412 + modified_move_data.base_power = 65; // Increased from base 40 power [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/engine/combat/moves/mod.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | pub use damage::variable_power::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ the name `apply_freeze_dry` in the value namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 153 | pub use secondary_effects::*; [INFO] [stdout] | -------------------- but the name `apply_freeze_dry` in the value namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PokemonInstruction` [INFO] [stdout] --> src/engine/combat/moves/special/two_turn.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | PokemonInstruction, FieldInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/special/form_dependent.rs:110:49 [INFO] [stdout] | [INFO] [stdout] 110 | modified_move_data.base_power = ((modified_move_data.base_power as f32 * power_multiplier) as u16); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 110 - modified_move_data.base_power = ((modified_move_data.base_power as f32 * power_multiplier) as u16); [INFO] [stdout] 110 + modified_move_data.base_power = (modified_move_data.base_power as f32 * power_multiplier) as u16; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MoveCategory` and `Pokemon` [INFO] [stdout] --> src/engine/combat/moves/special/complex.rs:6:33 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::core::battle_state::{Pokemon, MoveCategory}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SideCondition`, `Terrain`, and `Weather` [INFO] [stdout] --> src/engine/combat/moves/special/complex.rs:8:70 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::core::instructions::{PokemonStatus, VolatileStatus, Stat, Weather, SideCondition, Terrain}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::combat::type_effectiveness::TypeChart` [INFO] [stdout] --> src/engine/combat/moves/special/complex.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::engine::combat::type_effectiveness::TypeChart; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MoveCategory` and `Pokemon` [INFO] [stdout] --> src/engine/combat/moves/special/substitute.rs:5:33 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::core::battle_state::{Pokemon, MoveCategory}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PokemonStatus`, `SideCondition`, `Stat`, `Terrain`, and `Weather` [INFO] [stdout] --> src/engine/combat/moves/special/substitute.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::core::instructions::{PokemonStatus, VolatileStatus, Stat, Weather, SideCondition, Terrain}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^ ^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `FieldInstruction` and `StatsInstruction` [INFO] [stdout] --> src/engine/combat/moves/special/substitute.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | FieldInstruction, StatsInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SideReference` [INFO] [stdout] --> src/engine/combat/moves/special/substitute.rs:12:50 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::core::battle_format::{BattlePosition, SideReference}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::combat::type_effectiveness::TypeChart` [INFO] [stdout] --> src/engine/combat/moves/special/substitute.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::engine::combat::type_effectiveness::TypeChart; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::PokemonType` [INFO] [stdout] --> src/engine/combat/moves/special/substitute.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::types::PokemonType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/combat/moves/special/substitute.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleInstruction` and `PokemonInstruction` [INFO] [stdout] --> src/engine/combat/moves/special/type_changing.rs:8:53 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::core::instructions::{BattleInstructions, BattleInstruction, PokemonInstruction}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Stat` [INFO] [stdout] --> src/engine/combat/moves/special/utility.rs:6:64 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::core::instructions::{PokemonStatus, VolatileStatus, Stat}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/engine/combat/moves/mod.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | pub use field::weather_accuracy::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the name `apply_blizzard` in the value namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 153 | pub use secondary_effects::*; [INFO] [stdout] | -------------------- but the name `apply_blizzard` in the value namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: ambiguous glob re-exports [INFO] [stdout] --> src/engine/combat/moves/mod.rs:139:9 [INFO] [stdout] | [INFO] [stdout] 139 | pub use field::weather_accuracy::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the name `apply_thunder` in the value namespace is first re-exported here [INFO] [stdout] ... [INFO] [stdout] 153 | pub use secondary_effects::*; [INFO] [stdout] | -------------------- but the name `apply_thunder` in the value namespace is also re-exported here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/combat/moves/simple.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SideReference` [INFO] [stdout] --> src/engine/combat/moves/simple.rs:7:50 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::core::battle_format::{BattlePosition, SideReference}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MoveCategory` and `Pokemon` [INFO] [stdout] --> src/engine/combat/moves/simple.rs:8:46 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::core::battle_state::{BattleState, MoveCategory, Pokemon}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PokemonStatus`, `StatsInstruction`, `Terrain`, and `Weather` [INFO] [stdout] --> src/engine/combat/moves/simple.rs:10:82 [INFO] [stdout] | [INFO] [stdout] 10 | BattleInstruction, BattleInstructions, FieldInstruction, PokemonInstruction, PokemonStatus, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 11 | SideCondition, Stat, StatusInstruction, StatsInstruction, Terrain, VolatileStatus, Weather, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::combat::type_effectiveness::TypeChart` [INFO] [stdout] --> src/engine/combat/moves/simple.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::engine::combat::type_effectiveness::TypeChart; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::PokemonType` [INFO] [stdout] --> src/engine/combat/moves/simple.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::types::PokemonType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DamageRolls`, `calculate_damage_with_positions`, and `critical_hit_probability` [INFO] [stdout] --> src/engine/combat/moves/special_combat.rs:14:37 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::engine::combat::damage::{calculate_damage_with_positions, DamageRolls, critical_hit_probability}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BattleInstruction` [INFO] [stdout] --> src/engine/combat/moves/secondary_effects.rs:11:33 [INFO] [stdout] | [INFO] [stdout] 11 | use crate::core::instructions::{BattleInstruction, BattleInstructions, PokemonStatus, Stat, VolatileStatus}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Gender`, `MoveCategory`, `Move`, and `Pokemon` [INFO] [stdout] --> src/engine/combat/moves/registry.rs:8:46 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::core::battle_state::{BattleState, Pokemon, Move, Gender, MoveCategory}; [INFO] [stdout] | ^^^^^^^ ^^^^ ^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `apply_barrage`, `apply_bullet_seed`, `apply_comet_punch`, `apply_double_slap`, `apply_fury_attack`, `apply_pin_missile`, `apply_rock_blast`, `apply_scale_shot`, `apply_spike_cannon`, and `apply_tail_slap` [INFO] [stdout] --> src/engine/combat/moves/registry.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | apply_double_slap, apply_fury_attack, apply_pin_missile, apply_spike_cannon, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 52 | apply_barrage, apply_comet_punch, apply_bullet_seed, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 53 | apply_rock_blast, apply_tail_slap, apply_scale_shot [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `complex` [INFO] [stdout] --> src/engine/combat/moves/registry.rs:65:22 [INFO] [stdout] | [INFO] [stdout] 65 | use super::special::{complex, counter}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DamageRolls` and `calculate_damage_with_positions` [INFO] [stdout] --> src/engine/combat/moves/mod.rs:247:41 [INFO] [stdout] | [INFO] [stdout] 247 | use crate::engine::combat::damage::{calculate_damage_with_positions, critical_hit_probability, DamageRolls}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/engine/combat/moves/mod.rs:381:27 [INFO] [stdout] | [INFO] [stdout] 381 | let normal_hit_prob = (1.0 - crit_chance); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 381 - let normal_hit_prob = (1.0 - crit_chance); [INFO] [stdout] 381 + let normal_hit_prob = 1.0 - crit_chance; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PokemonInstruction` [INFO] [stdout] --> src/engine/combat/moves/mod.rs:552:56 [INFO] [stdout] | [INFO] [stdout] 552 | use crate::core::instructions::{BattleInstruction, PokemonInstruction, StatsInstruction, StatusInstruction, Stat, PokemonStatus}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/engine/combat/type_effectiveness.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TypeId` [INFO] [stdout] --> src/engine/combat/type_effectiveness.rs:9:41 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::types::identifiers::{MoveId, TypeId}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `EffectType`, `get_effect_type_for_status_instruction`, and `should_block_effect` [INFO] [stdout] --> src/engine/combat/composers/damage_moves.rs:18:29 [INFO] [stdout] | [INFO] [stdout] 18 | substitute_protection::{EffectType, should_block_effect, get_effect_type_for_status_instruction}, [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StatusInstruction` and `VolatileStatus` [INFO] [stdout] --> src/engine/combat/composers/damage_moves.rs:21:33 [INFO] [stdout] | [INFO] [stdout] 21 | use crate::core::instructions::{StatusInstruction, VolatileStatus}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::data::showdown_types::MoveData` [INFO] [stdout] --> src/engine/combat/composers/status_moves.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::data::showdown_types::MoveData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `apply_multiple_status_effects` [INFO] [stdout] --> src/engine/combat/composers/status_moves.rs:11:24 [INFO] [stdout] | [INFO] [stdout] 11 | StatusApplication, apply_multiple_status_effects, simple_status_move, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MoveCategory` [INFO] [stdout] --> src/engine/combat/core/damage_system.rs:9:72 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::core::instructions::{BattleInstruction, PokemonInstruction, MoveCategory, Stat}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DamageContext` [INFO] [stdout] --> src/engine/combat/core/damage_system.rs:12:45 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::engine::combat::damage_context::{DamageContext, DamageResult}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/engine/combat/core/damage_system.rs:325:9 [INFO] [stdout] | [INFO] [stdout] 325 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::PokemonType` [INFO] [stdout] --> src/engine/combat/core/damage_system.rs:367:9 [INFO] [stdout] | [INFO] [stdout] 367 | use crate::types::PokemonType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::str::FromStr` [INFO] [stdout] --> src/engine/combat/core/damage_system.rs:368:9 [INFO] [stdout] | [INFO] [stdout] 368 | use std::str::FromStr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::data::showdown_types::MoveData` [INFO] [stdout] --> src/engine/combat/core/status_system.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::data::showdown_types::MoveData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StatusInstruction` [INFO] [stdout] --> src/engine/combat/core/contact_effects.rs:9:87 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::core::instructions::{BattleInstruction, PokemonInstruction, PokemonStatus, StatusInstruction, StatsInstruction, Stat}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MoveCategory` [INFO] [stdout] --> src/engine/combat/core/move_prevention.rs:423:46 [INFO] [stdout] | [INFO] [stdout] 423 | use crate::core::battle_state::{Pokemon, MoveCategory}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::instructions::Stat` [INFO] [stdout] --> src/engine/combat/core/move_prevention.rs:424:9 [INFO] [stdout] | [INFO] [stdout] 424 | use crate::core::instructions::Stat; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattlePosition` and `SideReference` [INFO] [stdout] --> src/engine/combat/core/end_of_turn.rs:12:34 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::core::battle_format::{BattlePosition, SideReference}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/combat/core/end_of_turn.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleInstructions` and `VolatileStatus` [INFO] [stdout] --> src/engine/combat/core/ability_triggers.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | BattleInstruction, BattleInstructions, PokemonInstruction, StatusInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 10 | StatsInstruction, PokemonStatus, VolatileStatus, Stat [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::battle_state::Pokemon` [INFO] [stdout] --> src/engine/mechanics/abilities.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::core::battle_state::Pokemon; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::engine::combat::damage_context::DamageContext` [INFO] [stdout] --> src/engine/mechanics/abilities.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::engine::combat::damage_context::DamageContext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::battle_format::BattlePosition` [INFO] [stdout] --> src/engine/mechanics/abilities.rs:544:9 [INFO] [stdout] | [INFO] [stdout] 544 | use crate::core::battle_format::BattlePosition; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `StatBoosts` [INFO] [stdout] --> src/engine/mechanics/items/choice_items.rs:6:27 [INFO] [stdout] | [INFO] [stdout] 6 | use super::{ItemModifier, StatBoosts}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/mechanics/items/stat_boosting_items.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PokemonStatus`, `Stat`, `StatsInstruction`, and `StatusInstruction` [INFO] [stdout] --> src/engine/mechanics/items/stat_boosting_items.rs:11:64 [INFO] [stdout] | [INFO] [stdout] 11 | BattleInstruction, BattleInstructions, PokemonInstruction, PokemonStatus, Stat, [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^ [INFO] [stdout] 12 | StatusInstruction, StatsInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PokemonRepository` [INFO] [stdout] --> src/engine/mechanics/items/stat_boosting_items.rs:14:53 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::data::repositories::{GameDataRepository, PokemonRepository}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PokemonStatus` and `StatusInstruction` [INFO] [stdout] --> src/engine/mechanics/items/utility_items.rs:11:64 [INFO] [stdout] | [INFO] [stdout] 11 | BattleInstruction, BattleInstructions, PokemonInstruction, PokemonStatus, Stat, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 12 | StatusInstruction, StatsInstruction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `GenerationMechanics` [INFO] [stdout] --> src/engine/mechanics/items/mod.rs:24:25 [INFO] [stdout] | [INFO] [stdout] 24 | use crate::generation::{GenerationMechanics, GenerationBattleMechanics}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PokemonStatus` and `Stat` [INFO] [stdout] --> src/engine/mechanics/items/mod.rs:27:33 [INFO] [stdout] | [INFO] [stdout] 27 | use crate::core::instructions::{Stat, PokemonStatus}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleInstruction`, `PokemonInstruction`, `StatsInstruction`, and `StatusInstruction` [INFO] [stdout] --> src/engine/mechanics/items/mod.rs:28:33 [INFO] [stdout] | [INFO] [stdout] 28 | use crate::core::instructions::{BattleInstruction, BattleInstructions, StatusInstruction, PokemonInstruction, StatsInstruction}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/mechanics/items/mod.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/engine/turn.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `PokemonStatus` and `Weather` [INFO] [stdout] --> src/engine/turn.rs:38:37 [INFO] [stdout] | [INFO] [stdout] 38 | use crate::core::instructions::{PokemonStatus, Weather}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleInstruction` and `PokemonInstruction` [INFO] [stdout] --> src/engine/turn.rs:39:37 [INFO] [stdout] | [INFO] [stdout] 39 | use crate::core::instructions::{BattleInstruction, BattleInstructions, PokemonInstruction}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::core::battle_format::BattlePosition` [INFO] [stdout] --> src/engine/turn.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | use crate::core::battle_format::BattlePosition; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::generation::GenerationMechanics` [INFO] [stdout] --> src/engine/turn.rs:1032:9 [INFO] [stdout] | [INFO] [stdout] 1032 | use crate::generation::GenerationMechanics; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MoveCategory` [INFO] [stdout] --> src/data/generation_loader.rs:6:39 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::core::battle_state::{Move, MoveCategory}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::utils::target_from_string` [INFO] [stdout] --> src/data/generation_loader.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::utils::target_from_string; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TypeId` [INFO] [stdout] --> src/data/showdown_types.rs:6:31 [INFO] [stdout] | [INFO] [stdout] 6 | use crate::types::{AbilityId, TypeId, PokemonType}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DataError` [INFO] [stdout] --> src/simulator.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::types::errors::{BattleError, DataError, SimulatorError}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> src/core/battle_state/pokemon.rs:261:9 [INFO] [stdout] | [INFO] [stdout] 261 | position: BattlePosition, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `side_index` [INFO] [stdout] --> src/core/battle_state/mod.rs:1168:46 [INFO] [stdout] | [INFO] [stdout] 1168 | fn format_side(&self, side: &BattleSide, side_index: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_side_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/engine/combat/damage/generations/gen2.rs:18:38 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn critical_hit_probability_gen2(attacker: &Pokemon, move_data: &MoveData) -> f32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/engine/combat/damage/critical.rs:167:38 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn critical_hit_probability_gen2(attacker: &Pokemon, move_data: &MoveData) -> f32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/combat/damage/utils.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | generation: crate::generation::Generation, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_data` [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 159 | move_data: &MoveData, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | generation: &GenerationMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `duration` [INFO] [stdout] --> src/engine/combat/moves/field/advanced_hazards.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 45 | if let Some(duration) = user_side.side_conditions.get(&condition) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_position` [INFO] [stdout] --> src/engine/combat/moves/field/hazard_removal.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | user_position: BattlePosition, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `branch_on_damage` [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | branch_on_damage: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch_on_damage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `branch_on_damage` [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | branch_on_damage: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch_on_damage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:1548:46 [INFO] [stdout] | [INFO] [stdout] 1548 | pub fn is_immune_to_poison(target: &Pokemon, generation: &GenerationMechanics) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_data` [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:1583:5 [INFO] [stdout] | [INFO] [stdout] 1583 | move_data: &MoveData, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `damage` [INFO] [stdout] --> src/engine/combat/moves/special/two_turn.rs:419:9 [INFO] [stdout] | [INFO] [stdout] 419 | let damage = calculate_damage_with_positions( [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_damage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/combat/moves/special/two_turn.rs:396:5 [INFO] [stdout] | [INFO] [stdout] 396 | generation: &GenerationMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `branch_on_damage` [INFO] [stdout] --> src/engine/combat/moves/special/two_turn.rs:397:5 [INFO] [stdout] | [INFO] [stdout] 397 | branch_on_damage: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch_on_damage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_position` [INFO] [stdout] --> src/engine/combat/moves/special/utility.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | user_position: BattlePosition, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `normal_non_kill_rolls` is assigned to, but never used [INFO] [stdout] --> src/engine/combat/moves/mod.rs:382:13 [INFO] [stdout] | [INFO] [stdout] 382 | let mut normal_non_kill_rolls = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_normal_non_kill_rolls` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `normal_kill_rolls` is assigned to, but never used [INFO] [stdout] --> src/engine/combat/moves/mod.rs:383:13 [INFO] [stdout] | [INFO] [stdout] 383 | let mut normal_kill_rolls = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_normal_kill_rolls` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/engine/combat/moves/mod.rs:545:5 [INFO] [stdout] | [INFO] [stdout] 545 | state: &BattleState, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_position` [INFO] [stdout] --> src/engine/combat/moves/mod.rs:547:5 [INFO] [stdout] | [INFO] [stdout] 547 | user_position: BattlePosition, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/combat/moves/mod.rs:637:5 [INFO] [stdout] | [INFO] [stdout] 637 | generation: &GenerationMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/combat/composers/damage_moves.rs:534:9 [INFO] [stdout] | [INFO] [stdout] 534 | let mut instructions = Vec::new(); [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/engine/combat/composers/damage_moves.rs:566:13 [INFO] [stdout] | [INFO] [stdout] 566 | let mut context = DamageCalculationContext::new( [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/engine/combat/composers/status_moves.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | source: Option, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/engine/combat/composers/status_moves.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | source: Option, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/engine/combat/composers/status_moves.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | source: Option, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/engine/combat/composers/status_moves.rs:270:5 [INFO] [stdout] | [INFO] [stdout] 270 | source: BattlePosition, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> src/engine/combat/core/status_system.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | status: &PokemonStatus, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user` [INFO] [stdout] --> src/engine/combat/core/contact_effects.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let user = state.get_pokemon_at_position(user_position); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_user` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/engine/combat/core/contact_effects.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let target = state.get_pokemon_at_position(target_position); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/engine/combat/core/contact_effects.rs:318:5 [INFO] [stdout] | [INFO] [stdout] 318 | state: &BattleState, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/engine/combat/core/contact_effects.rs:341:5 [INFO] [stdout] | [INFO] [stdout] 341 | state: &BattleState, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/engine/combat/core/field_system.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | state: &BattleState, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/engine/combat/core/field_system.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | state: &BattleState, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/engine/combat/core/substitute_protection.rs:72:46 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn get_effect_type_for_stats_instruction(instruction: &StatsInstruction) -> EffectType { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/engine/mechanics/abilities.rs:472:21 [INFO] [stdout] | [INFO] [stdout] 472 | fn apply_skill_link(context: AbilityContext) -> AbilityEffectResult { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/engine/mechanics/abilities.rs:651:20 [INFO] [stdout] | [INFO] [stdout] 651 | fn apply_normalize(context: AbilityContext) -> AbilityEffectResult { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_type` [INFO] [stdout] --> src/engine/mechanics/abilities.rs:657:47 [INFO] [stdout] | [INFO] [stdout] 657 | fn apply_type_change(context: AbilityContext, target_type: &str, power_multiplier: f32) -> AbilityEffectResult { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_id` [INFO] [stdout] --> src/engine/mechanics/items/stat_boosting_items.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | move_id: &MoveId, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/items/stat_boosting_items.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | generation: &dyn GenerationBattleMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_category` [INFO] [stdout] --> src/engine/mechanics/items/stat_boosting_items.rs:210:24 [INFO] [stdout] | [INFO] [stdout] 210 | fn assault_vest_effect(move_category: MoveCategory) -> ItemModifier { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_category` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_id` [INFO] [stdout] --> src/engine/mechanics/items/berry_items.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | move_id: &MoveId, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_category` [INFO] [stdout] --> src/engine/mechanics/items/berry_items.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | move_category: MoveCategory, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_category` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/engine/mechanics/items/utility_items.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | attacker: &Pokemon, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_type_id` [INFO] [stdout] --> src/engine/mechanics/items/utility_items.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | move_type_id: &TypeId, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_type_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_category` [INFO] [stdout] --> src/engine/mechanics/items/utility_items.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | move_category: MoveCategory, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_category` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/engine/mechanics/items/species_items.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | context: &DamageContext, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/items/mod.rs:463:82 [INFO] [stdout] | [INFO] [stdout] 463 | pub fn apply_expert_belt_boost(context: &DamageContext, type_effectiveness: f32, generation: u8) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 359 | generation: &GenerationMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:447:5 [INFO] [stdout] | [INFO] [stdout] 447 | generation: &GenerationMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:788:25 [INFO] [stdout] | [INFO] [stdout] 787 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ----------------------------------------------------------- matches all the relevant values [INFO] [stdout] 788 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:789:25 [INFO] [stdout] | [INFO] [stdout] 787 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ----------------------------------------------------------- matches all the relevant values [INFO] [stdout] 788 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] 789 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:790:25 [INFO] [stdout] | [INFO] [stdout] 787 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ----------------------------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 790 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:791:25 [INFO] [stdout] | [INFO] [stdout] 787 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ----------------------------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 791 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:717:5 [INFO] [stdout] | [INFO] [stdout] 717 | generation: &GenerationMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:877:5 [INFO] [stdout] | [INFO] [stdout] 877 | generation: &GenerationMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:1005:5 [INFO] [stdout] | [INFO] [stdout] 1005 | state: &BattleState, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:1064:47 [INFO] [stdout] | [INFO] [stdout] 1064 | fn is_immune_to_intimidate(pokemon: &Pokemon, generation: &GenerationMechanics) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:1074:40 [INFO] [stdout] | [INFO] [stdout] 1074 | fn is_ability_traceable(ability: &str, generation: &GenerationMechanics) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/turn.rs:1149:33 [INFO] [stdout] | [INFO] [stdout] 1149 | fn create_generation_repository(generation: &crate::generation::GenerationMechanics) -> crate::types::BattleResult src/core/battle_state/pokemon.rs:261:9 [INFO] [stdout] | [INFO] [stdout] 261 | position: BattlePosition, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `side_index` [INFO] [stdout] --> src/core/battle_state/mod.rs:1168:46 [INFO] [stdout] | [INFO] [stdout] 1168 | fn format_side(&self, side: &BattleSide, side_index: usize) -> String { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_side_index` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/config.rs:128:23 [INFO] [stdout] | [INFO] [stdout] 128 | .map_err(|e| ConfigError::FileNotFound { path: path.to_path_buf() })?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/config.rs:138:23 [INFO] [stdout] | [INFO] [stdout] 138 | .map_err(|e| ConfigError::FileNotFound { path: path.as_ref().to_path_buf() })?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/simulator.rs:391:31 [INFO] [stdout] | [INFO] [stdout] 391 | fn choose_move(&mut self, state: &BattleState, valid_moves: &[usize]) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/builders/battle.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | let mut state = battle.state; [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/builders/team.rs:98:20 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn pokemon(mut self, species: impl Into) -> TeamPokemonContext<'a> { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/builders/team.rs:264:28 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn validate(&self, data: &GameDataRepository) -> Result<(), BuilderError> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/builders/team.rs:370:13 [INFO] [stdout] | [INFO] [stdout] 370 | let mut team_builder = self.finish(); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_tera_type` is never used [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:1447:4 [INFO] [stdout] | [INFO] [stdout] 1447 | fn convert_tera_type(tera: crate::core::move_choice::PokemonType) -> PokemonType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_attack_instructions` is never used [INFO] [stdout] --> src/engine/turn.rs:233:4 [INFO] [stdout] | [INFO] [stdout] 233 | fn generate_attack_instructions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_damage_instructions` is never used [INFO] [stdout] --> src/engine/turn.rs:320:4 [INFO] [stdout] | [INFO] [stdout] 320 | fn generate_damage_instructions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combine_move_instructions` is never used [INFO] [stdout] --> src/engine/turn.rs:505:4 [INFO] [stdout] | [INFO] [stdout] 505 | fn combine_move_instructions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `determine_move_order` is never used [INFO] [stdout] --> src/engine/turn.rs:646:4 [INFO] [stdout] | [INFO] [stdout] 646 | fn determine_move_order<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/engine/combat/damage/generations/gen2.rs:18:38 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn critical_hit_probability_gen2(attacker: &Pokemon, move_data: &MoveData) -> f32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/engine/combat/damage/critical.rs:167:38 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn critical_hit_probability_gen2(attacker: &Pokemon, move_data: &MoveData) -> f32 { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/combat/damage/utils.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | generation: crate::generation::Generation, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_data` [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:159:5 [INFO] [stdout] | [INFO] [stdout] 159 | move_data: &MoveData, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/combat/moves/status/stat_modifying.rs:162:5 [INFO] [stdout] | [INFO] [stdout] 162 | generation: &GenerationMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `duration` [INFO] [stdout] --> src/engine/combat/moves/field/advanced_hazards.rs:45:21 [INFO] [stdout] | [INFO] [stdout] 45 | if let Some(duration) = user_side.side_conditions.get(&condition) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_position` [INFO] [stdout] --> src/engine/combat/moves/field/hazard_removal.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | user_position: BattlePosition, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `branch_on_damage` [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | branch_on_damage: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch_on_damage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `branch_on_damage` [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 88 | branch_on_damage: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch_on_damage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:1548:46 [INFO] [stdout] | [INFO] [stdout] 1548 | pub fn is_immune_to_poison(target: &Pokemon, generation: &GenerationMechanics) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_data` [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:1583:5 [INFO] [stdout] | [INFO] [stdout] 1583 | move_data: &MoveData, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `damage` [INFO] [stdout] --> src/engine/combat/moves/special/two_turn.rs:419:9 [INFO] [stdout] | [INFO] [stdout] 419 | let damage = calculate_damage_with_positions( [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_damage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/combat/moves/special/two_turn.rs:396:5 [INFO] [stdout] | [INFO] [stdout] 396 | generation: &GenerationMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `branch_on_damage` [INFO] [stdout] --> src/engine/combat/moves/special/two_turn.rs:397:5 [INFO] [stdout] | [INFO] [stdout] 397 | branch_on_damage: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_branch_on_damage` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_position` [INFO] [stdout] --> src/engine/combat/moves/special/utility.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | user_position: BattlePosition, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `normal_non_kill_rolls` is assigned to, but never used [INFO] [stdout] --> src/engine/combat/moves/mod.rs:382:13 [INFO] [stdout] | [INFO] [stdout] 382 | let mut normal_non_kill_rolls = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_normal_non_kill_rolls` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `normal_kill_rolls` is assigned to, but never used [INFO] [stdout] --> src/engine/combat/moves/mod.rs:383:13 [INFO] [stdout] | [INFO] [stdout] 383 | let mut normal_kill_rolls = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_normal_kill_rolls` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/engine/combat/moves/mod.rs:545:5 [INFO] [stdout] | [INFO] [stdout] 545 | state: &BattleState, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user_position` [INFO] [stdout] --> src/engine/combat/moves/mod.rs:547:5 [INFO] [stdout] | [INFO] [stdout] 547 | user_position: BattlePosition, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_user_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/combat/moves/mod.rs:637:5 [INFO] [stdout] | [INFO] [stdout] 637 | generation: &GenerationMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/engine/combat/composers/damage_moves.rs:534:9 [INFO] [stdout] | [INFO] [stdout] 534 | let mut instructions = Vec::new(); [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/engine/combat/composers/damage_moves.rs:566:13 [INFO] [stdout] | [INFO] [stdout] 566 | let mut context = DamageCalculationContext::new( [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/engine/combat/composers/status_moves.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | source: Option, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/engine/combat/composers/status_moves.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | source: Option, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/engine/combat/composers/status_moves.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | source: Option, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `source` [INFO] [stdout] --> src/engine/combat/composers/status_moves.rs:270:5 [INFO] [stdout] | [INFO] [stdout] 270 | source: BattlePosition, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `status` [INFO] [stdout] --> src/engine/combat/core/status_system.rs:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | status: &PokemonStatus, [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `user` [INFO] [stdout] --> src/engine/combat/core/contact_effects.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | let user = state.get_pokemon_at_position(user_position); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_user` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target` [INFO] [stdout] --> src/engine/combat/core/contact_effects.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let target = state.get_pokemon_at_position(target_position); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/engine/combat/core/contact_effects.rs:318:5 [INFO] [stdout] | [INFO] [stdout] 318 | state: &BattleState, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/engine/combat/core/contact_effects.rs:341:5 [INFO] [stdout] | [INFO] [stdout] 341 | state: &BattleState, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/engine/combat/core/field_system.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | state: &BattleState, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/engine/combat/core/field_system.rs:106:5 [INFO] [stdout] | [INFO] [stdout] 106 | state: &BattleState, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/engine/combat/core/substitute_protection.rs:72:46 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn get_effect_type_for_stats_instruction(instruction: &StatsInstruction) -> EffectType { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/engine/mechanics/abilities.rs:472:21 [INFO] [stdout] | [INFO] [stdout] 472 | fn apply_skill_link(context: AbilityContext) -> AbilityEffectResult { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/engine/mechanics/abilities.rs:651:20 [INFO] [stdout] | [INFO] [stdout] 651 | fn apply_normalize(context: AbilityContext) -> AbilityEffectResult { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `target_type` [INFO] [stdout] --> src/engine/mechanics/abilities.rs:657:47 [INFO] [stdout] | [INFO] [stdout] 657 | fn apply_type_change(context: AbilityContext, target_type: &str, power_multiplier: f32) -> AbilityEffectResult { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_id` [INFO] [stdout] --> src/engine/mechanics/items/stat_boosting_items.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 29 | move_id: &MoveId, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/items/stat_boosting_items.rs:95:5 [INFO] [stdout] | [INFO] [stdout] 95 | generation: &dyn GenerationBattleMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_category` [INFO] [stdout] --> src/engine/mechanics/items/stat_boosting_items.rs:210:24 [INFO] [stdout] | [INFO] [stdout] 210 | fn assault_vest_effect(move_category: MoveCategory) -> ItemModifier { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_category` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_id` [INFO] [stdout] --> src/engine/mechanics/items/berry_items.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | move_id: &MoveId, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_category` [INFO] [stdout] --> src/engine/mechanics/items/berry_items.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | move_category: MoveCategory, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_category` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `attacker` [INFO] [stdout] --> src/engine/mechanics/items/utility_items.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 24 | attacker: &Pokemon, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attacker` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_type_id` [INFO] [stdout] --> src/engine/mechanics/items/utility_items.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | move_type_id: &TypeId, [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_type_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `move_category` [INFO] [stdout] --> src/engine/mechanics/items/utility_items.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | move_category: MoveCategory, [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_category` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/engine/mechanics/items/species_items.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | context: &DamageContext, [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/items/mod.rs:463:82 [INFO] [stdout] | [INFO] [stdout] 463 | pub fn apply_expert_belt_boost(context: &DamageContext, type_effectiveness: f32, generation: u8) -> f32 { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:359:5 [INFO] [stdout] | [INFO] [stdout] 359 | generation: &GenerationMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:447:5 [INFO] [stdout] | [INFO] [stdout] 447 | generation: &GenerationMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:788:25 [INFO] [stdout] | [INFO] [stdout] 787 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ----------------------------------------------------------- matches all the relevant values [INFO] [stdout] 788 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:789:25 [INFO] [stdout] | [INFO] [stdout] 787 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ----------------------------------------------------------- matches all the relevant values [INFO] [stdout] 788 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] 789 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:790:25 [INFO] [stdout] | [INFO] [stdout] 787 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ----------------------------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 790 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:791:25 [INFO] [stdout] | [INFO] [stdout] 787 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ----------------------------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 791 | crate::core::instructions::VolatileStatus::PartiallyTrapped | [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:717:5 [INFO] [stdout] | [INFO] [stdout] 717 | generation: &GenerationMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:877:5 [INFO] [stdout] | [INFO] [stdout] 877 | generation: &GenerationMechanics, [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:1005:5 [INFO] [stdout] | [INFO] [stdout] 1005 | state: &BattleState, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:1064:47 [INFO] [stdout] | [INFO] [stdout] 1064 | fn is_immune_to_intimidate(pokemon: &Pokemon, generation: &GenerationMechanics) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/mechanics/switch_effects.rs:1074:40 [INFO] [stdout] | [INFO] [stdout] 1074 | fn is_ability_traceable(ability: &str, generation: &GenerationMechanics) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generation` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generation` [INFO] [stdout] --> src/engine/turn.rs:1149:33 [INFO] [stdout] | [INFO] [stdout] 1149 | fn create_generation_repository(generation: &crate::generation::GenerationMechanics) -> crate::types::BattleResult tests/utils/framework.rs:249:32 [INFO] [stdout] | [INFO] [stdout] 249 | use tapu_simu::types::{MoveId, SpeciesId}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleTest`, `ExpectedOutcome`, `SetupAction`, `TapuTestFramework`, `TeamSpec`, and `TestResult` [INFO] [stdout] --> tests/utils/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | TapuTestFramework, BattleTest, TeamSpec, PokemonSpec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 13 | SetupAction, ExpectedOutcome, TestResult [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TestScenarios` [INFO] [stdout] --> tests/utils/mod.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | TestBuilder, TestScenarios, Positions, StatChanges [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleAssertions` and `convenience` [INFO] [stdout] --> tests/utils/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | BattleAssertions, convenience [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ability_test`, `assert_battle_state`, `assert_damage_range`, `assert_stat_changes`, `damage_test`, and `status_test` [INFO] [stdout] --> tests/utils/mod.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | damage_test, status_test, ability_test, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] 27 | assert_battle_state, assert_damage_range, assert_stat_changes [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> tests/secondary_effects.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattlePosition` and `SideReference` [INFO] [stdout] --> tests/secondary_effects.rs:14:38 [INFO] [stdout] | [INFO] [stdout] 14 | use tapu_simu::core::battle_format::{BattlePosition, SideReference}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleInstruction`, `BattleInstructions`, `PokemonInstruction`, `SideCondition`, `StatusInstruction`, and `Weather` [INFO] [stdout] --> tests/secondary_effects.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | BattleInstruction, BattleInstructions, PokemonInstruction, PokemonStatus, SideCondition, Stat, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] 17 | StatusInstruction, Terrain, VolatileStatus, Weather, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tapu_simu::core::move_choice::MoveChoice` [INFO] [stdout] --> tests/secondary_effects.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use tapu_simu::core::move_choice::MoveChoice; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MoveId` and `SpeciesId` [INFO] [stdout] --> tests/utils/framework.rs:249:32 [INFO] [stdout] | [INFO] [stdout] 249 | use tapu_simu::types::{MoveId, SpeciesId}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleTest`, `ExpectedOutcome`, `SetupAction`, `TapuTestFramework`, `TeamSpec`, and `TestResult` [INFO] [stdout] --> tests/utils/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | TapuTestFramework, BattleTest, TeamSpec, PokemonSpec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 13 | SetupAction, ExpectedOutcome, TestResult [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StatChanges` and `TestScenarios` [INFO] [stdout] --> tests/utils/mod.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | TestBuilder, TestScenarios, Positions, StatChanges [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleAssertions` and `convenience` [INFO] [stdout] --> tests/utils/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | BattleAssertions, convenience [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ability_test`, `assert_battle_state`, `assert_damage_range`, `assert_stat_changes`, `damage_test`, and `status_test` [INFO] [stdout] --> tests/utils/mod.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | damage_test, status_test, ability_test, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] 27 | assert_battle_state, assert_damage_range, assert_stat_changes [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MoveId` and `SpeciesId` [INFO] [stdout] --> tests/utils/framework.rs:249:32 [INFO] [stdout] | [INFO] [stdout] 249 | use tapu_simu::types::{MoveId, SpeciesId}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleTest`, `ExpectedOutcome`, `SetupAction`, `TapuTestFramework`, `TeamSpec`, and `TestResult` [INFO] [stdout] --> tests/utils/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | TapuTestFramework, BattleTest, TeamSpec, PokemonSpec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 13 | SetupAction, ExpectedOutcome, TestResult [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StatChanges` and `TestScenarios` [INFO] [stdout] --> tests/utils/mod.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | TestBuilder, TestScenarios, Positions, StatChanges [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleAssertions` and `convenience` [INFO] [stdout] --> tests/utils/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | BattleAssertions, convenience [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ability_test`, `assert_battle_state`, `assert_damage_range`, `assert_stat_changes`, `damage_test`, and `status_test` [INFO] [stdout] --> tests/utils/mod.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | damage_test, status_test, ability_test, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] 27 | assert_battle_state, assert_damage_range, assert_stat_changes [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattlePosition` and `SideReference` [INFO] [stdout] --> tests/accuracy_miss.rs:19:38 [INFO] [stdout] | [INFO] [stdout] 19 | use tapu_simu::core::battle_format::{BattlePosition, SideReference}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MoveId` and `SpeciesId` [INFO] [stdout] --> tests/utils/framework.rs:249:32 [INFO] [stdout] | [INFO] [stdout] 249 | use tapu_simu::types::{MoveId, SpeciesId}; [INFO] [stdout] | ^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleTest`, `ExpectedOutcome`, `SetupAction`, `TapuTestFramework`, `TeamSpec`, and `TestResult` [INFO] [stdout] --> tests/utils/mod.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | TapuTestFramework, BattleTest, TeamSpec, PokemonSpec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] 13 | SetupAction, ExpectedOutcome, TestResult [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StatChanges` and `TestScenarios` [INFO] [stdout] --> tests/utils/mod.rs:17:18 [INFO] [stdout] | [INFO] [stdout] 17 | TestBuilder, TestScenarios, Positions, StatChanges [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BattleAssertions` and `convenience` [INFO] [stdout] --> tests/utils/mod.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | BattleAssertions, convenience [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ability_test`, `assert_battle_state`, `assert_damage_range`, `assert_stat_changes`, `damage_test`, and `status_test` [INFO] [stdout] --> tests/utils/mod.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | damage_test, status_test, ability_test, [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] 27 | assert_battle_state, assert_damage_range, assert_stat_changes [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Positions` [INFO] [stdout] --> tests/basic_damage.rs:28:26 [INFO] [stdout] | [INFO] [stdout] 28 | use utils::{PokemonSpec, Positions, TestBuilder}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:231:13 [INFO] [stdout] | [INFO] [stdout] 231 | let mut state = BattleState::new_with_teams(format.clone(), team_one, team_two); [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: function `debug_stats` is never used [INFO] [stdout] --> src/main.rs:346:4 [INFO] [stdout] | [INFO] [stdout] 346 | fn debug_stats() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:231:13 [INFO] [stdout] | [INFO] [stdout] 231 | let mut state = BattleState::new_with_teams(format.clone(), team_one, team_two); [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: function `debug_stats` is never used [INFO] [stdout] --> src/main.rs:346:4 [INFO] [stdout] | [INFO] [stdout] 346 | fn debug_stats() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> tests/utils/framework.rs:36:85 [INFO] [stdout] | [INFO] [stdout] 36 | GenerationRepository::load_from_directory("data/ps-extracted").map_err(|e| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> tests/utils/framework.rs:54:85 [INFO] [stdout] | [INFO] [stdout] 54 | GenerationRepository::load_from_directory("data/ps-extracted").map_err(|e| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> tests/utils/framework.rs:84:85 [INFO] [stdout] | [INFO] [stdout] 84 | GenerationRepository::load_from_directory("data/ps-extracted").map_err(|e| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> tests/utils/framework.rs:36:85 [INFO] [stdout] | [INFO] [stdout] 36 | GenerationRepository::load_from_directory("data/ps-extracted").map_err(|e| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> tests/utils/framework.rs:54:85 [INFO] [stdout] | [INFO] [stdout] 54 | GenerationRepository::load_from_directory("data/ps-extracted").map_err(|e| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> tests/utils/framework.rs:84:85 [INFO] [stdout] | [INFO] [stdout] 84 | GenerationRepository::load_from_directory("data/ps-extracted").map_err(|e| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> tests/utils/framework.rs:36:85 [INFO] [stdout] | [INFO] [stdout] 36 | GenerationRepository::load_from_directory("data/ps-extracted").map_err(|e| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> tests/utils/framework.rs:54:85 [INFO] [stdout] | [INFO] [stdout] 54 | GenerationRepository::load_from_directory("data/ps-extracted").map_err(|e| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> tests/utils/framework.rs:84:85 [INFO] [stdout] | [INFO] [stdout] 84 | GenerationRepository::load_from_directory("data/ps-extracted").map_err(|e| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> tests/utils/framework.rs:36:85 [INFO] [stdout] | [INFO] [stdout] 36 | GenerationRepository::load_from_directory("data/ps-extracted").map_err(|e| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> tests/utils/framework.rs:54:85 [INFO] [stdout] | [INFO] [stdout] 54 | GenerationRepository::load_from_directory("data/ps-extracted").map_err(|e| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> tests/utils/framework.rs:84:85 [INFO] [stdout] | [INFO] [stdout] 84 | GenerationRepository::load_from_directory("data/ps-extracted").map_err(|e| { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `repository` is never read [INFO] [stdout] --> tests/utils/framework.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct TapuTestFramework { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 26 | repository: Arc, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_format`, `repository`, and `format` are never used [INFO] [stdout] --> tests/utils/framework.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl TapuTestFramework { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn with_format(format: BattleFormat) -> DataResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn repository(&self) -> &GameDataRepository { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn format(&self) -> &BattleFormat { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `MultiPokemon` is never constructed [INFO] [stdout] --> tests/utils/framework.rs:773:5 [INFO] [stdout] | [INFO] [stdout] 771 | pub enum TeamSpec { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 772 | Pokemon(PokemonSpec), [INFO] [stdout] 773 | MultiPokemon(Vec), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TeamSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `nature` is never read [INFO] [stdout] --> tests/utils/framework.rs:784:9 [INFO] [stdout] | [INFO] [stdout] 778 | pub struct PokemonSpec { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 784 | pub nature: Option<&'static str>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PokemonSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SetWeather`, `ApplyStatus`, `SetHP`, and `AddSideCondition` are never constructed [INFO] [stdout] --> tests/utils/framework.rs:811:5 [INFO] [stdout] | [INFO] [stdout] 810 | pub enum SetupAction { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 811 | SetWeather(Weather), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 812 | SetTerrain(Terrain), [INFO] [stdout] 813 | ApplyStatus(BattlePosition, PokemonStatus), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 814 | ModifyStats(BattlePosition, HashMap), [INFO] [stdout] 815 | SetHP(BattlePosition, u16), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 816 | AddSideCondition(SideReference, SideCondition), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SetupAction` 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 variants are never constructed [INFO] [stdout] --> tests/utils/framework.rs:823:5 [INFO] [stdout] | [INFO] [stdout] 822 | pub enum ExpectedOutcome { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 823 | Damage(BattlePosition, u16), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 826 | WeatherSet(Weather), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 827 | TerrainSet(Terrain), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 828 | SideCondition(SideReference, SideCondition), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 829 | Faint(BattlePosition), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 830 | Switch(BattlePosition, usize), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 831 | NoEffect(BattlePosition), [INFO] [stdout] 832 | Instructions(Vec), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExpectedOutcome` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> tests/utils/framework.rs:840:9 [INFO] [stdout] | [INFO] [stdout] 839 | pub struct BattleTest { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 840 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BattleTest` 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 `is_success` and `failure_message` are never used [INFO] [stdout] --> tests/utils/framework.rs:875:12 [INFO] [stdout] | [INFO] [stdout] 873 | impl TestResult { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 874 | /// Check if the test was successful [INFO] [stdout] 875 | pub fn is_success(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 880 | pub fn failure_message(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> tests/utils/builders.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl TestBuilder { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn new_with_format(name: &str, format: BattleFormat) -> DataResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn team_one_multi(mut self, specs: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn team_two_multi(mut self, specs: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn with_weather(self, weather: Weather) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn with_status(self, position: BattlePosition, status: PokemonStatus) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn with_hp(self, position: BattlePosition, hp: u16) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn with_side_condition(self, side: SideReference, condition: SideCondition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn turn_one_move(self, move_one: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn turn_two_move(self, move_two: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn turn_moves(self, move_one: &str, move_two: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn expect_damage(self, position: BattlePosition, damage: u16) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn expect_weather(self, weather: Weather) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn expect_terrain(self, terrain: Terrain) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn expect_side_condition(self, side: SideReference, condition: SideCondition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn expect_faint(self, position: BattlePosition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn expect_instructions(mut self, instructions: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> tests/utils/builders.rs:291:12 [INFO] [stdout] | [INFO] [stdout] 273 | impl PokemonSpec { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn level(mut self, level: u8) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn move_slot(mut self, move_name: &'static str) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | pub fn nature(mut self, nature: &'static str) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 329 | pub fn evs(mut self, evs: Stats) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 335 | pub fn ev_spread(mut self, hp: u8, atk: u8, def: u8, spa: u8, spd: u8, spe: u8) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 348 | pub fn ivs(mut self, ivs: Stats) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub fn perfect_ivs(mut self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn hp(mut self, hp: u16) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub fn base_stats_all(mut self, stat_value: u8) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 392 | pub fn types(mut self, type1: &'static str, type2: Option<&'static str>) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 404 | pub fn weight(mut self, _weight_kg: f32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | pub fn max_hp(mut self, max_hp: i16) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestScenarios` is never constructed [INFO] [stdout] --> tests/utils/builders.rs:430:12 [INFO] [stdout] | [INFO] [stdout] 430 | pub struct TestScenarios; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `damage_test`, `status_test`, `ability_test`, and `item_test` are never used [INFO] [stdout] --> tests/utils/builders.rs:434:12 [INFO] [stdout] | [INFO] [stdout] 432 | impl TestScenarios { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] 433 | /// Create a basic damage test scenario [INFO] [stdout] 434 | pub fn damage_test( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 451 | pub fn status_test( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 468 | pub fn ability_test( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 481 | pub fn item_test( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `SIDE_ONE_0`, `SIDE_ONE_1`, and `SIDE_TWO_1` are never used [INFO] [stdout] --> tests/utils/builders.rs:532:15 [INFO] [stdout] | [INFO] [stdout] 530 | impl Positions { [INFO] [stdout] | -------------- associated constants in this implementation [INFO] [stdout] 531 | /// Side one, slot 0 (first Pokemon on side one) [INFO] [stdout] 532 | pub const SIDE_ONE_0: BattlePosition = BattlePosition { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 538 | pub const SIDE_ONE_1: BattlePosition = BattlePosition { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 550 | pub const SIDE_TWO_1: BattlePosition = BattlePosition { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `multiple`, `defense_boost`, and `speed_boost` are never used [INFO] [stdout] --> tests/utils/builders.rs:568:12 [INFO] [stdout] | [INFO] [stdout] 559 | impl StatChanges { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 568 | pub fn multiple(changes: &[(Stat, i8)]) -> HashMap { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 578 | pub fn defense_boost(change: i8) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 583 | pub fn speed_boost(change: i8) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BattleAssertions` is never constructed [INFO] [stdout] --> tests/utils/assertions.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct BattleAssertions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> tests/utils/assertions.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl BattleAssertions { [INFO] [stdout] | --------------------- associated functions in this implementation [INFO] [stdout] 15 | /// Assert that a Pokemon took the expected amount of damage [INFO] [stdout] 16 | pub fn assert_damage( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn assert_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn assert_no_status( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn assert_stat_changes( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn assert_stat_change( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn assert_no_stat_changes( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn assert_fainted( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn assert_not_fainted( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn assert_hp( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn assert_weather( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn assert_terrain( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn assert_side_condition( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn assert_side_condition_value( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn assert_instructions_exact( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn assert_contains_instruction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 295 | pub fn assert_not_contains_instruction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 314 | pub fn assert_total_probability( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_attack_damage` is never used [INFO] [stdout] --> tests/utils/assertions.rs:335:12 [INFO] [stdout] | [INFO] [stdout] 335 | pub fn assert_attack_damage( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_attack_status` is never used [INFO] [stdout] --> tests/utils/assertions.rs:344:12 [INFO] [stdout] | [INFO] [stdout] 344 | pub fn assert_attack_status( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_stat_boost` is never used [INFO] [stdout] --> tests/utils/assertions.rs:353:12 [INFO] [stdout] | [INFO] [stdout] 353 | pub fn assert_stat_boost( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_no_effect` is never used [INFO] [stdout] --> tests/utils/assertions.rs:363:12 [INFO] [stdout] | [INFO] [stdout] 363 | pub fn assert_no_effect( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_immunity` is never used [INFO] [stdout] --> tests/utils/assertions.rs:389:12 [INFO] [stdout] | [INFO] [stdout] 389 | pub fn assert_immunity( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_critical_hit` is never used [INFO] [stdout] --> tests/utils/assertions.rs:398:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub fn assert_critical_hit( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `repository` is never read [INFO] [stdout] --> tests/utils/framework.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct TapuTestFramework { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 26 | repository: Arc, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_generation`, `with_format`, `repository`, and `format` are never used [INFO] [stdout] --> tests/utils/framework.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl TapuTestFramework { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn with_generation(gen: Generation) -> DataResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn with_format(format: BattleFormat) -> DataResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn repository(&self) -> &GameDataRepository { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn format(&self) -> &BattleFormat { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `MultiPokemon` is never constructed [INFO] [stdout] --> tests/utils/framework.rs:773:5 [INFO] [stdout] | [INFO] [stdout] 771 | pub enum TeamSpec { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 772 | Pokemon(PokemonSpec), [INFO] [stdout] 773 | MultiPokemon(Vec), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TeamSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `nature` is never read [INFO] [stdout] --> tests/utils/framework.rs:784:9 [INFO] [stdout] | [INFO] [stdout] 778 | pub struct PokemonSpec { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 784 | pub nature: Option<&'static str>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PokemonSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ApplyStatus`, `SetHP`, and `AddSideCondition` are never constructed [INFO] [stdout] --> tests/utils/framework.rs:813:5 [INFO] [stdout] | [INFO] [stdout] 810 | pub enum SetupAction { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 813 | ApplyStatus(BattlePosition, PokemonStatus), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 814 | ModifyStats(BattlePosition, HashMap), [INFO] [stdout] 815 | SetHP(BattlePosition, u16), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 816 | AddSideCondition(SideReference, SideCondition), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SetupAction` 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 variants are never constructed [INFO] [stdout] --> tests/utils/framework.rs:823:5 [INFO] [stdout] | [INFO] [stdout] 822 | pub enum ExpectedOutcome { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 823 | Damage(BattlePosition, u16), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 824 | Status(BattlePosition, PokemonStatus), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 825 | StatChange(BattlePosition, Stat, i8), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 826 | WeatherSet(Weather), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 827 | TerrainSet(Terrain), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 828 | SideCondition(SideReference, SideCondition), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 829 | Faint(BattlePosition), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 830 | Switch(BattlePosition, usize), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 831 | NoEffect(BattlePosition), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 832 | Instructions(Vec), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 833 | SubstituteHealth(BattlePosition, i16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 834 | VolatileStatus(BattlePosition, VolatileStatus), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExpectedOutcome` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> tests/utils/framework.rs:840:9 [INFO] [stdout] | [INFO] [stdout] 839 | pub struct BattleTest { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 840 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BattleTest` 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 `is_success` and `failure_message` are never used [INFO] [stdout] --> tests/utils/framework.rs:875:12 [INFO] [stdout] | [INFO] [stdout] 873 | impl TestResult { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 874 | /// Check if the test was successful [INFO] [stdout] 875 | pub fn is_success(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 880 | pub fn failure_message(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> tests/utils/builders.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl TestBuilder { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn new_with_generation(name: &str, gen: Generation) -> DataResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn new_with_format(name: &str, format: BattleFormat) -> DataResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn team_one_multi(mut self, specs: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn team_two_multi(mut self, specs: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn with_status(self, position: BattlePosition, status: PokemonStatus) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn with_hp(self, position: BattlePosition, hp: u16) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn with_side_condition(self, side: SideReference, condition: SideCondition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn turn_two_move(self, move_two: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn turn_moves(self, move_one: &str, move_two: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn expect(mut self, outcome: ExpectedOutcome) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn expect_damage(self, position: BattlePosition, damage: u16) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn expect_status(self, position: BattlePosition, status: PokemonStatus) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn expect_stat_change(self, position: BattlePosition, stat: Stat, change: i8) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn expect_weather(self, weather: Weather) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn expect_terrain(self, terrain: Terrain) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn expect_side_condition(self, side: SideReference, condition: SideCondition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn expect_faint(self, position: BattlePosition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn expect_no_effect(self, position: BattlePosition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn expect_substitute_health(self, position: BattlePosition, health: i16) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn expect_volatile_status(self, position: BattlePosition, status: VolatileStatus) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | pub fn branch_on_damage(mut self, branch: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> tests/utils/builders.rs:315:12 [INFO] [stdout] | [INFO] [stdout] 273 | impl PokemonSpec { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn move_slot(mut self, move_name: &'static str) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | pub fn nature(mut self, nature: &'static str) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 329 | pub fn evs(mut self, evs: Stats) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 335 | pub fn ev_spread(mut self, hp: u8, atk: u8, def: u8, spa: u8, spd: u8, spe: u8) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 348 | pub fn ivs(mut self, ivs: Stats) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub fn perfect_ivs(mut self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub fn base_stats_all(mut self, stat_value: u8) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 392 | pub fn types(mut self, type1: &'static str, type2: Option<&'static str>) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 404 | pub fn weight(mut self, _weight_kg: f32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | pub fn max_hp(mut self, max_hp: i16) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestScenarios` is never constructed [INFO] [stdout] --> tests/utils/builders.rs:430:12 [INFO] [stdout] | [INFO] [stdout] 430 | pub struct TestScenarios; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `damage_test`, `status_test`, `ability_test`, and `item_test` are never used [INFO] [stdout] --> tests/utils/builders.rs:434:12 [INFO] [stdout] | [INFO] [stdout] 432 | impl TestScenarios { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] 433 | /// Create a basic damage test scenario [INFO] [stdout] 434 | pub fn damage_test( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 451 | pub fn status_test( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 468 | pub fn ability_test( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 481 | pub fn item_test( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `SIDE_ONE_1` and `SIDE_TWO_1` are never used [INFO] [stdout] --> tests/utils/builders.rs:538:15 [INFO] [stdout] | [INFO] [stdout] 530 | impl Positions { [INFO] [stdout] | -------------- associated constants in this implementation [INFO] [stdout] ... [INFO] [stdout] 538 | pub const SIDE_ONE_1: BattlePosition = BattlePosition { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 550 | pub const SIDE_TWO_1: BattlePosition = BattlePosition { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatChanges` is never constructed [INFO] [stdout] --> tests/utils/builders.rs:557:12 [INFO] [stdout] | [INFO] [stdout] 557 | pub struct StatChanges; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `single`, `multiple`, `attack_boost`, `defense_boost`, and `speed_boost` are never used [INFO] [stdout] --> tests/utils/builders.rs:561:12 [INFO] [stdout] | [INFO] [stdout] 559 | impl StatChanges { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 560 | /// Create a single stat change [INFO] [stdout] 561 | pub fn single(stat: Stat, change: i8) -> HashMap { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 568 | pub fn multiple(changes: &[(Stat, i8)]) -> HashMap { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 573 | pub fn attack_boost(change: i8) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 578 | pub fn defense_boost(change: i8) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 583 | pub fn speed_boost(change: i8) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BattleAssertions` is never constructed [INFO] [stdout] --> tests/utils/assertions.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct BattleAssertions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> tests/utils/assertions.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl BattleAssertions { [INFO] [stdout] | --------------------- associated functions in this implementation [INFO] [stdout] 15 | /// Assert that a Pokemon took the expected amount of damage [INFO] [stdout] 16 | pub fn assert_damage( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn assert_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn assert_no_status( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn assert_stat_changes( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn assert_stat_change( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn assert_no_stat_changes( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn assert_fainted( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn assert_not_fainted( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn assert_hp( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn assert_weather( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn assert_terrain( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn assert_side_condition( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn assert_side_condition_value( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn assert_instructions_exact( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn assert_contains_instruction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 295 | pub fn assert_not_contains_instruction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 314 | pub fn assert_total_probability( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_attack_damage` is never used [INFO] [stdout] --> tests/utils/assertions.rs:335:12 [INFO] [stdout] | [INFO] [stdout] 335 | pub fn assert_attack_damage( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_attack_status` is never used [INFO] [stdout] --> tests/utils/assertions.rs:344:12 [INFO] [stdout] | [INFO] [stdout] 344 | pub fn assert_attack_status( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_stat_boost` is never used [INFO] [stdout] --> tests/utils/assertions.rs:353:12 [INFO] [stdout] | [INFO] [stdout] 353 | pub fn assert_stat_boost( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_no_effect` is never used [INFO] [stdout] --> tests/utils/assertions.rs:363:12 [INFO] [stdout] | [INFO] [stdout] 363 | pub fn assert_no_effect( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_immunity` is never used [INFO] [stdout] --> tests/utils/assertions.rs:389:12 [INFO] [stdout] | [INFO] [stdout] 389 | pub fn assert_immunity( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_critical_hit` is never used [INFO] [stdout] --> tests/utils/assertions.rs:398:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub fn assert_critical_hit( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `repository` is never read [INFO] [stdout] --> tests/utils/framework.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct TapuTestFramework { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 26 | repository: Arc, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_format`, `repository`, and `format` are never used [INFO] [stdout] --> tests/utils/framework.rs:81:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl TapuTestFramework { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn with_format(format: BattleFormat) -> DataResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn repository(&self) -> &GameDataRepository { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn format(&self) -> &BattleFormat { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `MultiPokemon` is never constructed [INFO] [stdout] --> tests/utils/framework.rs:773:5 [INFO] [stdout] | [INFO] [stdout] 771 | pub enum TeamSpec { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 772 | Pokemon(PokemonSpec), [INFO] [stdout] 773 | MultiPokemon(Vec), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TeamSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `nature` is never read [INFO] [stdout] --> tests/utils/framework.rs:784:9 [INFO] [stdout] | [INFO] [stdout] 778 | pub struct PokemonSpec { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 784 | pub nature: Option<&'static str>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PokemonSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SetWeather`, `SetTerrain`, `ApplyStatus`, `SetHP`, and `AddSubstitute` are never constructed [INFO] [stdout] --> tests/utils/framework.rs:811:5 [INFO] [stdout] | [INFO] [stdout] 810 | pub enum SetupAction { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 811 | SetWeather(Weather), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 812 | SetTerrain(Terrain), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 813 | ApplyStatus(BattlePosition, PokemonStatus), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 814 | ModifyStats(BattlePosition, HashMap), [INFO] [stdout] 815 | SetHP(BattlePosition, u16), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 816 | AddSideCondition(SideReference, SideCondition), [INFO] [stdout] 817 | AddSubstitute(BattlePosition, i16), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SetupAction` 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 variants are never constructed [INFO] [stdout] --> tests/utils/framework.rs:823:5 [INFO] [stdout] | [INFO] [stdout] 822 | pub enum ExpectedOutcome { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 823 | Damage(BattlePosition, u16), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 824 | Status(BattlePosition, PokemonStatus), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 825 | StatChange(BattlePosition, Stat, i8), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 826 | WeatherSet(Weather), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 827 | TerrainSet(Terrain), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 828 | SideCondition(SideReference, SideCondition), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 829 | Faint(BattlePosition), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 830 | Switch(BattlePosition, usize), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 831 | NoEffect(BattlePosition), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 832 | Instructions(Vec), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 833 | SubstituteHealth(BattlePosition, i16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 834 | VolatileStatus(BattlePosition, VolatileStatus), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExpectedOutcome` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> tests/utils/framework.rs:840:9 [INFO] [stdout] | [INFO] [stdout] 839 | pub struct BattleTest { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 840 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BattleTest` 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 `is_success` and `failure_message` are never used [INFO] [stdout] --> tests/utils/framework.rs:875:12 [INFO] [stdout] | [INFO] [stdout] 873 | impl TestResult { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 874 | /// Check if the test was successful [INFO] [stdout] 875 | pub fn is_success(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 880 | pub fn failure_message(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> tests/utils/builders.rs:43:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl TestBuilder { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn new_with_format(name: &str, format: BattleFormat) -> DataResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn team_one_multi(mut self, specs: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn team_two_multi(mut self, specs: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn with_weather(self, weather: Weather) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn with_terrain(self, terrain: Terrain) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn with_status(self, position: BattlePosition, status: PokemonStatus) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn with_hp(self, position: BattlePosition, hp: u16) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn with_substitute(self, position: BattlePosition, health: i16) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn turn_two_move(self, move_two: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn turn_moves(self, move_one: &str, move_two: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn expect(mut self, outcome: ExpectedOutcome) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn expect_damage(self, position: BattlePosition, damage: u16) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn expect_status(self, position: BattlePosition, status: PokemonStatus) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn expect_stat_change(self, position: BattlePosition, stat: Stat, change: i8) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn expect_weather(self, weather: Weather) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn expect_terrain(self, terrain: Terrain) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn expect_side_condition(self, side: SideReference, condition: SideCondition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn expect_faint(self, position: BattlePosition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn expect_no_effect(self, position: BattlePosition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn expect_substitute_health(self, position: BattlePosition, health: i16) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn expect_volatile_status(self, position: BattlePosition, status: VolatileStatus) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> tests/utils/builders.rs:291:12 [INFO] [stdout] | [INFO] [stdout] 273 | impl PokemonSpec { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn level(mut self, level: u8) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn item(mut self, item: &'static str) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn move_slot(mut self, move_name: &'static str) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | pub fn nature(mut self, nature: &'static str) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 329 | pub fn evs(mut self, evs: Stats) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 335 | pub fn ev_spread(mut self, hp: u8, atk: u8, def: u8, spa: u8, spd: u8, spe: u8) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 348 | pub fn ivs(mut self, ivs: Stats) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub fn perfect_ivs(mut self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 367 | pub fn status(mut self, status: PokemonStatus) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub fn base_stats_all(mut self, stat_value: u8) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 392 | pub fn types(mut self, type1: &'static str, type2: Option<&'static str>) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 404 | pub fn weight(mut self, _weight_kg: f32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | pub fn max_hp(mut self, max_hp: i16) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestScenarios` is never constructed [INFO] [stdout] --> tests/utils/builders.rs:430:12 [INFO] [stdout] | [INFO] [stdout] 430 | pub struct TestScenarios; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `damage_test`, `status_test`, `ability_test`, and `item_test` are never used [INFO] [stdout] --> tests/utils/builders.rs:434:12 [INFO] [stdout] | [INFO] [stdout] 432 | impl TestScenarios { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] 433 | /// Create a basic damage test scenario [INFO] [stdout] 434 | pub fn damage_test( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 451 | pub fn status_test( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 468 | pub fn ability_test( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 481 | pub fn item_test( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Positions` is never constructed [INFO] [stdout] --> tests/utils/builders.rs:528:12 [INFO] [stdout] | [INFO] [stdout] 528 | pub struct Positions; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `SIDE_ONE_0`, `SIDE_ONE_1`, `SIDE_TWO_0`, and `SIDE_TWO_1` are never used [INFO] [stdout] --> tests/utils/builders.rs:532:15 [INFO] [stdout] | [INFO] [stdout] 530 | impl Positions { [INFO] [stdout] | -------------- associated constants in this implementation [INFO] [stdout] 531 | /// Side one, slot 0 (first Pokemon on side one) [INFO] [stdout] 532 | pub const SIDE_ONE_0: BattlePosition = BattlePosition { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 538 | pub const SIDE_ONE_1: BattlePosition = BattlePosition { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 544 | pub const SIDE_TWO_0: BattlePosition = BattlePosition { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 550 | pub const SIDE_TWO_1: BattlePosition = BattlePosition { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatChanges` is never constructed [INFO] [stdout] --> tests/utils/builders.rs:557:12 [INFO] [stdout] | [INFO] [stdout] 557 | pub struct StatChanges; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `single`, `multiple`, `attack_boost`, `defense_boost`, and `speed_boost` are never used [INFO] [stdout] --> tests/utils/builders.rs:561:12 [INFO] [stdout] | [INFO] [stdout] 559 | impl StatChanges { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 560 | /// Create a single stat change [INFO] [stdout] 561 | pub fn single(stat: Stat, change: i8) -> HashMap { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 568 | pub fn multiple(changes: &[(Stat, i8)]) -> HashMap { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 573 | pub fn attack_boost(change: i8) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 578 | pub fn defense_boost(change: i8) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 583 | pub fn speed_boost(change: i8) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BattleAssertions` is never constructed [INFO] [stdout] --> tests/utils/assertions.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct BattleAssertions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> tests/utils/assertions.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl BattleAssertions { [INFO] [stdout] | --------------------- associated functions in this implementation [INFO] [stdout] 15 | /// Assert that a Pokemon took the expected amount of damage [INFO] [stdout] 16 | pub fn assert_damage( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn assert_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn assert_no_status( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn assert_stat_changes( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn assert_stat_change( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn assert_no_stat_changes( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn assert_fainted( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn assert_not_fainted( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn assert_hp( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn assert_weather( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn assert_terrain( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn assert_side_condition( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn assert_side_condition_value( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn assert_instructions_exact( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn assert_contains_instruction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 295 | pub fn assert_not_contains_instruction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 314 | pub fn assert_total_probability( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_attack_damage` is never used [INFO] [stdout] --> tests/utils/assertions.rs:335:12 [INFO] [stdout] | [INFO] [stdout] 335 | pub fn assert_attack_damage( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_attack_status` is never used [INFO] [stdout] --> tests/utils/assertions.rs:344:12 [INFO] [stdout] | [INFO] [stdout] 344 | pub fn assert_attack_status( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_stat_boost` is never used [INFO] [stdout] --> tests/utils/assertions.rs:353:12 [INFO] [stdout] | [INFO] [stdout] 353 | pub fn assert_stat_boost( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_no_effect` is never used [INFO] [stdout] --> tests/utils/assertions.rs:363:12 [INFO] [stdout] | [INFO] [stdout] 363 | pub fn assert_no_effect( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_immunity` is never used [INFO] [stdout] --> tests/utils/assertions.rs:389:12 [INFO] [stdout] | [INFO] [stdout] 389 | pub fn assert_immunity( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_critical_hit` is never used [INFO] [stdout] --> tests/utils/assertions.rs:398:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub fn assert_critical_hit( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `repository` is never read [INFO] [stdout] --> tests/utils/framework.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct TapuTestFramework { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] 26 | repository: Arc, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_generation`, `with_format`, `repository`, and `format` are never used [INFO] [stdout] --> tests/utils/framework.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl TapuTestFramework { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn with_generation(gen: Generation) -> DataResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn with_format(format: BattleFormat) -> DataResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub fn repository(&self) -> &GameDataRepository { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn format(&self) -> &BattleFormat { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `MultiPokemon` is never constructed [INFO] [stdout] --> tests/utils/framework.rs:773:5 [INFO] [stdout] | [INFO] [stdout] 771 | pub enum TeamSpec { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 772 | Pokemon(PokemonSpec), [INFO] [stdout] 773 | MultiPokemon(Vec), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TeamSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `nature` is never read [INFO] [stdout] --> tests/utils/framework.rs:784:9 [INFO] [stdout] | [INFO] [stdout] 778 | pub struct PokemonSpec { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 784 | pub nature: Option<&'static str>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `PokemonSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `SetTerrain`, `ApplyStatus`, `ModifyStats`, `SetHP`, `AddSideCondition`, and `AddSubstitute` are never constructed [INFO] [stdout] --> tests/utils/framework.rs:812:5 [INFO] [stdout] | [INFO] [stdout] 810 | pub enum SetupAction { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 811 | SetWeather(Weather), [INFO] [stdout] 812 | SetTerrain(Terrain), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 813 | ApplyStatus(BattlePosition, PokemonStatus), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 814 | ModifyStats(BattlePosition, HashMap), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 815 | SetHP(BattlePosition, u16), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 816 | AddSideCondition(SideReference, SideCondition), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 817 | AddSubstitute(BattlePosition, i16), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SetupAction` 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 variants are never constructed [INFO] [stdout] --> tests/utils/framework.rs:823:5 [INFO] [stdout] | [INFO] [stdout] 822 | pub enum ExpectedOutcome { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 823 | Damage(BattlePosition, u16), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 824 | Status(BattlePosition, PokemonStatus), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 825 | StatChange(BattlePosition, Stat, i8), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 826 | WeatherSet(Weather), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 827 | TerrainSet(Terrain), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 828 | SideCondition(SideReference, SideCondition), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 829 | Faint(BattlePosition), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 830 | Switch(BattlePosition, usize), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 831 | NoEffect(BattlePosition), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 832 | Instructions(Vec), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 833 | SubstituteHealth(BattlePosition, i16), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 834 | VolatileStatus(BattlePosition, VolatileStatus), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExpectedOutcome` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `name` is never read [INFO] [stdout] --> tests/utils/framework.rs:840:9 [INFO] [stdout] | [INFO] [stdout] 839 | pub struct BattleTest { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 840 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BattleTest` 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 `is_success` and `failure_message` are never used [INFO] [stdout] --> tests/utils/framework.rs:875:12 [INFO] [stdout] | [INFO] [stdout] 873 | impl TestResult { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 874 | /// Check if the test was successful [INFO] [stdout] 875 | pub fn is_success(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 880 | pub fn failure_message(&self) -> Option<&str> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> tests/utils/builders.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 25 | impl TestBuilder { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn new_with_generation(name: &str, gen: Generation) -> DataResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn new_with_format(name: &str, format: BattleFormat) -> DataResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn team_one_multi(mut self, specs: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn team_two_multi(mut self, specs: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn with_terrain(self, terrain: Terrain) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn with_status(self, position: BattlePosition, status: PokemonStatus) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn with_stat_changes(self, position: BattlePosition, changes: HashMap) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn with_hp(self, position: BattlePosition, hp: u16) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn with_side_condition(self, side: SideReference, condition: SideCondition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn with_substitute(self, position: BattlePosition, health: i16) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | pub fn turn_two_move(self, move_two: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | pub fn turn_moves(self, move_one: &str, move_two: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | pub fn expect(mut self, outcome: ExpectedOutcome) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn expect_damage(self, position: BattlePosition, damage: u16) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn expect_status(self, position: BattlePosition, status: PokemonStatus) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | pub fn expect_stat_change(self, position: BattlePosition, stat: Stat, change: i8) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | pub fn expect_weather(self, weather: Weather) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 174 | pub fn expect_terrain(self, terrain: Terrain) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn expect_side_condition(self, side: SideReference, condition: SideCondition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 184 | pub fn expect_faint(self, position: BattlePosition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | pub fn expect_no_effect(self, position: BattlePosition) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn expect_substitute_health(self, position: BattlePosition, health: i16) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | pub fn expect_volatile_status(self, position: BattlePosition, status: VolatileStatus) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> tests/utils/builders.rs:291:12 [INFO] [stdout] | [INFO] [stdout] 273 | impl PokemonSpec { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn level(mut self, level: u8) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn move_slot(mut self, move_name: &'static str) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | pub fn nature(mut self, nature: &'static str) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 329 | pub fn evs(mut self, evs: Stats) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 348 | pub fn ivs(mut self, ivs: Stats) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 354 | pub fn perfect_ivs(mut self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub fn hp(mut self, hp: u16) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 379 | pub fn base_stats_all(mut self, stat_value: u8) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 392 | pub fn types(mut self, type1: &'static str, type2: Option<&'static str>) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 404 | pub fn weight(mut self, _weight_kg: f32) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 413 | pub fn max_hp(mut self, max_hp: i16) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TestScenarios` is never constructed [INFO] [stdout] --> tests/utils/builders.rs:430:12 [INFO] [stdout] | [INFO] [stdout] 430 | pub struct TestScenarios; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `damage_test`, `status_test`, `ability_test`, and `item_test` are never used [INFO] [stdout] --> tests/utils/builders.rs:434:12 [INFO] [stdout] | [INFO] [stdout] 432 | impl TestScenarios { [INFO] [stdout] | ------------------ associated functions in this implementation [INFO] [stdout] 433 | /// Create a basic damage test scenario [INFO] [stdout] 434 | pub fn damage_test( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 451 | pub fn status_test( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 468 | pub fn ability_test( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 481 | pub fn item_test( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constants `SIDE_ONE_1` and `SIDE_TWO_1` are never used [INFO] [stdout] --> tests/utils/builders.rs:538:15 [INFO] [stdout] | [INFO] [stdout] 530 | impl Positions { [INFO] [stdout] | -------------- associated constants in this implementation [INFO] [stdout] ... [INFO] [stdout] 538 | pub const SIDE_ONE_1: BattlePosition = BattlePosition { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 550 | pub const SIDE_TWO_1: BattlePosition = BattlePosition { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatChanges` is never constructed [INFO] [stdout] --> tests/utils/builders.rs:557:12 [INFO] [stdout] | [INFO] [stdout] 557 | pub struct StatChanges; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `single`, `multiple`, `attack_boost`, `defense_boost`, and `speed_boost` are never used [INFO] [stdout] --> tests/utils/builders.rs:561:12 [INFO] [stdout] | [INFO] [stdout] 559 | impl StatChanges { [INFO] [stdout] | ---------------- associated functions in this implementation [INFO] [stdout] 560 | /// Create a single stat change [INFO] [stdout] 561 | pub fn single(stat: Stat, change: i8) -> HashMap { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 568 | pub fn multiple(changes: &[(Stat, i8)]) -> HashMap { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 573 | pub fn attack_boost(change: i8) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 578 | pub fn defense_boost(change: i8) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 583 | pub fn speed_boost(change: i8) -> HashMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BattleAssertions` is never constructed [INFO] [stdout] --> tests/utils/assertions.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct BattleAssertions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated functions are never used [INFO] [stdout] --> tests/utils/assertions.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl BattleAssertions { [INFO] [stdout] | --------------------- associated functions in this implementation [INFO] [stdout] 15 | /// Assert that a Pokemon took the expected amount of damage [INFO] [stdout] 16 | pub fn assert_damage( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn assert_status( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn assert_no_status( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn assert_stat_changes( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn assert_stat_change( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn assert_no_stat_changes( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 118 | pub fn assert_fainted( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | pub fn assert_not_fainted( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 154 | pub fn assert_hp( [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | pub fn assert_weather( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn assert_terrain( [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | pub fn assert_side_condition( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn assert_side_condition_value( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn assert_instructions_exact( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn assert_contains_instruction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 295 | pub fn assert_not_contains_instruction( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 314 | pub fn assert_total_probability( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_attack_damage` is never used [INFO] [stdout] --> tests/utils/assertions.rs:335:12 [INFO] [stdout] | [INFO] [stdout] 335 | pub fn assert_attack_damage( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_attack_status` is never used [INFO] [stdout] --> tests/utils/assertions.rs:344:12 [INFO] [stdout] | [INFO] [stdout] 344 | pub fn assert_attack_status( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_stat_boost` is never used [INFO] [stdout] --> tests/utils/assertions.rs:353:12 [INFO] [stdout] | [INFO] [stdout] 353 | pub fn assert_stat_boost( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_no_effect` is never used [INFO] [stdout] --> tests/utils/assertions.rs:363:12 [INFO] [stdout] | [INFO] [stdout] 363 | pub fn assert_no_effect( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_immunity` is never used [INFO] [stdout] --> tests/utils/assertions.rs:389:12 [INFO] [stdout] | [INFO] [stdout] 389 | pub fn assert_immunity( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_critical_hit` is never used [INFO] [stdout] --> tests/utils/assertions.rs:398:12 [INFO] [stdout] | [INFO] [stdout] 398 | pub fn assert_critical_hit( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/config.rs:128:23 [INFO] [stdout] | [INFO] [stdout] 128 | .map_err(|e| ConfigError::FileNotFound { path: path.to_path_buf() })?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/config.rs:138:23 [INFO] [stdout] | [INFO] [stdout] 138 | .map_err(|e| ConfigError::FileNotFound { path: path.as_ref().to_path_buf() })?; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `state` [INFO] [stdout] --> src/simulator.rs:391:31 [INFO] [stdout] | [INFO] [stdout] 391 | fn choose_move(&mut self, state: &BattleState, valid_moves: &[usize]) -> usize { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_state` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/builders/battle.rs:229:13 [INFO] [stdout] | [INFO] [stdout] 229 | let mut state = battle.state; [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/builders/team.rs:98:20 [INFO] [stdout] | [INFO] [stdout] 98 | pub fn pokemon(mut self, species: impl Into) -> TeamPokemonContext<'a> { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/builders/team.rs:264:28 [INFO] [stdout] | [INFO] [stdout] 264 | pub fn validate(&self, data: &GameDataRepository) -> Result<(), BuilderError> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/builders/team.rs:370:13 [INFO] [stdout] | [INFO] [stdout] 370 | let mut team_builder = self.finish(); [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `convert_tera_type` is never used [INFO] [stdout] --> src/engine/combat/moves/damage/variable_power.rs:1447:4 [INFO] [stdout] | [INFO] [stdout] 1447 | fn convert_tera_type(tera: crate::core::move_choice::PokemonType) -> PokemonType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_attack_instructions` is never used [INFO] [stdout] --> src/engine/turn.rs:233:4 [INFO] [stdout] | [INFO] [stdout] 233 | fn generate_attack_instructions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_damage_instructions` is never used [INFO] [stdout] --> src/engine/turn.rs:320:4 [INFO] [stdout] | [INFO] [stdout] 320 | fn generate_damage_instructions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `combine_move_instructions` is never used [INFO] [stdout] --> src/engine/turn.rs:505:4 [INFO] [stdout] | [INFO] [stdout] 505 | fn combine_move_instructions( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `determine_move_order` is never used [INFO] [stdout] --> src/engine/turn.rs:646:4 [INFO] [stdout] | [INFO] [stdout] 646 | fn determine_move_order<'a>( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.31s [INFO] running `Command { std: "docker" "inspect" "6400c28c4435149555d8d82c7a314dca0a827b13c70e721593c02c66f0e622e7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6400c28c4435149555d8d82c7a314dca0a827b13c70e721593c02c66f0e622e7", kill_on_drop: false }` [INFO] [stdout] 6400c28c4435149555d8d82c7a314dca0a827b13c70e721593c02c66f0e622e7